单片机内部复位

-回复 -浏览
楼主 2022-01-10 15:45:41
举报 只看此人 收藏本贴 楼主

我最近在整理单片机的复位问题,很多文献都过分的集中于外部复位,特意把内部复位的东西整理一下,我参考了很多的飞思卡尔的文档。我一直觉得飞思卡尔的文件系统和它的品质都是优秀的,虽然目前ST的单片机很有竞争力。

AN1744 Resetting Microcontrollers During Power Transitions

① 上电复位:是由外部总线产生的一种异步复位,单片机电压监测电路检测到电源电压VDD上升时,会产生一个上电复位脉冲,由内部计时器进行延时后等待电源电压上升到可以工作的电压后,整个单片机系统就完成了上电复位。注意上电复位电路并不会检测延时过后的系统电压,如果此时的电压低于单片机的最小工作电压,整个上电复位就失效了。

图所示是整个上电复位的过程,其步骤如下:


1)电源电压VDD大于一定范围时候,通常是1V以上的时候,单片机内部的CMOS的逻辑电路开始运作,这个电压我们也称为VOS。在这个电压下,不管使用的何种外部振荡器,振荡电路将开始起作用产生信号。


2)随着振荡器的运行,所有的内部逻辑必须进行初始化以保证处在正确的逻辑状态下。

3)此时上电复位电路内部的计数器将开始工作,一般而都会维持一定的复位周期延迟,飞思卡尔的HC08系列的复位时钟延迟tPOR等于4096个机器周期,并且复位逻辑将维持内部复位信号。

4) 当持续时间大于tPOR,上电复位电路的复位逻辑将反转并关闭上电复位电路。没有其他复位源的时候,单片机将退出复位状态并开始执行的代码。

因此如果依靠单片机内部的上电复位完成整个过程,复位与电源电压的上升率有很大的关系,需要确认电压的上升速率应大于最小上升速率,如果不注意这点将造成单片机的无法启动,计算方法如下:

VRUN = VOS +MVDD_SLEW×4096/FOSC

其中VRUN是单片机的最小工作电压,FOSC-是内部总线频率,MVDD_SLEW是电源电压上升率。

② 欠压复位:单片机内部电压监控电路形成的异步复位,当电源电压VDD电压小于一定触发阈值时,发出复位信号并保持到电源电压大于欠压复位功能恢复电压。欠压复位是用来确保单片机的电源并不在有效工作电压范围之内时内部产生复位过程,使得单片机保持在正确的状态中,欠压复位有三个重要的参数:

1) VTR是欠压复位功能恢复电压,大于该电压值的时单片机的欠压复位状态就结束了;

2)VTF是欠压复位功能触发电压,小于该电压值的时单片机将保持欠压复位状态;

3) VHYS是欠压复位的回差电压,VHYS=VTR - VTF;这个电压的主要目的是防止电源有噪声干扰的时候频繁的反弹,一般在0.1~0.2V之间。

【分享】如果您觉得本文有用,请点击右上角“…”扩散到朋友圈!

关注电子工程专辑请搜微信号:“eet-china”或点击本文标题下方“电子工程专辑”字样,进入官方微信“关注”。


我要推荐
转发到

友情链接