¿Estrategia para las velocidades de los relojes periféricos Cortex M0?

1

Estoy empezando a aprender Cortex M y provengo de un fondo de 8 bits.

Tengo mi demo board, destello un LED y obtengo un proyecto funcional de STM32Cube.

Estoy abriéndome camino a través de los registros del sistema, pero ¿estoy un poco atascado sobre qué pensar acerca de las velocidades de reloj para los periféricos? Esto no es realmente una consideración para ningún firmware de 8 bits que he escrito.

Para la arquitectura ARM Cortex M0, ¿cuáles son las principales consideraciones al configurar las velocidades de reloj para los periféricos APB1?

Digamos que ralentizo demasiado mi reloj periférico, ¿qué sucede?

¿Cómo podría calcular la velocidad que deseo para los periféricos?

¿Las velocidades de reloj periféricas representan gran parte del consumo de energía general del sistema?

    
pregunta Leroy105

1 respuesta

2
  

Digo que ralentizo demasiado mi reloj periférico, ¿qué sucede?

Habrá demoras en el acceso a los registros de esos periféricos ya que tiene que esperar por el bus (AHB).

  

¿Cómo podría calcular la velocidad que deseo para los periféricos?

La mayoría de las veces solo corren a toda velocidad. A menos que el presupuesto de energía requiera lo contrario.

  

¿Las velocidades de reloj periféricas representan gran parte del consumo de energía general del sistema?

Eso depende de los periféricos que hayas habilitado. Algunos periféricos tienen hambre, otros no. Esto depende de su complejidad.
La hoja de datos tendrá una tabla con la calificación de los periféricos uA / MHz .
Por ejemplo en el STM32F072:

Mirando a este número puede hacer que decidas eso, cuando solo estás usando un temporizador para generar PWM de 100 Hz para poner ese bus a 1 MHz en lugar de 48 MHz dirigiéndose al núcleo mismo. Y tal vez no utilice TIM1 o TIM2.

Sin embargo, esto afecta a todos los periféricos en ese bus. Incluyendo CAN o UART, y dependiendo de la complejidad del chip las memorias.

No hay mucho que calcular. Tendrá sysclk del PLL y, a partir de ese momento, solo habrá separadores. Encuentre el árbol del reloj en el manual de referencia y juegue con la página de relojes en STMCubeMX.

    
respondido por el Jeroen3

Lea otras preguntas en las etiquetas