Articoli
I bus seriali sono sempre stati preferiti ai bus paralleli, a causa della maggior semplicità di collegamento e minore presenza di fenomeni di diafonia tra i fili per lunghi collegamenti. All'aumentare dell'efficienza dei bus seriali, il vantaggio in velocità dei bus paralleli diventa sempre meno significativo; oggi i dispositivi basati su interfacce SPI possono funzionare a frequenze di svariati Megahertz.
Il nome SPI, Serial Peripheral Interface, fu coniato da Motorola. La stessa interfaccia è anche conosciuta come Microwire, marchio registrato da National Semiconductor. Esistono anche le estensioni QSPI (Queued SPI) e MicrowirePLUS.
La popolarità dei bus seriali è ulteriormente indicata dalla diffusione di altre interfacce come I2C, CAN o il più conosciuto USB.
L’interfaccia SPI è utilizzata principalmente per consentire una comunicazione seriale sincrona tra un processore principale e delle periferiche. E’ comunque possibile una connessione SPI tra due processori.
L’interfaccia SPI prevede due possibili configurazioni, Master e Slave.
La configurazione standard di una periferica, o Slave, prevede due linee di controllo e due linee dati. In una configurazione a cascata, l’uscita SDO diventa l’ingresso SDI del dispositivo successivo.

Figura 1 – Dispositivo in configurazione Slave
Il dispositivo Master fornisce un segnale di clock (SCKL) e attiva tramite i segnali CHIP SELECT i dispositivi con cui vuole comunicare. Tutto ciò comporta che ci sia un solo master, inoltre il numero degli Slave è limitato solo dal numero di uscite di selezione disponibili sul Master.
Un dispositivo SPI in configurazione Slave può essere visto come uno shift register: i dati vengono inseriti in modo seriale nel dispositivo e vengono processati in modo parallelo al suo interno. Un punto importante è rappresentato dal fatto che la lunghezza dello shift register non è prefissata ma può variare da dispositivo a dispositivo. Normalmente è pari a 8 bit o suoi multipli interi. Esistono anche registri con numero dispari di bit.
Se un dispositivo SPI non è selezionato, quindi il suo ingresso CS non è attivo, l’uscita SDO viene posta in uno stato di alta impedenza, per non interferire con l’uscita fornita da un altro dispositivo potenzialmente attivato. Se si utilizza una configurazione a cascata degli Slave, questi sono visti come un unico dispositivo e connessi alla stessa linea di attivazione.

Figura 2 – Connessione di Slave in cascata
Se occorre una connessione di Slave indipendenti si procede in modo diverso, fornendo una linea di attivazione dedicata per ogni dispositivo. Si sfrutta poi la condizione di alta impedenza in uscita dei dispositivi disattivati, e si connettono tutte le uscite degli Slave al master.

Figura 3 – Master connesso a slave indipendenti
E’ anche possibile connettere due microcontrollori via SPI, e formare una rete con due possibili varianti. Nella prima un solo microcontrollore ha il controllo della rete e l’altro microcontrollore è visto come Slave; questo modo di funzionamento, che è quello normalmente utilizzato, è anche detto "single-master protocol". Nella seconda variante ogni microcontrollore può ricoprire il ruolo di Master e in questo caso si parla di "multi-master protocol".
Anche per la selezione degli Slave sarebbero possibili due versioni, ma con la complicazione che una è realizzabile in hardware, grazie alle connessioni CS (Chip Select), l’altra via software, utilizzando per esempio in numero identificativo per ogni Slave in testa ad ogni dato inviato.
Risorse
La sezione Analisi e matematica contiene nozioni basilari e avanzate per capire le ragioni della maggior parte dei processi e dei concetti ingegneristici. Gli integrali doppi e tripli, per esempio, per spiegare tutti i campi elettromagnetici
La sezione Statistica e ottimizzazione include una introduzione sui teoremi di base della statistica e probabilità, inoltre i metodi decisionali e la minimizzazione di funzioni
La sezione Elettronica analogica
La sezione Elettronica Digitale
La sezione Programmazione
La sezione Economia.