SPI: modalità TI o Motorola?


8

Sto programmando un Cortex M3 bare metal per parlare con SPI Flash. Uno dei bit di configurazione di un registro di controllo SPI èFRF (Formato frame). Può essere impostato sulla modalità SPI Motorola (0) o sulla modalità SPI TI (1). (Vedere il manuale di riferimento ARM pagina 695 qui .)

Il foglio dati di SPI Flash (disponibile qui ) non fornisce indicazioni su quale modalità dovrei usare.

Quali sono le due diverse modalità e quali dovrei usare per il chip Flash specifico che sto usando?

Risposte:


1

Le modalità Motorola e TI si riferiscono a diverse configurazioni di polarità dell'orologio (CPOL) e fase dell'orologio (CPHA). La polarità del clock determina se un segnale alto o basso segna un clock, la fase indica al dispositivo quando campionare la linea di dati.

In base al foglio dati ARM, è possibile impostare CPOL e CPHA per il controller SPI.

Il tuo chip flash (vedi capitolo 3) supporta {CPOL = 0, CPHA = 0} o {CPOL = 1, CPHA = 1}.

Per ulteriori informazioni, http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Clock_polarity_and_phase


Ah grazie! Quindi quale è quale? È {CPOL=0, CPHA=0}Motorola o TI?
Randomblue,

Non riesco a ricordare, o trovare una fonte autorevole.
Toby Jaffey,

1
Ogni volta che ho determinato che @Randomblue è stato con un ambito, trovo molto più facile misurare che guardare.
Kortuk,

1
@Kortuk: Per "ambito" intendi "oscilloscopio", giusto? Sembra abbastanza eccitante, ma non ho mai fatto una cosa del genere prima. Potresti indicare un tutorial di qualche tipo per spiegare come farlo?
Randomblue,

7
Scusa, ma quella risposta è sbagliata. La modalità TI non ha a che fare con la polarità. Per informazioni più dettagliate vai qui: infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0194g/…

4

Un breve sguardo alla scheda tecnica ARM suggerirebbe che la principale differenza tra la modalità TI e la modalità Motorola ha a che fare con la gestione di un segnale di uscita chiamato SSPFSSOUT di cui molti dispositivi semplicemente non hanno bisogno. Questo segnale dovrebbe pulsare in alto tra i byte in modo da indicare quale bit di ciascun byte deve essere considerato il primo. In modalità TI, aumenta durante la trasmissione dell'ultimo bit di un byte, mentre in modalità Motorola passa in alto e poi in basso tra i byte. Il flash chip vuole un segnale di selezione del chip che viene mantenuto basso per l'intera durata di una transazione, quindi un output che va alto tra i byte non sarà utile per questo.

Mi aspetto che anche quando SSPFSSOUT non viene utilizzato, la modalità Motorola semplifichi la lettura dei dati su un ambito (poiché ci sarebbe una pausa dopo ogni byte) ma la modalità TI potrebbe essere più veloce (poiché non perderebbe tempo a mettere in pausa tra byte). Ciò che è importante, tuttavia, è garantire che la sequenza dei segnali generati dal controller soddisfi i requisiti indicati nella scheda tecnica delle periferiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.