熊宝宝 发表于 2023-4-18 11:54:39

8A8K64D4单片机掉电模式

      因为客户惯常理解的为休眠模式,所以后面统一称掉电模式为休眠模式。
      最近做一个电池供电项目,要求使用寿命5年,平均功耗要低于400ua,由于所以希望休眠电流小于100ua,但是测试之后休眠电流一直600ua左右。
      使用的资源是是串口*3,中断*1,ADC*1,定时器*1(1ms),I2C*1,内部高精度晶振设定为11.0592M,唤醒定时器1s(测试时为了测量电流准确,延长这个时间到10s),看门狗1s
      为了查清漏电部分在哪里,拿了一块空板子,只上了单片机和必要的电源,主串口的接线(后面称这个板子为B板),600ua,心中还窃喜,是单片机的问题就好解决了,那不就是软件的问题嘛。后面尝试关闭各种功能,试到关闭AD时,休眠电流降到40ua,于是将软件改成读AD前打开AD电源,读完立刻关掉虽然读AD的过程多了2ms但是可以接受。
   于是反复测试,测试测试休眠电流有时候又会变成70ua,十分奇怪,然后突然有一次就不休眠了,于是加了一个指示灯,休眠时关指示灯,能发现指示灯闪烁,说明不是没休眠,而是休眠后很快就唤醒了。想到这是一块光秃秃只有单片机的板子,有些管脚是floating的甚至跟着软件的进度还有I/O变化,可能这个过程中产生干扰?
      本着不求甚解的人生态度,我决定先放弃这块板,用回之前的完整线路板(起个可可爱爱的名字叫A板),反正关了AD问题就解决一大部分了。但是,事实证明我还是太天真了,关闭AD后,完整线路板的电流还是600ua,而且休眠时真休眠了,足足睡到唤醒定时器唤醒它,于是又反复的尝试开关AD,休眠电流岿然不动,稳定的很,崩溃ing。
      有没有大神碰到过类似的问题?求助~TT
      1:为什么会在没有触发的情况下唤醒,而且在我关掉所有中断的时候仍旧会被唤醒?唤醒的机制里有被电磁干扰等唤醒的可能吗?
      2:为什么在B板上关闭AD有明显的电流变化,但A板上没有?
      3:就算解决了以上两个问题,还有40~70ua的电流,可能还出自哪里?曾经试过单片机什么都不做,休眠电流能降到1ua以下

神农鼎 发表于 2023-4-18 17:08:40

1,不用的I/O,关闭数字输入
2,作为模拟输入的I/O,关闭数字输入
3,作为 数字I/O的口的输出,高对高,低对低
页: [1]
查看完整版本: 8A8K64D4单片机掉电模式