Назад в библиотеку

Что такое SPI-интерфейс

Автор: Южная Ксения
Источник: http://fb.ru/article/125219/chto-takoe-spi-interfeys#image309343

Аннотация

Южная Ксения Что такое SPI-интерфейс
В статье описано устройство и интерфейс SPI

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

Рисунок 1 – Логика передачи данных по SPI

Рисунок 1 – Логика передачи данных по SPI

SPI-интерфейс: описание

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

Рисунок 2 – Устройство интерфейса SPI

Рисунок 2 – Устройство интерфейса SPI

Описание работы устройства

Прибор, генерирующий синхроимпульсы (управляющий) на шину тактирования, является ведущим (мастер). Такое устройство осуществляет управление всем процессом обмена данными, то есть определяет, когда начать обмен, когда закончить, сколько бит информации передать и т. д. Второй прибор, участвующий в обмене, называется ведомым. Это устройство никаким образом не влияет на шину тактирования. Для полнодуплексного обмена (передача в обе стороны одновременно) SPI-интерфейс использует четыре линии:

  1. MOSI – выход ведущего и вход ведомого. По этой линии происходит передача информации от главного устройства к приемному.
  2. MISO – вход ведущего и выход ведомого. По этому проводу мастер принимает данные от вспомогательного прибора.
  3. SCLK – шина тактирования. По этой линии ведущее устройство генерирует синхроимпульсы.
  4. SS – выбор ведомого. С помощью этого провода мастер управляет сеансом обмена.

На рисунке 3 показано подключение устройств к шине SPI.

Рисунок 3 – Подключение устройств к шине SPI

Рисунок 3 – Подключение устройств к шине SPI

Уровни логического нуля и единицы кодируются величиной напряжения на шине данных (MISO и MOSI). Сигнал SS обозначает конец и начало сеанса обмена информацией. Чаще всего он инверсный. Это значит, что во время обмена данными ведущее устройство должно установить на линии SS сигнал низкого уровня, а по окончании обмена – высокого. Наличие уровня SS позволяет организовать передачу по нескольким ведомым приборам, используя один синхронизирующий сигнал и одну шину данных без дополнительных протоколов. Правда, при таком подключении необходимо подводить от каждого приемного устройства отдельную линию SS.