SPI (Serial Peripheral Interface) - 2






Trasmissione dati

Per iniziare la comunicazione SPI, il master deve inviare il segnale di clock sulla line SCK e selezionare lo slave abilitando il segnale CS. Di solito il chip select è un segnale attivo basso (Low Level)  quindi, il master deve inviare uno  0 logico su questo linea per selezionare lo slave. Essndo la interfaccia  SPI un'interfaccia full-duplex ovvero  sia master che slave possono inviare dati allo stesso tempo tramite le linee MOSI e MISO rispettivamente. Durante la comunicazione SPI, i dati vengono trasmessi simultaneamente (spostati in serie sul bus MOSI / SDO) e ricevuti (i dati sul bus (MISO / SDI) sono campionato o letto). Il fronte del clock seriale sincronizza lo spostamento e campionamento dei dati. L'interfaccia SPI offre all'utente flessibilità selezionare il fronte di salita o di discesa dell'orologio per campionare e / o spostare i dati.

 

Clock Polarity e Clock Phase

In SPI, il master può selezionare la polarità dell'orologio e la fase di clock. Il CPOL bit imposta la polarità del segnale di clock durante lo stato di riposo. Lo stato di inattività è definito come il periodo in cui CS è alto e in transizione verso il basso all'inizio della trasmissione e quando CS è basso e la transizione verso l'alto al fine della trasmissione. Il bit CPHA seleziona la fase di clock. Dipendente sul bit CPHA, il fronte di salita o discesa del clock viene utilizzato per campionare e / o sposta i dati. Il master deve selezionare la polarità del clock e la fase di clock, secondo il requisito dello slave. A seconda del bit CPOL e CPHA selezione, sono disponibili quattro modalità SPI. La Tabella 1 mostra le quattro modalità SPI.

 

SPI mode CPOL
CPHA
CLOCK IDLE STATE
SAMPLE AND SHIFT OUT DARA MODE
0
0
0
LOW

1
0
1
LOW
2
1
1
LOW
3
1
0
LOW
 

Tabella 1. Modalità SPI con CPOL e CPHA

Le figure da 2 a 5 mostrano un esempio di comunicazione in quattro SPI modalità. In questi esempi, i dati sono mostrati sulla linea MOSI e MISO. L'inizio e la fine della trasmissione sono indicati dalla linea verde tratteggiata, la il bordo di campionamento è indicato in arancione e il bordo mobile è indicato in blu. Si prega di notare che queste cifre sono solo a scopo illustrativo. Per comunicazioni SPI di successo, gli utenti devono fare riferimento ai dati del prodotto foglio e assicurarsi che le specifiche di temporizzazione per la parte siano soddisfatte.

 microst.it

Figura 2. Modalità SPI 0, CPOL = 0, CPHA = 0: stato inattivo CLK = basso, dati campionati sul fronte di salita e spostati sul fronte di discesa.

 microst.it

Figura 3. Modalità SPI 1, CPOL = 0, CPHA = 1: stato inattivo CLK = basso, dati campionati sul fronte di discesa e spostati sul fronte di salita.

 microst.it

Figura 4. Modalità SPI 2, CPOL = 1, CPHA = 1: stato inattivo CLK = alto, dati campionati sul fronte di discesa e spostati sul fronte di salita.

 microst.it

Figura 5. Modalità SPI 3, CPOL = 1, CPHA = 0: stato inattivo CLK = alto, dati campionati sul fronte di salita e spostati sul fronte di discesa.

 

La figura 3 mostra il diagramma temporale per la modalità SPI 1. In questa modalità, orologio polarizzato è 0, che indica che lo stato di inattività del segnale di clock è basso. L'orologio fase in questa modalità è 1, che indica che i dati sono campionati su

fronte di discesa (indicato dalla linea tratteggiata arancione) e i dati vengono spostati sul fronte di salita (indicato dalla linea blu tratteggiata) del segnale di clock.

La figura 4 mostra il diagramma temporale per la modalità SPI 2. In questa modalità, l'orologio la polarità è 1, che indica che lo stato di inattività del segnale di clock è alto. Il

la fase di clock in questa modalità è 1, che indica che i dati sono campionati il fronte di discesa (indicato dalla linea tratteggiata arancione) e i dati vengono spostati il fronte di salita (indicato dalla linea blu tratteggiata) del segnale di clock.

La figura 5 mostra il diagramma temporale per la modalità SPI 3. In questa modalità, l'orologio la polarità è 1, che indica che lo stato di inattività del segnale di clock è alto.

La fase di clock in questa modalità è 0, che indica che i dati sono campionati sul fronte di salita (indicato dalla linea tratteggiata arancione) e i dati vengono spostati sul fronte di discesa (indicato dalla linea tratteggiata blu) del segnale di clock.