Enfriando una MCU para mejorar el rendimiento

2

Como parte de un proyecto en curso de computadoras ejecutadas por microcontroladores, uno de mis modelos de escritorio hará overclocking su MCU principal más allá de la frecuencia operativa recomendada, ya que el primer modelo no es muy rápido. Estoy pensando en usar un Cortex M0 overclockeado a unos 100MHz, en comparación con los 50MHz recomendados. Sé que las CPU tradicionales funcionan más rápido a temperaturas más bajas, por lo que ¿enfriar el M0 a temperaturas bajo cero usando un módulo termoeléctrico me permitiría hacer overclock a lo que quiero? Además, me gustaría saber qué piensa acerca de la estabilidad a estas velocidades.

    
pregunta Jaca

2 respuestas

5

Este blog describe un overclock STM32F103 experimental de un STM32F103 de 72MHz (Cortex-M3) a 128MHz .

Incluye el código fuente de C para reconfigurar el reloj.

Uno de los comentarios del blog afirma un 72MHz STM32F107 fue overclockeado accidentalmente a 225MHz y trabajó con PWM, ADC y UART.

Otro comentario afirma un 24MHz STM32F100 era Overclockeado exitosamente a 64MHz 2.67x overclock.

Luego, esta publicación del foro describe la reproducción de los resultados de los resultados experimentales en un overclocked Maple STM32F103 , nuevamente 72MHz overclockeado a 128MHz.

Que 128MHz se debe al limitado multiplicador PLL del cristal principal, que es un máximo de 16. Por lo tanto, un cristal de 8MHz solo se podría multiplicar hasta 128MHz. Un STM32F103 puede operar con un cristal de 16 MHz, por lo que teóricamente permitiría aplicar un multiplicador de 16 a 16 MHz, lo que permite explorar un techo de 256 MHz.

Un punto importante es que algunos periféricos y autobuses no pueden mantenerse al día.

Uno de los autores advierte que podría no haber suficiente flexibilidad para configurar los divisores de reloj de los buses y periféricos para que funcionen con un reloj del sistema con overclocking. Para ser justos, ninguno de los autores persiguió esto lo suficiente como para completar todos los detalles. En mi humilde opinión, muchos periféricos parecen tener suficiente flexibilidad para trabajar en un STM32, aunque el USB es un problema en algunas de las partes más antiguas.

NB: estas eran piezas en inventario, sin enfriamiento adicional, o con voltajes de suministro más altos.

Además del Cortex-M0 de ST, también vale la pena explorar el STM32F3 de 72MHz. Tiene la misma CPU Cortex-M4 (FPU de hardware, extensiones DSP) que el STM32F4, que se especifican para funcionar hasta 180MHz. Tal vez un STM32F3 podría usar el mismo diseño y geometría de CPU?

Es posible que tenga que buscar en la web para localizar a las MCU más "overclockable", pero STM32F parece funcionar.

Editar:
Podría obtener un Núcleo STM32 (aproximadamente $ 11), que también es un mbed. mbed es un compilador IDE y C ++ alojado en la nube, por lo que no necesitarías instalar nada para probar esto. Podría tomar una tarde, y tendría el núcleo de una respuesta.

    
respondido por el gbulmer
6

Hay una diferencia muy significativa en la forma en que se diseñan las MCU y en el diseño de las CPU de escritorio. Las CPU de escritorio son lo que se conoce como 'térmico limitado', su rendimiento está limitado por la cantidad de calor que se produce. Si mantiene constante la temperatura del troquel mientras aumenta el voltaje y la frecuencia de reloj, es posible obtener un rendimiento significativamente mayor del chip, ya que todavía hay un margen de tiempo disponible.

Sin embargo, las MCU de baja potencia son una bestia diferente. Por lo general, están diseñados para una operación de baja potencia. Los circuitos en el interior están construidos con transistores y cables más grandes, y están sintonizados para funcionar hasta la frecuencia de diseño y, al mismo tiempo, consumen la menor cantidad de energía posible al cambiar el margen de tiempo por el consumo de energía. Debido a esto, hay una ventaja muy pequeña para el enfriamiento activo de una MCU. Es posible que obtengas un pequeño aumento si aumentas el voltaje, pero dudo que puedas llegar a un overclock 2x sin mayores problemas de estabilidad.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas