SPI, un protocollo di comunicazione seriale sincrono originariamente sviluppato da Motorola (ora Freescale),è diventato onnipresente nei sistemi incorporati per collegare i microcontrollori con periferiche come sensoriLa sua popolarità deriva dalla sua flessibilità, capacità ad alta velocità e semplice implementazione hardware.
Il protocollo SPI standard utilizza quattro linee di segnale primarie:
SPI opera in una configurazione master-slave in cui il master inizia tutte le comunicazioni.L'operazione del protocollo, simile a un registro di cambio, consente il trasferimento simultaneo bidirezionale di dati, anche se le implementazioni pratiche richiedono spesso fasi di comando e dati sequenziali.
I controllori a display implementano comunemente due varianti di SPI: "3-wire SPI" e "4-wire SPI", distinti principalmente dal loro approccio alla differenziazione dei comandi dai dati.
La configurazione tradizionale a 4 fili comprende:
Questa architettura rispecchia i controller di interfaccia parallele che mantenevano registri di comando e dati separati, utilizzando la linea C / D (a volte etichettata A0) per alternare tra loro.
La versione a 3 fili semplificata elimina la linea C/D dedicata, codificando invece queste informazioni all'interno del flusso di dati:
Qui, un bit aggiuntivo (in genere il MSB) indica se la trasmissione contiene comandi (1) o dati (0), creando in modo efficace trasmissioni a 9 bit invece di trasferimenti standard a 8 bit.
Alcuni controller utilizzano la codifica dei dati a 3 fili mentre utilizzano fisicamente quattro fili (aggiungendo MISO per le operazioni di lettura).creazione di comunicazioni bidirezionali su una singola linea di dati.
Mentre l'SPI a 3 fili riduce le connessioni fisiche, la sua lunghezza di trasmissione non standard può complicare le implementazioni di SPI hardware.I processori moderni con controllori SPI flessibili possono ospitare trasferimenti a 9 bit, ma molti sistemi tradizionali trovano l'SPI a 4 fili più semplice da implementare.
L'architettura simile a un registro di cambio di SPI lo rende particolarmente adatto per dispositivi con catena di margherita:
Questo approccio semplifica i sistemi multi-dispositivo, ma introduce una latenza proporzionale alla lunghezza della catena e richiede che tutti i dispositivi supportino la catena di margherita.
La padronanza delle implementazioni SPI è essenziale per gli sviluppatori embedded che lavorano con le tecnologie di visualizzazione.La scelta tra SPI a 3 fili e a 4 fili dipende dalle specifiche capacità hardware e dai requisiti del controllerMentre il 3-wire offre un'economia di connessione, il 4-wire mantiene la compatibilità con l'hardware SPI standard.