9.1. Общие сведения о протоколе SPI

Интерфейс SPI, разработанный компанией "Моторола", представляет собой полнодуплексный последовательный стандарт связи, который поддерживает одновременный двунаправленный обмен данными между ведущим устройством (мастером)

и одним или несколькими подчиненными. Поскольку протокол SPI не имеет формального стандарта, работа различных устройств SPI может немного отличаться (например, различно число передаваемых в пакете битов или может отсутствовать линия выбора ведомого устройства). Далее рассмотрим общепринятые команды SPI, которые поддерживаются в Arduino IDE.

ВНИМАНИЕ!

Так как техническая реализация протокола SPI может быть разной, необходимо изучать техническое описание, прилагаемое к каждому устройству.

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

В итоге получается, что обмен SPI в общей сложности можно настроить четырьмя способами (табл. 9.1).

Таблица 9.1. Режимы SP/ в Arduino IDE

No

Режим SPI

Полярность синхронизации

Фаза синхронизации

1

Mode O

LOW

По фронту синхросигнала

2

Mode 1

LOW

По спаду синхросигнала

- 188 -

Таблица 9.1 (окончание)

No

Режим SPI

Полярность синхронизации

Фаза синхронизации

3

Mode 2

HIGH

По спаду синхросигнала

4

Mode 3

HIGH

По фронту синхросигнала

Более 800 000 книг и аудиокниг! 📚

Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением

ПОЛУЧИТЬ ПОДАРОК