¿Cómo podemos encontrar la frecuencia de reloj (SCK) establecida por el maestro desde el esclavo en SPI?

-3

¿Cómo podemos (en software, no sondear utilizando CRO) saber qué frecuencia de reloj aplica el Maestro desde el esclavo (suponiendo que no tengo información previa de esto)?

En general, programo el registro Div_Reg y sé la frecuencia X-Tal / Bus, por lo tanto clock rate = In_CLK/Div_Reg .

    
pregunta b-ak

1 respuesta

1

Si las señales del reloj llegan extremadamente rápido (por ejemplo, 25 MHz), será un desafío realizar cualquier sincronización en el firmware, ya que dos bordes consecutivos de menor a mayor solo estarán separados por 40 ns, y el procesamiento de dos interrupciones en ese tiempo (con la sobrecarga de la interrupción en sí, probablemente guardar y restaurar al menos un registro, además de leer un temporizador y guardarlo, todo en 20 ns) no va a suceder con un Cortex-M3 / M4 (que, hasta Puedo decir, tiene una velocidad de reloj máxima de 180 MHz, por lo que una instrucción toma al menos un 5.5 ns).

Sin embargo, el ARM Cortex-M3 / M4 tiene un coprocesador de temporizador que incluye una sección de captura de entrada. Suponiendo que puede reconfigurar la línea SCK como una entrada y dirigirla a la sección de captura de entrada, debería poder capturar dos bordes sucesivos. (No estoy lo suficientemente familiarizado con la arquitectura ARM Cortex-M3 / M4 para saber si puede enrutar el cable SCK a la entrada de captura de entrada internamente; si no, puede unir los dos cables externamente).

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas