STM32F10xxx支持三种复位
扫描二维码
随时随地手机看文章
STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。
一、系统复位
除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器(见图4)以外,系统
复位将复位所有寄存器至它们的复位状态。
当发生以下任一事件时,产生一个系统复位:
1. NRST引脚上的低电平(外部复位)
2. 窗口看门狗计数终止(WWDG复位)
3. 独立看门狗计数终止(IWDG复位)
4. 软件复位(SW复位)
5. 低功耗管理复位
可通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源。
软件复位
通过将Cortex?-M3中断应用和复位控制寄存器中的SYSRESETREQ位置’1’,可实现软件复位。请参考Cortex?-M3技术参考手册获得进一步信息。
低功耗管理复位
在以下两种情况下可产生低功耗管理复位:
1. 在进入待机模式时产生低功耗管理复位:
通过将用户选择字节中的nRST_STDBY位置’1’将使能该复位。这时,即使执行了进入待机模式的过程,系统将被复位而不是进入待机模式。
2. 在进入停止模式时产生低功耗管理复位:
通过将用户选择字节中的nRST_STOP位置’1’将使能该复位。这时,即使执行了进入停机模式的过程,系统将被复位而不是进入停机模式。
关于用户选择字节的进一步信息,请参考STM32F10xxx闪存编程手册。
二、电源复位
当以下事件中之一发生时,产生电源复位:
1. 上电/掉电复位(POR/PDR复位)
2. 从待机模式中返回
电源复位将复位除了备份区域外的所有寄存器。(见图1)
图中复位源将最终作用于RESET引脚,并在复位过程中保持低电平。复位入口矢量被固定在地址0x0000_0004。更多细节,参阅图2:其它STM32F10xxx产品(小容量、中容量和大容量)的向量表。
芯片内部的复位信号会在NRST引脚上输出,脉冲发生器保证每一个(外部或内部)复位源都能有至少20μs的脉冲延时;当NRST引脚被拉低产生外部复位时,它将产生复位脉冲。
复位电路
备份域复位
备份区域拥有两个专门的复位,它们只影响备份区域(见图1)。
当以下事件中之一发生时,产生备份区域复位。
1. 软件复位,备份区域复位可由设置备份域控制寄存器(RCC_BDCR)中的BDRST位产生。
备份域控制寄存器(RCC_BDCR)
偏移地址:0x20
复位值:0x0000 0000,只能由备份域复位有效复位
访问:0到3等待周期,字、半字和字节访问
当连续对该寄存器进行访问时,将插入等待状态。
注意: 备份域控制寄存器中(RCC_BDCR)的LSEON、LSEBYP、RTCSEL和RTCEN位处于备份域。因此,这些位在复位后处于写保护状态,只有在电源控制寄存(PWR_CR)中的DBP位置’1’后才能对这些位进行改动。进一步信息请参考5.1节。这些位只能由备份域复位清除(见6.1.3节)。任何内部或外部复位都不会影响这些位。
2. 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。
图1
图2