我的主板上面的工作流程:DA14580作为从机与另一个型号的单片机进行串口通讯,DA14580由外部上升沿电平触发唤醒后接收串口数据。接收完数据后进入休眠。外部主机每隔1 s对DA14580进行一次唤醒并以9600年波特率发送8个字节的数据。之后DA14580进入延长睡眠模式。
我用多个样机进行测试的时候,发现串口通讯5分钟左右后,DA14580的功耗不再动态的变化而是维持在400 ua左右。跟踪发现用于定时使DA14580进入延长睡眠模式的软件定时器被杀死了(失效了),导致了DA14580没进入延长睡眠模式,此时DA14580功能还是正常的。进一步跟踪发现其他所有软件定时器也都失效了。
一开始我怀疑是低频RC (32 khz)不稳定,于是我在主板上添加了32 k晶振时钟,结果并没有改变。然后我又进行了进一步实验,发现只串口有收发数据的时候,才会出现5分钟左右软件定时器都被杀死的情况。如果串口不收发数据则软件定时器工作正常。
请问上述问题我该如何追踪?
设备:
进一步测试发现如下问题,因为1 s发送一次数据,发送前DA14580唤醒,接收完成后DA14580又重新进入延长睡眠,如果DA14580一直唤醒,而不是进行频繁的唤醒和休眠,就不会出现异常。
嗨,李阳,
这是我们的英语论坛,客户用英语提问。所以,请试着用英语翻译你的问题。否则,你可以在我们的中文论坛上发表你的问题。
谢谢,PM_Dialog