Velocità minima ATMega328 con UART


9

Sto cercando di progettare un progetto a bassa potenza che avrà un ATMega328 a bassa velocità per un consumo di energia inferiore.

Il piano attuale prevede che l'UART sia collegato a un ricevitore RF Link per la comunicazione a 1200 baud.

Quello che mi chiedo, tuttavia, è quale sia la velocità minima a cui posso far funzionare un ATMega328 e avere ancora un UART da 1200 baud in esecuzione. 1MHz è abbastanza veloce?

Risposte:


11

L'orologio UART funziona a 16 volte la velocità di trasmissione. Quindi potresti scappare con 19.2 kHz. 1 MHz andrà bene.

Molto spesso verrai eseguito a una frequenza di clock che offre un comodo divisore per generare il clock di baud rate UART ed è ancora abbastanza più veloce per qualsiasi altra elaborazione che devi eseguire. Ogni volta che un byte o un pacchetto viene trasmesso tramite UART, imposta la CPU in modalità a basso consumo e riattiva in caso di interruzione quando più dati sono pronti.


Penso che la frase "L'orologio UART funziona a 16 volte la velocità di trasmissione" è un po 'fuorviante. Il generatore di baud rate USART funziona sull'orologio di sistema / oscillatore ed è appena prescalato dal valore UBRR. Inoltre, dipende dalla modalità operativa. Il fattore 16 si applica alla "Modalità normale asincrona".
Rev1.0,

1

Dalla mia osservazione non è fattibile eseguire ATMega328p sotto 1Mhz per risparmiare energia (perché sarà necessario più tempo per completare il calcolo). Tuttavia, la riduzione della tensione comporterà un elevato risparmio energetico. Funzionando a 1Mhz e 1.8V consuma solo l'1% di energia se funziona a 16Mhz e 5V. Ho realizzato questo diagramma del consumo di energia ATMega328

Secondo questo calcolatore UART AVR se si esegue l'AVR a 1 MHz (velocità predefinita senza cristallo esterno) è possibile UART fino a 4800

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.