SPI: ¿modo TI o Motorola?


8

Estoy programando un Cortex M3 bare-metal para hablar con SPI Flash. Uno de los bits de configuración de un registro de control SPI es FRF(formato de trama). Se puede configurar en modo SPI Motorola (0) o en modo SPI TI (1). (Vea el manual de referencia ARM página 695 aquí .)

La hoja de datos del SPI Flash (disponible aquí ) no da indicaciones sobre qué modo debo usar.

¿Cuáles son los dos modos diferentes y cuál debo usar para el chip Flash específico que estoy usando?

Respuestas:


1

El modo Motorola y TI se refieren a diferentes configuraciones de polaridad de reloj (CPOL) y fase de reloj (CPHA). La polaridad del reloj dicta si una señal alta o baja marca un reloj, la fase le dice al dispositivo cuándo muestrear la línea de datos.

De acuerdo con su hoja de datos ARM, puede configurar CPOL y CPHA para su controlador SPI.

Su chip flash (consulte el capítulo 3) admite {CPOL = 0, CPHA = 0} o {CPOL = 1, CPHA = 1}.

Para obtener más información, http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Clock_polarity_and_phase


Ajá, gracias! Entonces, ¿cuál es cuál? ¿Es {CPOL=0, CPHA=0}Motorola o TI?
Randomblue

No puedo recordar, o encontrar una fuente autorizada.
Toby Jaffey

1
Cada vez que he determinado que @Randomblue ha tenido un alcance, me resulta mucho más fácil medir que mirar hacia arriba.
Kortuk

1
@Kortuk: Por "alcance" te refieres a "osciloscopio", ¿verdad? Eso suena bastante emocionante, pero nunca antes había hecho algo así. ¿Podría señalar un tutorial de algún tipo que explique cómo hacer esto?
Randomblue

77
Lo siento, pero esa respuesta es incorrecta. El modo TI no tiene que ver con la polaridad. Para obtener información más detallada, vaya aquí: infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0194g/…

4

Un breve vistazo a la hoja de datos ARM sugiere que la principal diferencia entre el modo TI y el modo Motorola tiene que ver con el manejo de una señal de salida llamada SSPFSSOUT que muchos dispositivos simplemente no necesitan. Se supone que esta señal tiene un pulso alto entre bytes para indicar qué bit de cada byte debe considerarse el primero. En el modo TI, sube durante la transmisión del último bit de un byte, mientras que en el modo Motorola sube y baja entre bytes. El chip flash desea una señal de selección de chip que se mantenga baja durante toda la duración de una transacción, por lo que una salida que sea alta entre bytes no será útil.

Esperaría que incluso cuando no se usa SSPFSSOUT, el modo Motorola haría que los datos fueran más fáciles de leer en un osciloscopio (ya que habría una pausa después de cada byte), pero el modo TI podría ser más rápido (ya que no perdería tiempo haciendo una pausa entre bytes). Sin embargo, lo importante es garantizar que la secuencia de señales que genera el controlador cumpla con los requisitos establecidos en la hoja de datos de los periféricos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.