原创 PIC24HJ单片机自学笔记_芯片的复位

2013-12-31 07:12 1997 9 9 分类: MCU/ 嵌入式 文集: PIC24HJ单片机自学笔记
PIC24HJ128GP506有如下的复位源:
POR:上电复位
BOR:欠压复位
MCLR:按键复位
SWR:指令复位
WDTO:看门狗溢出
CM:配置失配复位
TRAPR:嵌套复位
IOPUWR:非法条件复位(非法代码,没有初始化的寄存器,安全复位)
方框图如下:
20131231070907114.jpg
复位后,与CPU连接的一些寄存器和外设寄存器强制初始化为一个已知的复位状态,而部分不会强制初始化。
所有的器件复位,可以在RCON中找到复位源,上电复位的时候,所有的复位源清零。此控制寄存器为状态位,可以设置,但是不会复位器件。
控制寄存器还包括了看门狗和节能模式的一些状态信息,如下:
20131231070922596.jpg
上面包括了所有的复位状态位,和:
VREGS:睡眠时电压模式
SWDTEN:软件看门狗开关
IDLE和SLEEP:芯片的IDLE和SLEEP状态。

系统复位:
PIC24HJ家族的器件有两种类型的复位:冷复位和热复位
冷复位包括上电复位和欠压复位,冷复位模式下,时钟源采用配置位中设置的时钟。
热复位:其他的情况都成为热复位,这种模式下,时钟使用COSC和OSCCON中配置的时钟。
复位的时序图如下:
20131231070937211.jpg

整个流程如下:
  • 先VDD上升,上升超过VPOR后,延时一段时间,POR置高。这里PIC24HJ128GP506为VSS.
  • 然后VDD继续上升,超过VBOR后,BOR延时一段时间,置高,这里PIC24HJ128GP506为VSS.
  • 然后系统开始准备电源,经过TPWRT后,电源准备完成,开始准备时钟
  • 时钟开始准备,开始振荡器延时,延时完成后,如果开启时钟监视,开始时钟监视延时,再开始RUN
  • 如果没有时钟减少,振荡器延时后,开始RUN
各种振荡器模式下,延时是不同的,具体参考下面的表格:
20131231071004373.jpg

上电复位:
上电复位的时序如上图。
欠压复位和上电定时器:
欠压复位后上电定时器的时序图如下,定时器在配置位中有详细的描述,其周期设置如下:
20131231071024537.jpg
20131231071038228.jpg

外部复位:
具体的时间可以看手册的电气参数。这种电路有两种形式:
1、外部监视电路,由外部的监视电路来复位芯片。
2、内部监视电路,此引脚直接拉高即可。

指令复位:
指令复位不会影响时钟设置。

看门狗复位:
不影响时钟源,且在睡眠和闲置模式被唤醒时不复位,而仅仅是唤醒。

嵌套复位:
如果一个高优先级的陷阱在处理的时候,一个低优先级陷阱产生,则发生复位,具体看中断的相关内容。

失配复位:
如ESD和其他外部时间导致IO硬件与寄存器值失配,将产生复位。PIC24HJ128GP506中不带。

非法条件复位:
非法条件由如下源产生:
非法的操作码
初始化W寄存器,W寄存器不能被用户操作操作
安全设置:如果PFC和VFC操作受限制的区域,比如BOOT和安全段时产生复位。具体看代码安全保护的内容。

使用RCON状态位:
下面是状态为的设置条件和清零条件:
20131231071059728.jpg

还有两个重要内容:就是上电时序特殊功能寄存器的上电初始值。
时序:在上面讨论复位时序中,已经基本上介绍了上电时序问题。
特殊功能寄存器初始值,在头文件中,可以看到我们可以设置一个默认的复位值,DATASHEET中也有一个默认的复位值,这个值可以根据需要在头文件中进行修改。

需要深入了解上电的问题,可以在官网搜索如下文档:
上电问题解答 AN607
上电电路建议 AN522
























文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条