Протокол SPI (Serial Peripheral Interface) — это синхронный серийный интерфейс, который используется для обмена данными между микроконтроллерами и различными периферийными устройствами. 2
Суть SPI — это архитектура «мастер-слейв», где одно устройство выступает в роли мастера, управляя обменом, а одно или несколько устройств работают как слейвы. 2
Обмен данными происходит по четырём основным линиям: 2
Мастер генерирует сигнал тактовой частоты на линии SCK, определяя темп обмена данными. 2 При этом данные передаются одновременно в обоих направлениях по линиям MOSI и MISO. 2
Каждому слейву присваивается уникальная линия SS, и когда мастер хочет общаться с конкретным слейвом, он активирует его, подавая низкий уровень сигнала на соответствующую линию SS. 2
Передача данных осуществляется пакетами. 3 Длина пакета, как правило, составляет 1 байт (8 бит), но известны реализации SPI с иной длиной пакета, например, 4 бита. 3