Velocidad mínima de ATMega328 con UART

8

Estoy estudiando el diseño de un proyecto de baja potencia que tendrá un ATMega328 funcionando a baja velocidad para reducir el consumo de energía.

El plan actual es tener el UART conectado a un Receptor de enlace RF para la comunicación a 1200baud.

Lo que me pregunto, sin embargo, es cuál es la velocidad mínima para poder ejecutar un ATMega328 en y aún tener un UART de 1200udud funcionando. ¿Es 1MHz lo suficientemente rápido?

    
pregunta robzy

2 respuestas

11

El reloj UART funciona a 16 veces la velocidad en baudios. Por lo que podría salirse con 19,2 kHz. 1 MHz estará bien.

La mayoría de las veces, se ejecutaría a una velocidad de reloj que brinda un divisor conveniente para generar el reloj de velocidad de transmisión de UART y aún es lo suficientemente rápido para cualquier otro procesamiento que necesite realizar. Cada vez que se transmite un byte o paquete a través del UART, ponga la CPU en un modo de bajo consumo y vuelva a despertarse con una interrupción cuando haya más datos listos.

    
respondido por el Clint Lawrence
1

Desde mi observación, no es viable ejecutar ATMega328p por debajo de 1Mhz para ahorrar energía (porque necesitará más tiempo para ejecutar el cálculo). Sin embargo, reducir el voltaje resultará en un alto ahorro de energía. El funcionamiento a 1Mhz y 1.8V consume solo el 1% de la energía si se ejecuta a 16Mhz y 5V. Hice este ATMega328 gráfico de consumo de energía

De acuerdo con este AVR UART Calculator si ejecuta su AVR a 1MHz (velocidad predeterminada sin cristal externo) puede UART hasta 4800

    
respondido por el Cano64

Lea otras preguntas en las etiquetas