SPI: ¿Modo de TI o Motorola?

6

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 establecer en el modo SPI Motorola (0) o en el modo SPI TI (1). (Consulte el manual de referencia ARM página 695 aquí .)

La hoja de datos de SPI Flash (disponible

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

    
pregunta Randomblue

2 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 determina si una señal alta o baja marca un reloj, la fase le indica al dispositivo cuándo debe 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 (ver capítulo 3) admite {CPOL = 0, CPHA = 0} o {CPOL = 1, CPHA = 1}.

Para obtener más información, enlace

    
respondido por el Toby Jaffey
2

Un breve vistazo a la hoja de datos de 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 pulsa alto entre bytes para indicar qué bit de cada byte debe considerarse el primero. En el modo TI, se activa en el nivel alto durante la transmisión del último bit de un byte, mientras que en el modo Motorola pasa a nivel alto y luego baja entre los bytes. El chip flash desea una señal de selección de chip que se mantiene baja durante toda la duración de una transacción, por lo que una salida alta entre bytes no será útil para ella.

Yo esperaría que incluso cuando no se use SSPFSSOUT, el modo Motorola facilitaría la lectura de los datos en un ámbito (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 se perdería en cualquier momento pausando entre bytes). Sin embargo, lo importante es asegurarse de que la secuencia de señales que genera el controlador cumple con los requisitos indicados en la hoja de datos de los periféricos.

    
respondido por el supercat

Lea otras preguntas en las etiquetas