1. 低功耗状态: 低功耗进入休眠后,MCU时钟只有LSI 工作,相关外设进入关闭状态,如果不进行唤醒,烧录不了程序。建议软件在上电前一段时间不进入休眠,以留足时间用于烧录。 2. 外部IO口唤醒注意事项: 08低功耗唤醒源有内部timer唤醒和外部io口唤醒,timer唤醒是不可以关闭的,即使不选择外部io口唤醒源,也会周期性进行唤醒。有效解决办法是在唤醒中断中,进行IO口判断是否为外部IO口唤醒,如果不是IO口电平唤醒,就立刻继续进入休眠。 3. 08MCU低功耗电流曲线如下:供电电源在3.3v~4.3v之间,电流上升缓慢。在4.3~5.0v间,电流上升迅速,这是由于MCU内部在AVDD和GND之前有一串反向二极管用于帮助运放MOS采样时串进来的电流泄放,在供电电源大于4.3v时,二极管会消耗电流。 以下附几个08x型号休眠功耗测试记录
AT086休眠电流 | | AT089XL休眠电流 | | | 样本编号 | 芯片供电电压 | | | 样本编号 | 芯片供电电压 | 芯片端电压 | | INH电平(H/L)(uA) | 编号1 | 外置电源4.98V | 42.2uA | | 编号1 | 外置电源12V | 11.3V | VCC | 90.8 | 90 | 编号2 | 外置电源4.98V | 43.3uA | | | 外置电源12V | 11.3V | VBAT | 38.57 | 38 | 编号3 | 外置电源4.98V | 42.4uA | | | 外置电源12V | 11.3V | VIN | 86 | 0.16 | 编号4 | 外置电源4.98V | 43.3uA | | | | | | | | | | | | 编号1 | 外置电源12V | 11.3V | VCC | 90.07 | 90.7 | 编号1 | 外置电源3.29V | 7.6uA | | | 外置电源12V | 11.3V | VBAT | 38.81 | 38.8 | 编号2 | 外置电源3.29V | 8.5uA | | | 外置电源12V | 11.3V | VIN | 74.5 | 0.2 | 编号3 | 外置电源3.29V | 7.1uA | | | | | | | | 编号4 | 外置电源3.29V | 7.8uA | | 编号1 | 外置电源12V | 11.3V | VCC | 90.3 | 90.2 | | | | | | 外置电源12V | 11.3V | VBAT | 41.4 | 39.9 | | | | | | 外置电源12V | 11.3V | VIN | 72.9 | 0.25 |
| MC086 | MC084D #1 | MC084D #2 | AVDD/V | | 休眠电流/uA | | 3.30 | 12 | 8.6 | 7.8 | 4.50 | 26 | 28 | 25 | 5.00 | 94 | 120 | 108 | 5.20 | 163 | 195 | 185 |
4. 低功耗休眠执行代码:
SYS_CLK_CFG = 0x0000; // shutdown PLL SYS_CLK_SLP = 0xDEAD; __WFI();
5. 如果仅仅执行__WFI(),而不写入睡眠密码,则CPU进入halt状态,wait for interrupt。等待任意使能的中断发生,即被唤醒进入中断处理函数继续执行程序。 此时,系统高速时钟不被关闭,外设时钟也未关闭。可以选择降低芯片主时钟频率,或通过SYS_CLK_CFG=0切换主时钟为HRC来进一步降低WFI休眠时的功耗。 使用HRC作为芯片主时钟,典型的WFI休眠电流如下。
|