新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 节电设计中掉电状态MCU的复位唤醒速度

节电设计中掉电状态MCU的复位唤醒速度

作者:时间:2012-03-21来源:网络收藏

从上电的讨论中可以得知,其可靠所需时间主要取决于电源电压的上升时间;那么对于此处掉电来说,当已没有了电源电压上升的问题时(对于那种掉电后电源电压下降到2V者,则应先将电源电压上升到正常值后方可对RST引脚施加复位信号),复位所需时间又取决于什么?对于这一点,相关的数据手册并未给出确切说明,只说“复位信号激活了振荡器,复位信号必须保持有效到使振荡器起振并达稳定(一般少于10ms)” [1],这似乎是说该的掉电复位时间约为数毫秒。然而,该数据手册提供的相关内部电路框图[1]以及笔者所作的实际测试均表明,情况并非完全如此。

从文献[1]中与掉电方式有关的内部电路框图可见,片内振荡器的起振和向后传输均受控于掉电控制位PD,因此掉电复位时必定是先进行片内初始的设置(其中包含PD位清零),然后才能使片内振荡器起振并后传。同时,也正由于片内振荡器的起振是由片内初态进行控制的,所以片内初态一旦可靠建立,片外复位信号就没有必要一直保留到使片内振荡器振幅趋于稳定。以下测试证实了这一点。

图二给出了AT89C51在掉电复位时的实际测试结果,此时其片内振荡器的片外定时元件为4MHz的陶瓷谐振器。

28.gif
图二 AT89C51在掉电下复位时的起振时序

由图二可见,当复位信号前沿到来时,片内振荡器立即在1/2VCC(2.5V)左右处开始起振。在起始的3us时段内其振幅很小,4us~9us期间其振幅迅速增加,到10us~15us内则渐趋稳定。由此可得以下几点结论:首先,片内振荡器的起振大大快于数据手册[1]中所说的“一般少于10ms”。其次,当复位信号到来时,片内振荡器并未象上电复位那样等了一段时间以后再起振,而是立即起振。这是由于在掉电复位前,电源电压依然存在,使得片内振荡器的某些静态工作点仍然维持着,所以一旦复位操作清除了掉电控制位PD,振荡器便立即在工作点处(1/2VCC=2.5V)开始起振,显然比上电复位时省掉了一段逐步建立工作点所需的启动时间。

为了确切了解AT89C51的可靠复位唤醒要求片外所加的复位信号至少应保持多少宽度,笔者以另一发出的窄脉冲作为被测的复位信号,并不断改变其宽度,再以观察被测MCU的一个I/O引脚电平的变化来判断是否可靠地完成了复位唤醒操作,即在MCU进入掉电之前先将该引脚用指令置为低电平,随后掉电复位唤醒发生时的片内初态设置操作又会把该引脚强制置为高电平,最后,由掉电复位唤醒结束后的第一条指令再将其立即拉为低电平。测试结果显示,当外加的复位信号宽度为1us~6us时,被测MCU有时不能可靠复位,具体表现为该I/O引脚被复位的初态设置操作强制拉高后又可能随着复位信号的撤除而立即下降。而当外加的复位信号宽度大于8us后,被测MCU就能可靠复位唤醒并在外加复位信号撤除后能顺利开始执行程序。这个结果表明:①复位时MCU的端口引脚跟随复位信号的高电平前沿立即变高,滞后小于1us;②复位唤醒时MCU的片内初态的设置领先于片内振荡器的起振。③复位唤醒时外加的复位信号宽度最小只需几个us即可,不必等到振荡器振幅达到最大就可使MCU开始执行指令(上述8us处的振荡幅度大约为160mVpp),这可能是因为在片内振荡器后面有一级分频器,将振荡器在1/2VCC处的小幅度振荡整形为满幅度时钟信号了。

由此可知,掉电状态下MCU的复位唤醒虽与片内振荡器有关,但其唤醒时间并不等同于片内振荡器从起振到稳定的时间。若想获得最快的复位唤醒,还可考虑使用片外振荡器,以便MCU的掉电操作对振荡器不构成影响。

对于非MCS51的其它MCU系列,其掉电唤醒的复位操作和时序大致与上述相同,只是具体时间参数上可能有所差异。以MICROCHIP的 PIC12F508为例[5],其片内主管复位延时的定时器DRT的延时值分为两类,一类是上电复位时的延时值为18ms,另一类是采用片内RC振荡器或片外时钟输入时用作复位唤醒的延时值为10us。稍显不足的是,该文档还声称当采用片外晶振时其DRT的延时值仍为18ms,这显然与本文所测数据相差甚远。

2.结束语

能否以硬件复位对MCU实行快速唤醒是妨碍采用掉电方式进行MCU的一道门槛,其关键在于MCU掉电时的复位唤醒时间是否可知、是否够快。本文工作就这两点给出了答案。结论是明确的:采用片内振荡器时,掉电状态下的复位唤醒时间小于片内振荡器从起振到稳定的时间(且远小于上电复位时间),采用陶瓷谐振器时,该时间可快至10微秒左右,若想进一步加快则可采用片外时钟方案。

参考文献
[1] MCS 51 MICROCONTROLLER FAMILY USER’S MANUAL。 www6.informatik.tu-muenchen.de/lehre/vorlesungen/script_ez_2000 /intel-mcs51.pdf。1994,2。P.3-26~P.3-29
[2] Oscillators for Microcontrollers。www.intel.com/design/mcs51/applnots/23065901.pdf。1983,6。P. 3~P.7
[3] 孙涵芳、徐爱卿。MCS-51/96系列单片机原理及应用[M]。北京:北京航空航天大学出版社。1988,2。P.77
[4] 何立民。单片机高级教程:应用与[M]。北京:北京航空航天大学出版社。2000,8。P.109

分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭