PHPoC предоставляет Serial Peripheral Interface (SPI) как один из методов связи с другим последовательным устройством.
SPI треюуется 4 сигнальные линии между ведущим (master) и ведомым (slave).
Ярлык | Имя | Описание |
---|---|---|
SCK | Serial Clock | часы для синхронизации |
MOSI | Master Output, Slave Input | линия передачи ведущего устройства |
MISO | Master Input, Slave Output | линия передачи ведомого устройства |
SS | Slave Select | линия выбора ведомого устройства |
Три линии ведущего устройства (за исключением SS) обычно подключаются ко всем подчиненным устройствам, в то время как SS отдельно подключается к индивидуальному ведущему. Следовательно мастер, который имеет 3 ведомых устройства, должен иметь по меньшей мере 3 порта SS. Для выбора ведомого устройства, ведущий выводит LOW на линию, которая подключена к ведомому устройству и выведет HIGH на другие линии. Это означает, что одновременно мастер может связываться с одним ведомым. После завершения связи ведущий выдает HIGH на линию.
С соответствии с примерами, имеются 4 режима SPI (0 ~ 3).
Ведущий и ведомый должны быть настроены так, чтобы иметь один и тот же порядок передачи битов. Существуют 2 способа: первый - сначала отправить LSB, а второй - сначала отправить MSB.
Буфер данных ведущего и ведомого устройств имеет тип кольцевого буфера. Таким образом, отправка и прием данных выполняется одновременно. На смехе ниже показан поток данных в случае отправки LSB в первую очередь.