CH32系列复位源汇总及异常复位查因

一 . 复位源汇总:控制器提供了3 种复位形式:电源复位、系统复位和后备区域复位。

电源复位 分为上电/掉电复位(POR/PDR复位)与 从待机模式下唤醒复位。

系统复位 

NRST 引脚上的低电平信号(外部复位)
窗口看门狗计数终止(WWDG 复位)
独立看门狗计数终止(IWDG 复位)
软件复位(SW 复位)
低功耗管理复位

 

后备区复位(此处不会导致系统异常复位暂不详细讨论)

后备区域复位发生时,只会复位后备区域寄存器,包括后备寄存器、RCC_BDCTLR 寄存器(RTC 使
能和LSE 振荡器)。其产生条件包括:
在VDD和VBAT都掉电的前提下,由VDD或VBAT上电引起
RCC_BDCTLR 寄存器的BDRST 位置1
RCC_APB1PRSTR 寄存器的BKPRST 位置1

二 . 异常复位查因

遇到异常复位而无从下手分析时,可以从内置的控制/复位寄存器(RCC_RSTSCKR)入手,此寄存器将系统复位的所有复位分支,通过此寄存器的bit【26-31】显示出来,

方便用户打印查看。注意此寄存器不掉电的话所有位不会清零,所有防止复位源不明确,需要在下次异常复位前将上次的复位原因清除,也就是此寄存器的bit 24位。

 

 

 

 

 

 

 

 汇总分析后,大致有以下常见复位。

1.待机模式下唤醒的上下电复位,bit27置位,bit31置位,此种复位源,大致是客户疏忽了我们芯片的特性,用户选择字处有设置进入待机模式下自动复位的特性,这样客户测试的时候就会发现测试不了待机模式下的功耗,解决方法使用ISP工具或者linkutility工具,选择低功耗下不复位即可。

 

2.停止模式下复位,与待机模式下复位如出一辙。

3..独立看门狗复位,其中之一的原因与待机模式下同理。另一原因就是客户的喂狗时间过长或者代码卡死导致看门狗复位,这个需要客户去掉看门狗调试看代码卡的位置而具体分析了。

3.单纯的上下电复位,此时就让客户监测电源波动,排查硬件是不是有大电流期间,运行期间电压波动太大,低于正常掉电阈值而处于复位状态。

4.软件复位,此复位由客户代码中添加,一般属于客户正常复位逻辑,但是有的客户会忘记自己的逻辑,需要注意。

NVIC_SystemReset(); //软件复位代码。

 

posted @ 2025-02-24 20:06  WCH_CH32  阅读(389)  评论(0)    收藏  举报