SPI nei PIC - 2




Collegamento SPI 

Una tipica connessione SPI realizzata mediante micro che dispongono del modulo SSP e' mostrata in figura 2..

Fig. 2: tipica connessione SPI tra mcu con il modulo SSP

I dati di uscita da MASTER sono presenti sulla linea SDO mentre i dati in ingresso al MASTER sono presenti sulla linea SDI. Il segnale di clock, generato dal MASTER, e' presente sulla linea SCK. La linea SS permette al MASTER di indirizzare un determinato dispositivo SLAVE  se pių dispositivi SLAVE sono connessi al bus: solo il dispositivo SLAVE con il segnale SS basso e' coinvolto nella comunicazione mentre i rimanenti SLAVE con il segnale SS alto non sono interessati allo scambio di dati.

IL MODULO SSP

Nei dispositivi PIC č presente un modulo hardware, chiamato SSP o MSSP, che permette di implementare il protocollo SPI e I2C. Essendo sia l' SPI e l' I2C  entrambi protocolli seriali sincroni la sigla SSP (Synchronous Serial Port) ovvero porta seriale sincroni  vale per entrambi.  La lettera M presente nell'acronimo MSSP sta per MASTER e si riferisce all' I2C e non riguarda le prestazioni del protocollo SPI, per cui per l' SPI si possono usare entrambi i moduli SSP o MSSP.
Come si vede dalla figura 2 essenzialmente il modulo SSP nella configurazione SPI utilizza alcuni registri interni dedicati e un blocco di controllo. Questo blocchetto, denominato CONTROL ha funzioni diverse a seconda della natura del dispositivo: nel caso del dispositivo MASTER genera e  trasmette il clock sulla linea SCK e attiva il segnale SS in base al codice: SS e' messo basso ( attivo basso) durante il trasferimento ed e' riportato al livello alto alla fine della stessa. Nel caso di un dispositivo SLAVE il blocco CONTROL riceve i segnali  SCK e SS inviati dal MASTER e li usa per processare i dati SPI presenti sulla linea SDI .