Описание интерфейса SPI

Автор работы: Пользователь скрыл имя, 16 Октября 2014 в 19:14, реферат

Краткое описание

Интерфейс SPI - это один из самых популярных на сегодняшний день последовательных интерфейсов. Он был придуман фирмой Motorola и очень быстро завоевал популярность благодаря своей исключительной простоте и высокой скорости. При этом, SPI, наверное, нельзя назвать в полной мере интерфейсом, скорее это просто принцип связи, поскольку всё, что подразумевается под SPI, - это логика передачи данных между двумя устройствами ("Ведущий"-"Ведомый"), физике же уделяется гораздо меньшее внимание, она реализуется, можно сказать, "по обстоятельствам", а никакого протокола нижнего уровня вообще нет, тут каждый производитель придумывает что-то своё.

Вложенные файлы: 1 файл

Описание интерфейса SPI.docx

— 89.30 Кб (Скачать файл)

В обычном режиме используется 7-битная адресация.

Процедура адресации на шине I²C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес «Общего вызова», который адресует все устройства на шине. Когда используется этот адрес, все устройства в теории должны послать сигнал подтверждения. Однако, устройства, которые могут обрабатывать «общий вызов», на практике встречаются редко.

Первые семь битов первого байта образуют адрес ведомого. Восьмой, младший бит, определяет направление пересылки данных. «Ноль» означает, что ведущий будет записывать информацию в выбранного ведомого. «Единица» означает, что ведущий будет считывать информацию из ведомого.

После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.

Адрес ведомого может состоять из фиксированной и программируемой части. Часто случается, что в системе будет несколько однотипных устройств (к примеру ИМС памяти, илидрайверов светодиодных индикаторов), поэтому при помощи программируемой части адреса становится возможным подключить к шине максимально возможное количество таких устройств. Количество программируемых бит в адресе зависит от количества свободных выводов микросхемы. Иногда используется один вывод с аналоговой установкой программируемого диапазона адресов[1]. При этом в зависимости от потенциала на этом адресном выводе ИМС, возможно смещение адресного пространства драйвера так, чтобы однотипные ИМС не конфликтовали между собой на общей шине.

Все специализированные ИМС, поддерживающие работу в стандарте шины I²C, имеют набор фиксированных адресов, перечень которых указан производителем в описаниях контроллеров.

Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.

Как следует из спецификации шины, допускаются как простые форматы обмена, так и комбинированные, когда в промежутке от состояния СТАРТ до состояния СТОП ведущий и ведомый могут выступать и как приемник, и как передатчик данных. Комбинированные форматы могут быть использованы, например, для управления последовательной памятью.

Во время первого байта данных можно передавать адрес в памяти, который записывается во внутренний регистр-защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти. Все решения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ, принимаются конструктором конкретного устройства. Поэтому, в любом случае лучший способ избежать неконтролируемой ситуации на шине перед использованием новой (или ранее не используемой) ИМС следует тщательно изучить ее описание (datasheet или reference manual), получив его с сайта производителя. Более того, производители часто размещают рядом более подробные инструкции по применению.

В любом случае, по спецификации шины все разрабатываемые устройства должны сбрасывать логику шины при получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приему адреса.

Тем не менее основные проблемы с использованием I²C шины возникают именно из-за того, что разработчики, «начинающие» работать с I²C шиной не учитывают того факта, что ведущий (часто — микропроцессор) не имеет монопольного права ни на одну из линий шины.

I²C является основой ACCESS.bus, дисплейного интерфейсного канала данных (DDC) VESA, шины управления системными функциями SMBus, шины интеллектуального управления системой IPMB (вариант протокола IPMI). В этих технологиях возможно использование различных напряжений, частоты тактирования и наличия линий прерываний.

TWI (Two Wire Interface) или TWSI (Two Wire Serial Interface) по сути та же самая шина I²C, но использует другое название по лицензионным причинам (патенты на I²C уже отменены, 1 октября 2006 года отменены лицензионные отчисления за использование протокола I²C. Однако, отчисления сохраняются для выделения эксклюзивного подчинённого адреса на шине I²C.)

 

 

Шины

Компьютерная ши́на (от англ. computer bus) — в архитектуре компьютера подсистема, которая передаёт данные между функциональными блоками компьютера. В связи с этим разделяется механический, электрический (физический) и логический (управляющий) уровни.

В отличие от связи точка-точка, обычно к шине можно подключить несколько устройств по одному набору проводников. Каждая шина определяет свой набор коннекторов (соединений) для физического подключения устройств, карт и кабелей.

Компьютерные шины ранних вычислительных машин представляли собой жгуты (пучки соединительных проводов — сигнальных и питания, для компактности и удобства обслуживания увязанных вместе) реализующие параллельные электрические шины с несколькими подключениями. В современных вычислительных системах данный термин используется для любых физических механизмов, предоставляющих такую же логическую функциональность, как параллельные компьютерные шины.

Современные компьютерные шины используют как параллельные, так и последовательные соединения и могут иметь параллельные (англ. multidrop) и цепные (англ. daisy chain) топологии. В случае USB и некоторых других шин могут также использоваться хабы (концентраторы).

Некоторые виды скоростных шин (Fibre Channel, InfiniBand, скоростной Ethernet, SDH) для передачи сигналов используют не электрические соединения, а оптические.

Присоединители к шине, разнообразные разъёмы, как правило унифицированы и позволяют подключить различные устройства к шине.

Управление передачей по шине реализуется как на уровне прохождения сигнала (мультиплексоры, демультиплексоры, буферы, регистры, шинные формирователи), как и со стороныядра операционной системы — в таком случае в его состав входит соответствующий драйвер.

 


Информация о работе Описание интерфейса SPI