论坛» 嵌入式开发» 国产MCU

灵动微MM32G0001的几种复位方式

专家
2023-12-25 22:41 1楼

MM32G0001有以下几种方式可实现复位功能:

1、上电复位(Power-on Reset)

2、掉电复位(Power-down Reset)

3、外部复位(NRST Reset)

4、独立看门狗复位(IWDG Reset)

5、软件复位(Software Reset)

6、CPU死锁复位(CPU Lockup Reset)

7、PVD复位(PVD Reset)


一、上电复位

顾名思义,就是给系统通电后,产生的复位。本产品内部集成了上电复位(POR)电路。


二、掉电复位

本产品内部集成了掉电复位(PDR)电路。产品正常工作电压范围是2.0V~5.5V(供电电压达到 2.0V 时系统即能正常工作)。当工作电压低于指定的限位电压 Vpor/Vpdr时,系统保持为复位状态,而无需外部复位电路。这个限位电压默认是1.65V。

图片1.png

器件中有一个可编程电压监测器(PVD),它监视 VDD/VDDA 供电并与阈值 Vpvd 比较,当 VDD 低于或高于阈值 VPVD 时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD 功能需要通过程序开启,通过设置 PVDE 位来使能 PVD。


PVD 可编程电压监测器是可以通过编程的,通过设置电源控制寄存器 PWR_CR 中的 PLS 位控制器来调节Vpvd的,如下表:

图片2.png

三、外部复位(NRST Reset)

当NRST Pin输入低电平时,将会发生外部复位。

四、独立看门狗复位(IWDG Reset)

1、计数器开始从其复位值 0x0FFF 开始递减,当递减到达 0x0000 时,将会发生独立看门狗复位。

2、比较/输出如果程序异常,无法正常喂狗,将会发生独立看门狗复位。

五、软件复位(Software Reset)

可以通过将 SCB_AIRCR[SYSRESETREQ]置 1,产生软件复位。

六、CPU 死锁复位(CPU Lockup Reset)

1、配置控制状态寄存器(RCC_CSR)的 LOCKUPEN 位为 1时,使能CPU 死锁复位。

2、当 CPU 进入锁定状态将会发生 CPU 死锁复位。

七、PVD 复位(PVD Reset)

1、配置控制状态寄存器(RCC_CSR)的 PVDRSTEN 位为 1,使能PVD复位;

2、配置电源控制寄存器(PWR_CR)的 PVDE 位为 1,使能 PVD;

3、配置电源控制寄存器(PWR_CR)的 PLS 位进行 PVD 阈值选择;

4、检测 VDD 电源,当 VDD 电源低于选择的阈值电压时将会发生 PVD 复位。

八、关联的寄存器

1、PWR_CR 电源控制寄存器

地址偏移:0x00

复位值:0x00000000

图片3.png

2、PWR_CSR 电源控制/状态寄存器

地址偏移:0x04

复位值:0x00000000

图片4.png

3、RCC_CSR 控制状态寄存器

偏移地址:0x24

复位值:0x0800 0000

图片5.png

高工
2023-12-26 08:51 2楼

复位的方式还是蛮的嘛!

具体的应用场景又是有哪些呢?

专家
2023-12-26 09:30 3楼

感谢分享

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]