SPI

SPI (Serial Peripheral Interface) to szybki, synchroniczny protokół komunikacyjny, wykorzystywany do przesyłania danych między mikrokontrolerami a urządzeniami peryferyjnymi na krótkie odległości. Wykorzystuje cztery główne linie:

  1. MOSI (Master Out Slave In) – linia danych wysyłanych od mastera do slave’a.
  2. MISO (Master In Slave Out) – linia danych zwrotnych od slave’a do mastera.
  3. SCK (Serial Clock) – sygnał zegarowy generowany przez mastera.
  4. SS/CS (Slave Select/Chip Select) – linia wyboru urządzenia slave (aktywna w stanie niskim).

W SPI dane są przesyłane bit po bicie, a komunikacja odbywa się w pełnym dupleksie (jednoczesna transmisja i odbiór). Może pracować z jednym lub wieloma urządzeniami slave, gdzie każde ma swój własny pin CS. Standardowe prędkości transmisji wynoszą od kilku kHz do kilkudziesięciu MHz, co sprawia, że SPI jest znacznie szybszy niż I²C. Jest szeroko stosowany w wyświetlaczach TFT, kartach SD, pamięciach FLASH, przetwornikach ADC/DAC i czujnikach. W porównaniu do I²C, wymaga większej liczby przewodów, ale zapewnia wyższą prędkość i stabilność transmisji. Popularny w systemach Arduino, ESP32, STM32 oraz w urządzeniach wbudowanych wymagających szybkiej komunikacji.