项目中要区分上电芯片和其他的reset情况,上电芯片是假设ram中的数据变化,而其他不断电reset是假设ram中的数据不发生变化
POR是上电复位信号,它只在以下两个事件发生时产生:
1、芯片上电。
2、RST/NMI设置成复位模式,在RST/NMI引脚上出现低电平信号。
PUC信号是上电清除信号,POR信号的产生总会产生PUC信号,但PUC信号的发生不会产生POR信号。产生它的事件为:
1、发生POR信号。
2、处于看门狗模式下,看门狗定时时间到。
3、看门狗定时器写入错误的安全键值。
4、RST/NMI设置成NMI模式,在RST/NMI引脚上出现低电平信号,
5、FLASH存储器写入错误的安全键值。
当因为POR或PUC信号引起设备复位后,系统的初始状态如下:
1、I/O引脚切换成输入模式
2、I/O标志位清除。
3、其它外围模块及寄存器实现初始化,
4、状态寄存器复位。
5、PC装入0FFFE处的地址值,CPU从这一地址开始执行。
POR和PUC两者的关系:POR信号的产生会导致“系统复位”并“产生PUC信号”。而PUC信号不会引起POR信号的产生。
无论是POR信号还是PUC信号触发的复位,都会使MSP430从地址0xFFFE处读取复位中断向量,程序从中断向量所指的地址处开始执行。触发PUC
信号的条件中,除了POR产生触发PUC信号外,其他的豆科一通过读取相应的中断向量来判断是何种原因引起的PUC信号,以便作出相应的处理。
系统复位(指POR)后的状态为:(1)RST/NMI管脚功能被设置为复位功能;(2)所有I/O管脚被设置为输入;(3)外围模块被初始化,其寄存器
值为相关手册上的默认值;(4)状态寄存器SR复位;(5)看门狗激活,进入工作模式;(6)程序计数器PC载入0xFFFE处的地址,微处理器从此地址
开始执行程序。
典型的复位电路有一下3种:
(1) 在RST/NMI管脚上接100K欧的上拉电阻。
(2)在(1)的基础上再接0.1uf的电容,电容的一端接地,可以使复位更加可靠。
(3)在(2)的基础上,再在电阻上并接一个型号为IN4008的二极管,可以可靠的实现系统断电后立即上电。
从上面的图可以看见Reset中断,芯片上电可以由PORIFG,我就可以通过这一位的情况推断reset形式。
可是通过测试发现,一般复位电路为了让系统正常运行,会加一个电容,这样会有一个上电复位的过程。这时候系统上电后PORIFG和RSTIFG都是置位的。因为我们的系统是没有外部按键reset的,所以我们可以认为带电重启只能是由WDTIFG和KEYV导致的。
下面上传一个mcureset的学习文档,我觉得很不错。
|
文件: | mcu-reset.pdf |
大小: | 86KB |
下载: | 下载 |
|
阅读(2293) | 评论(0) | 转发(1) |