onemoren 发表于 2025-3-19 11:14

APM32E103RET6的看门狗窗口设置与温度的关系考虑

本帖最后由 onemoren 于 2025-3-19 11:23 编辑

#申请原创# APM32E103RET6的看门狗窗口设置与温度的关系考虑
芯片:APM32E103RET6客户应用场景: 使用RTC 20S闹钟唤醒一次低功耗的MCU,并有26S的看门狗溢出窗口。RTC 20S唤醒后及时喂狗,MCU就可以持续正常工作,不产生看门狗复位。问题:芯片在常温下运行正常,但温度降到-30度以下时,芯片不能正常唤醒(经排查,不是不能正常唤醒,而是芯片发生反复重启)。测试5台样机,均有此现象。
分析1:确认RTC的时钟源LSE低温下是否正常测试方法:编写程序,RTC闹钟每隔20秒唤醒一次STOP低功耗。PA8高电平表示运行,PC13输出LSE的64分频时钟观察。测试结果:-40度环境下测试2PCS芯片,低温RTC正常唤醒,LSE/64波形正常:512HZ。证明LSE时钟正常,RTC唤醒功能也正常。
分析2:RTC唤醒加看门狗测试测试方法:RTC闹钟每隔20秒唤醒一次STOP低功耗。PA8高电平表示运行,低电平表示进入STOP。独立看门狗设定最大看门时间26s(是最大时间窗口,与客户设置相同),PA9高电平表示看门狗复位重启。测试结果:常温RTC可正常唤醒,-40度低温出现看门狗复位,复现客户所述问题。
分析3:观察看门狗时钟源LSI频率是否正常测试方法:看门狗是使用LSI作为时钟源的,故编写程式,用PC13输出LSI/64波形,观察高低温对LSI频率的影响。测试结果:常温25度,LSI频率636*64=40.7K;低温-40度,LSI频率880*64=56.3K;高温85度,LSI频率596*64=38.1K。低温下LSI频率明显变高,导致看门狗时间会缩短:常温下看门狗饿死时间为26秒,低温下缩短到4095*256/56.3K=18.6S,小于RTC唤醒时间20s,导致低温时不能及时喂狗而使MCU重启。 分析4:对3片芯片样片做三温测试,看LSI波动范围测试方法:选取3PCS APM32E103RET6(A2)样片进行LSI频率三温测试。测试结果:
APM32E103RET6(A2)常温25度低温-40度高温85度
#1140.7K56.3K38.1K
#1239.9K53.1K37.0K
#1339.6K48.9K36.8K

APM32E103XE数据手册中的范围如下: 竞品芯片数据手册中的范围如下: 说明APM32E103RET6的LSI频率范围符合极海、竞品数据手册的指标。
分析总结:综合测试分析,此案发生RTC唤醒异常的现象,实际上是低温条件下MCU看门狗喂狗失败引起,根因是由于APM32E103RET6在低温下LSI频率偏移较大引起:常温下LSI频率40Khz,-40度低温下LSI频率可达到48.9~56.3KHZ甚至更大。频率变大,导致看门狗定时时间变短(由26S变短到 18.6S),当定时时间小于RTC唤醒时间(20S)时,会导致还没有到RTC唤醒时看门狗就已饿死重启了。此案归属为客户自身应用问题,客户应该参考数据手册中LSI的频率范围上下限来设计RTC和看门狗的时间组合配置。解决方案:如果看门狗仍设置为最大溢出时间26S,那建议客户缩短RTC唤醒时间,比如小于17S。

21小跑堂 发表于 2025-3-27 16:52

申请原创也请 @21小跑堂 哦,以便更快更及时的审核您的原创文章

天鹅绒之夜 发表于 2025-3-27 18:13

低温影响LSI时钟的频率,而基于此时钟做为输入时钟源的看门狗就会受到严重影响!
这个知识点还真被忽略掉了,谢谢楼主提醒

星云避风港 发表于 2025-4-20 08:41

LSI的影响还是有的。只是一直没有注意到

梦塑者 发表于 2025-4-22 16:09

这个点有点意外了。别说,还真没有注意到
页: [1]
查看完整版本: APM32E103RET6的看门狗窗口设置与温度的关系考虑