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 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК