Consumo de corriente en MCU

3

Estoy utilizando MCU STM32F051 en mi proyecto. El requisito del sistema es el consumo mínimo de corriente. Las señales que estoy procesando son de muy baja frecuencia (casi DC) Disminuyo la frecuencia del sistema de 48 MHz a 8 MHz (desactivo PLL) y apenas veo una disminución en la corriente de mi placa. Aproximadamente 5 mA de disminución. En la hoja de datos hablan de ~ 25 mA de disminución comparando 48 MHz a 8 MHz. ¿Sabes por qué?

Estoy usando GPIO, 3 temporizadores, UART y ADC (3 canales)

    
pregunta Daniel_ee571

3 respuestas

4

Estoy usando el F051 en dos proyectos y encontré que los valores de la hoja de datos son bastante precisos, aunque no he hecho una inspección completa como hice con otros micros.

Mis puntos de muestra son muy limitados, pero se tomaron con un conjunto mínimo de periféricos activos (suma de Ivdd e Ivdda):

  • Usando el oscilador interno:
    • 1 MHz: 0,96 mA
    • 0.5 MHz: 0.75 mA
  • HSE en bypass:
    • 1 MHz: 0.79 mA
    • 0.5 MHz: 0.54 mA

Y los valores en la hoja de datos están muy cerca de eso. Es un poco complicado encontrar los valores que son realistas, pero la tabla de valores típicos en el modo de ejecución con procesamiento de datos desde flash es bastante útil:

Entonces, este le dice que con los dispositivos periféricos deshabilitados (que están cerca de su caso de uso) obtendría alrededor de 8 mA al reducir la frecuencia de 48 MHz a 8 MHz.

El ADC es un componente de desperdicio que no estoy seguro de cómo se escala con la frecuencia, pero sospecho que no es muy bueno.

    
respondido por el Arsenal
2

Debería ver una caída de 17 mA al cambiar a 8 Mhz.

La hoja de datos especifica 22 mA a 48MHz con PLL y todos los periféricos habilitados (pero no en uso). Y 4.4 mA a 8 Mhz con PLL deshabilitado y todos los periféricos habilitados.
Esto tampoco está teniendo en cuenta ninguna corriente utilizada por el ADC / DAC o GPIO.

Cualquier GPIO pull-up / down o controlado debe agregarse a esto. Las muestras del ADC y la carga en el DAC también se deben agregar a esto.

    
respondido por el Jeroen3
2

Incluso si uso mi MCU a una frecuencia de reloj de 1 Hz (¡eso es muy lento!) pero conecto un resistor + LED a GND a una de las salidas y enciendo el LED, puedo hacer el uso de configuración, digamos 10 mA . Apaga el LED y consume 1 uA.

Mi punto es: el consumo de corriente de cualquier MCU no solo depende de la frecuencia de reloj que usa, sino también de lo que está conectado a las salidas. Si una salida tiene que entregar la corriente (como en mi ejemplo de LED anterior), verá esa corriente nuevamente en la corriente de suministro.

También una MCU en espera consumirá mucha menos corriente que la misma MCU que ejecuta algunos cálculos pesados.

Debes determinar dónde se consume la corriente. Apague tantos bloques como sea posible y vuelva a encenderlos uno por uno para determinar qué bloque consume cuánto.

También tenga en cuenta que el consumo actual puede variar mucho, la mayoría de los productos de bajo consumo de energía dependen de un ciclo de trabajo bajo. Supongamos que una MCU consume 10 mA cuando está activa, pero solo está activa durante 1 segundo cada 5 minutos. Entonces, el promedio actual es:

1 segundo / (5 x 60 segundos) * 10 mA = 1/300 * 10 mA = 33 uA

Esa es la corriente promedio, de modo que cuando se ejecuta con una batería, la batería podría durar muchos meses (dependiendo de la batería, por supuesto).

    
respondido por el Bimpelrekkie

Lea otras preguntas en las etiquetas