工作中做了本方案,本文描述方案的重点以及遇到的问题:
1.NXP lpc17xx的休眠方式选择。
控制器一共有四种睡眠模式:
- 睡眠模式
- 深度睡眠模式
- 掉电模式
- 深度掉电模式
这个方式的选择最后看了两个指标,一个是休眠电流要低,一个是唤醒速度要快,另外我们要记住程序运行中的变量值,综合这几点我们选择深度睡眠模式。
because:
睡眠模式的睡眠电流过高。
掉电模式控制器的flash关闭了,貌似变量值也保证不了不变。
深度睡眠模式,电流在1ma一下,并且flash没有关掉,变量值也保持不变,多美的。
so 义无反顾选择了深度睡眠模式。
2.休眠唤醒方式的选择。
这个我们进行了讨论,讨论供选方案:
- 定时器中断唤醒。
- 看门狗唤醒。
- rtc唤醒。
定时器中断风险最小,定时器专心中断就ok了。
看门狗的超时终端其次,他不借助外部晶振,但还要兼任看门狗自己的职责,比定时器终端略逊一筹。
RTC唤醒是三个中最差的一个,他要基于外边的32.768K晶振工作,然后通过报警中断来唤醒MCU.
BUT,我们最后选的是啥呢:答案竟然是RTC,这是为什么呢?????
because:
这些睡眠模式唤醒都不支持定时器终端唤醒,看来我们想多了,人家不支持。
那看门狗为啥