UART的最低ATMega328速度


9

我正在设计一个低功耗项目,该项目将使ATMega328低速运行以降低功耗。

当前的计划是将UART连接到RF Link接收器,以1200baud的速率进行通信。

不过,我想知道的是,我能以最低速度运行ATMega328,但仍能运行1200baud UART。1MHz足够快吗?

Answers:


11

UART时钟以波特率的16倍运行。因此,您可能可以摆脱19.2 kHz的干扰。1 MHz可以。

大多数情况下,您将以一个时钟速率运行,该时钟速率可提供一个方便的分频器来生成UART波特率时钟,并且仍然足够快以完成您需要完成的任何其他处理。每次通过UART发送字节或数据包时,将CPU置于低功耗模式,并在更多数据就绪时在中断中再次唤醒。


我认为“ UART时钟以波特率的16倍运行”这句话有点误导。USART波特率发生器以系统/振荡器时钟运行,并仅通过UBRR值进行预分频。另外,它取决于操作模式。因子16适用于“异步普通模式”。
Rev1.0

1

根据我的观察,在低于1Mhz的频率下运行ATMega328p以节省功耗是不可行的(因为您将需要更多时间才能完成计算)。但是,降低电压将节省大量电能。如果以16Mhz和5V运行,则以1Mhz和1.8V运行仅消耗1%的功率。我制作了这张ATMega328功耗图表

根据此AVR UART计算器,如果您以1MHz运行AVR(默认速度,不带外部晶振),则UART最高可达4800

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.