Интерфейс SPI в микросхемах постоянной памяти работает по принципу «ведущий-подчинённый». 4 В качестве ведущего шины обычно выступает микроконтроллер, а в роли подчинённых — внешние устройства, в том числе микросхемы запоминающих устройств (EEPROM, Flash-память, SRAM). 4
Некоторые особенности работы интерфейса SPI:
- Передача данных осуществляется пакетами. 2 Как правило, длина пакета составляет 1 байт (8 бит), но известны реализации SPI с иной длиной пакета, например, 4 бита. 2
- Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (англ. chip select) на ведомой микросхеме. 23 Периферия, не выбранная процессором, не принимает участия в передаче по SPI. 2
- Установка данных при передаче и выборка при приёме всегда выполняются по противоположным фронтам синхронизации. 34 Это необходимо для гарантирования выборки данных после надёжного их установления. 4
- Возможны четыре варианта логики работы интерфейса SPI, которые описываются двумя параметрами: 35
- CPOL (Clock Polarity) — определяет начальный уровень (полярность) сигнала синхронизации. 3 Если CPOL = 0, то сигнал начинается с низкого уровня, если CPOL = 1 — с высокого. 3
- CPHA (Clock Phase) — определяет, по какому из фронтов синхронизирующего сигнала производить выборку данных. 3 Если CPHA = 0, то выборка производится по переднему фронту, если CPHA = 1 — по заднему. 3
SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором, контроллером). 23