什么情况下,软件定时器被全部杀死

Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
3 posts / 0 new
Last post
liyang
Offline
Last seen:3 months 3 weeks ago
Expert
加入:2014-09-24 11:51
什么情况下,软件定时器被全部杀死

我的主板上面的工作流程:DA14580作为从机与另一个型号的单片机进行串口通讯,DA14580由外部上升沿电平触发唤醒后接收串口数据。接收完数据后进入休眠。外部主机每隔1s对DA14580进行一次唤醒并以9600波特率发送8个字节的数据。之后DA14580进入extend sleep 模式。

我用多个样机进行测试的时候,发现串口通讯5分钟左右后,DA14580的功耗不再动态的变化而是维持在400ua左右。 跟踪发现用于定时使DA14580进入extend sleep 模式的软件定时器被杀死了(失效了),导致了DA14580没进入extend sleep 模式,此时DA14580功能还是正常的。进一步跟踪发现其他所有软件定时器也都失效了。

一开始我怀疑是低频RC(32Khz)不稳定,于是我在主板上添加了32K晶振时钟,结果并没有改变。然后我又进行了进一步实验,发现只串口有收发数据的时候,才会出现5分钟左右软件定时器都被kill的情况。如果串口不收发数据则软件定时器工作正常。

请问上述问题我该如何追踪?

Device:
liyang
Offline
Last seen:3 months 3 weeks ago
Expert
加入:2014-09-24 11:51
进一步测试发现如下问题,因为1s发送一次数据

进一步测试发现如下问题,因为1s发送一次数据,发送前DA14580唤醒,接收完成后DA14580又重新进入extend sleep ,如果DA14580一直唤醒,而不是进行频繁的唤醒和休眠,就不会出现异常。

PM_Dialog
Offline
Last seen:18 hours 32 min ago
工作人员
加入:2018-02-08 11:03
Hi liyang,

Hi liyang,

This is our English forum and customers posts their question in English. So, please try to translate your question in English. Otherwise, you can post your question in our Chinese forums.

Thanks, PM_Dialog