单片机复位电路分析 我的文章 windows杀手.docx
《单片机复位电路分析 我的文章 windows杀手.docx》由会员分享,可在线阅读,更多相关《单片机复位电路分析 我的文章 windows杀手.docx(15页珍藏版)》请在冰豆网上搜索。
![单片机复位电路分析 我的文章 windows杀手.docx](https://file1.bdocx.com/fileroot1/2023-6/23/06510b69-3396-4305-b1b4-7d92460e8f88/06510b69-3396-4305-b1b4-7d92460e8f881.gif)
单片机复位电路分析我的文章windows杀手
单片机复位电路分析-我的文章-windows杀手
单片机复位电路分析单片机复位电路分析
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
时钟电路:
8031单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如下图所示。
图中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。
晶振频率的典型值为12MH2,采用6MHz的情况也比较多。
内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。
外部振荡方式是把外部已有的时钟信号引入单片机内。
这种方式适宜用来使单片机的时钟与外部信号保持同步。
外部振荡方式的外部电路如下图所示。
由上图可见,外部振荡信号由XTAL2引入,XTAL1接地。
为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。
基本时序单位:
单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。
振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。
振荡频率foscl2分频后形成机器周期MC。
所以,1个机器周期包含有6个状态周期或12个振荡周期。
1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。
8031单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。
4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。
下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:
振荡周期=1/fosc=1/12MHZ=0.0833us
复位电路:
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
常用的上电复位电路如下图A中左图所示。
图中电容C1和电阻R1对电源十5V来说构成微分电路。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如下图(A)中右图所示。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
常用的上电或开关复位电路如上图(B)所示。
上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。
上图(A)中:
Cl=10-30uF,R1=1kO
上图1.27(B)中:
C:
=1uF,Rl=lkO,R2=10kO
单片机复位后的状态:
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。
值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。
说明:
表中符号*为随机状态;
A=00H,表明累加器已被清零;
特殊功能寄存器
初始状态
特殊功能寄存器
初始状态
A
00H
TMOD
00H
B
00H
TCON
00H
PSW
00H
TH0
00H
SP
07H
TL0
00H
DPL
00H
TH1
00H
DPH
00H
TL1
00H
P0~P3
FFH
SBUF
不定
IP
***00000B
SCON
00H
IE
0**00000B
PCON
0*******B
PSW=00H,表明选寄存器0组为工作寄存器组;
SP=07H,表明堆栈指针指向片内RAM07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;
Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;
IP=×××00000B,表明各个中断源处于低优先级;
IE=0××00000B,表明各个中断均被关断;
系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。
51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。
51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,(在特殊寄存器介绍时再做详细说明)至于内部RAM内部的数据则不变。
影响单片机系统运行稳定性的因素可大体分为外因和内因两部分:
1、外因
射频干扰,它是以空间电磁场的形式传递
在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰;
电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰
。
2、内因
振荡源的稳定性,主要由起振时间
频率稳定度和占空比稳定度决定
起振时间可由电路参数整定
稳定度受振荡器类型
温度和电压等参数影响复位电路的可靠性。
二、复位电路的可靠性设计
1、基本复位电路
复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
图1所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。
但解决不了电源毛刺(A点)和电源缓慢下降(电池电压不足)等问题
而且调整RC常数改变延时会令驱动能力变差。
左边的电路为高电平复位有效
右边为低电平Sm为手动复位开关Ch可避免高频谐波对电路的干扰
图1RC复位电路
图2所示的复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。
图3所示复位电路输入输出特性图的下半部分是其特性,可与上半部比较增加放电回路的效果
图2增加放电回路的RC复位电路
使用比较电路,不但可以解决电源毛刺造成系统不稳定,而且电源缓慢下降也能可靠复位。
图4是一个实例
当VCCx(R1/(R1+R2))=0.7V时,Q1截止使系统复位。
Q1的放大作用也能改善电路的负载特性,但跳变门槛电压Vt受VCC影响是该电路的突出缺点,使用稳压二极管可使Vt基本不受VCC影响。
见图5,当VCC低于Vt(Vz+0.7V)时电路令系统复位。
图3RC复位电路输入-输出特性
图4带电压监控功能的复位电路
图5稳定门槛电压
图6实用的复位监控电路
在此基础上,增加延时电容和放电二极管构成性能优良的复位电路,如图6所示。
调节C1可调整延时时间,调节R1可调整负载特性,如图7所示上半部分是图5电路的特性,下半部分对应图6。
图7带电压监控功能的复位电路的输入-输出特性
2、电源监控电路
上述的带电压监控的复位电路又叫电源监控电路
监控电路必须具备如下功能:
上电复位,保障上电时能正确地启动系统;
掉电复位,当电源失效或电压降到某一电压值以下时,复位系统;
市面上有类似的集成产品,如PHILIPS半导体公司生产的MAX809、MAX810。
此类产品体积小、功耗低,而且可选门槛电压。
可保障系统在不同的异常条件下可靠地复位,防止系统失控。
图8中的Rm和Sm实现手动复位
无需该功能时可把Reset端(或/Reset)端
直接与单片机的RST端(或/RST端)相连
最大限度地简化外围电路
也可选择PHILIPS半导体公司带手动复位功能的产品MAX708。
图8集成复位监控电路
此外,MAX708还可以监视第二个电源信号,为处理器提供电压跌落的预警功能,利用此功能,系统可在电源跌落时到复位前执行某些安全操作,保存参数,发送警报信号或切换后备电池等。
图9电表的应用实例
利用MAX708电表可在电源毛刺或停电前把当前电度数保存到E2PROM中
再配合保存多个电度数备份算法,可有效解决令工程师头疼E2PROM中的电度数掉失问题使用该电路必须选择适当的预警电压点,以保证靠电源的储能供电情况下,VCC电压从预警电压跌到复位电压的维持时间(tB)必须足够长E2PROM的写周期约为10-20ms一般取tB>200ms就可确保数据稳定写入。
预警电压调整方法
当VDC等于预警电压时调整R1和R2使PFI的电压为1.25V此时可检测/PFO来确认内部的电压比较器是否动作,调整时必须注意此比较器是窗口比较器。
图10是该应用的程序流程图
图9MAX708的典型应用
图10.电表应用中E2PROM数据保护程序流程图
3.多功能电源监控电路
除上电复位和掉电复位外,很多监控电路集成了系统所需的功能,如:
电源测控,供电电压出现异常时提供预警指示或中断请求信号,方便系统实现异常处理;
数据保护,当电源或系统工作异常时,对数据进行必要的保护,如写保护、数据备份或切换后备电池;
看门狗定时器,当系统程序“跑飞”或“死锁”时,复位系统;
其它的功能,如温度测控、短路测试等等。
我们把其称作多功能电源监控电路。
下面介绍两款特别适合在工控、安防、金融行业中广泛应用多功能的监控电路:
Catalyst公司的CAT1161是一个集成了开门狗、电压监控和复位电路的16K位E2PROM(I2C接口)不但集成度高、功耗低(E2PROM部分静态时真正实现零功耗)而且清看门狗是通过改变SDA的电平实现的,节省系统I/O资源,其门槛电压可通过编程器修改,该修改范围覆盖绝大多数应用。
当电源下降到门槛电压以下时
硬件禁止访问E2PROM确保数据安全。
使用时注意的是RST,/RST引脚是I/O脚,CAT1161检测到两引脚中任何一个电压异常都会产生复位信号,与RST/RST引脚相连的下拉电阻R2和上拉电阻R1必须同时连接,否则CAT1161将不断产生复位!
同样不需要手动复位功能时可节省Rm和Sm两个元件。
图11.内置WDTRESET/RESETEPROM监控器件接口电路
PHILIPS公司的SA56600-42被设计用在电源电压降低或断电时作保护微电脑系统中SRAM的数据。
当电源电压下降到通常值4.2V时,输出CS变为逻辑低电平,把CE也拉低,从而禁止对SRAM的操作。
同时,产生一个低电平有效的复位信号,供系统使用,如果电源电压继续下降,到达通常值3.3V或更低时,SA56600-42切换系统操作,从主电源供电切换到后备锂电池供电,当主电源恢复正常(电压上升至3.3V或更高时)将SRAM的供电电源将由后备锂电池切换回主电源,当主电源上升至大于典型值4.2V时
输出CS变为逻辑高电平,使CE变为高电平,使能SRAM的操作,复位信号一直持续到系统恢复正常操作为止。
在系统电源电压不足或突然断电的时候,这个器件能可靠地保护系统在SRAM内的数据。
图12.内置SRAM数据保护电路的监控器件SA56600-42的典型应用
4.ARM单片机的复位电路设计
无论在移动电话
高端手持仪器还是嵌入式系统,32位单片机ARM占据越来越多的份额,ARM已成为事实的高端产品工业标准。
由于ARM高速、低功耗、低工作电压导致其噪声容限低
这是对数字电路极限的挑战,对电源的纹波、瞬态响应性能、时钟源的稳定度、电源监控可靠性等诸多方面也提出了更高的要求。
ARM监控技术是复杂并且非常重要的。
分立元件实现的监控电路,受温度、湿度、压力等外界的影响大而且对不同元件影响不一致
较大板面积,过多过长的引脚容易引入射频干扰,功耗大也是很多应用难以接受,而集成电路能很好的解决此类问题。
目前也有不少微处理器中集成监控电路,处于制造成本和工艺技术原因,此类监控电路大多数是用低电压CMOS工艺实现的,比起用高电压、高线性度的双极工艺制造的专用监控电路
性能还有一段差距。
结论是:
使用ARM而不用专用监控电路,可能导致得不偿失,经验也告诉我们使用专用监控电路可以避免很多离奇古怪的问题。
ARM的应用工程师,切记少走弯路!
图13.用PHILIPSMAX708实现的ARM复位电路
图13是实用可靠的ARM复位电路。
ARM内核的工作电压较低。
R1可保证电压低于MAX708的工作电源还能可靠复位。
其中TRST信号是给JTAG接口用的。
使用HC125可实现多种复位源对ARM复位,如通过PC机串口或JTAG接口复位ARM。
单片机系统设计的误区与对策
时间:
2007-03-20来源:
作者:
王柏林
点击:
533字体大小:
【大中小】
摘
要:
用电磁兼客性理论剖析了单片机系统设计中的某些传统现念,指出其过时和失误之处.给出了根据电磁兼容性理论设计单片机系统的新理念,还给出了双时限看门狗、定时复位看门狗、抗快速脉冲群滤波器、电磁兼容PCB等新的设计方法。
单片机系统在军事、工业、民用产品中的应用越来越广。
它将许多以往用硬件实现的功能由软件来完成,体积小巧、功能丰富、智能化程度高,但在可靠性方面也面临许多新问题。
用现代电磁兼容性(EMC)理论剖析单片机系统设计中的某些传统观念,会发现许多误区,并且有些误区至今还在工程界广为存在。
1、误区之一:
有了看门狗就不会死机
死机是指CPU的程序指针进入一个死循环。
无法执行正常的程序流程。
其外在表现常常是:
正常功能丧失,按键无响应。
显示凝固。
单片机死机后,只有复位才能走出死循环,执行正常的程序流程。
众所周知,克服死机的最有效手段是加看门狗(WatchDog)。
目前用得最广泛的看门狗实际上是一个特殊的定时器DogTimer。
DogTimer接固定速率计时,计满预定时间就发出溢出脉冲使单片机复位。
如果每次在DogTimer溢出前强行让DogTimer清零,就不会发出溢出脉冲。
清零脉冲由CPU发出,在单片机程序中每隔一段语句放一个清DogTimer的语句——FeedDog语句,以保证程序正常运行时DogTimer不会溢出。
一旦程序进入一个不含FeedDog语句的死循环,DogTimer将溢出,导致单片机复位,跳出这个死循环。
本文称这种看门狗为典型看门狗,典型看门狗已被集成化.如MAX706,MAX791等;还有许多单片机本身集成了这种看门狗,如PIC16C57、MC68HC705等,具体电路可参阅这些芯片的技术资料。
有一个错误观点:
加了看门狗.单片机就不会死机。
实际上,看门狗有时会完全失效。
当程序进入某个死循环,而这个死循环中又包含FeedDog语句,这时DogTimer始终不会溢出,单片机始终得不到复位信号,程序也就始终跳不出这个死循环。
针对这一弊端,笔者设计了双时限看门狗和定时复位看门狗。
双时限看门狗有两个定时器:
一个为短定时器,一个为长定时器。
短定时器定时为T1,长定时器定时为T2,0<Tl<<T2;长、短定时器的FeedDog是各自独立的。
短定时器象典型看门狗那样工作,它保证一般情况下看门狗有快的反应速度;长定时器的定时T2大于CPU执行一个主循环程序的时问,并且每一个主循环才FeedDog一次,用来防止看门狗失效。
这样,当程序进入某个死循环,如果这个死循环包含短定时器FeedDog语句而不包含长定时器FeedDog语句.那么长定时器终将溢出,使单片机复位。
巧妙安排长定时器FeedDog语句的位置,可保证出现死机的概率极低。
在水轮发电机组微机控制装置中的对比应用证明了这一点。
目前几乎所有的看门狗都是依赖于CPU(依赖于CPUFeedDog)。
这可以比作:
一个保险设备能否起到保险作用还依赖于被它保护的对象的行为。
显然,依赖于CPU看门狗是不能保证单片机百分之百不死机的。
在绝对不允许死机的装置中,笔者设汁了一种完全不依赖于CPL]的看门狗——定时复位看门狗。
定时复位看门狗的主体也是一个定时器,到预定时间就发出溢出脉冲,此溢出脉冲使单片机强行复位。
定时复位看门狗不需要CPUFeedDog。
简言之,定时复位看门狗就是定时地让单片机强行复位。
这样,即使装置死机,其最大死机时间也不会大于定时器的定时时间。
显然,只要硬件完好,这种看门狗百分之百地保证了单片机不会长时间死机。
在智能电表(包括IC卡电能表、复费率电能表、多功能电能表)中采用定时复位看门狗,每1秒让CPU强行复位,迄令数十万电表运行了近五年,无一例死机报告。
必须指出,采用这种看门狗,CPU的编程要适应定时复位的环境.保证定时复位不打断那些不能打断的程序.不造成任何误动作。
2、误区之二:
加电源滤波器能提高EMC性能
在单片机系统中,为了抑制电磁干扰(EMI),常常在交流电源进线与电源变压器之间加电源滤波器。
常用的电源滤波器如图1。
图1电源滤波器
图1都是双Π型LC滤波器。
其中Co专用于旁路差模干扰。
两者的不同之处在于:
图1(b)两个电容接大地。
设电感的电阻为R,它们的幅频特性分别是:
当R很小时,上述两个滤波器的谐振频率分别为:
可见,它们的幅频特性相似.谐振频率不同。
从滤波效果来看,两者对于降低来自交流电的差模干扰效果差不多,但是后者对于降低共模干扰效果更好。
不过,对于采用浮地方式的装置,由于电容不可能直接到大地,所以只能用前者。
设计滤波器时必须注意让谐振频率远小于干扰频率,处理不好不仅不能衰减干扰,反而放大干扰。
以图1(a)的双Π型滤波器为例,如果取L=1mh,R=lΩ.C=0.47uF(这是许多资料推荐的参数),可计算出f0=5.2kHz。
而EMC测试中的快速脉冲群频率是5.0kHz(2kV)或2.5kHz(4kV);5.0kHz刚好谐振,2.5kHz也不会被衰减,如图2虚线所示。
可见,不是所有的电源滤波器都能提高EMC性能。
工程中.许多装置尽管采用了成本不菲的滤波器,但EMC测试仍难通过,原因大多在此。
图2双Π型滤波器的幅频特性
实际上:
如果取L=30mh,R=5Ω,C=O.47uF。
可计算出f0=0.95kHz,5.0kHz脉冲群幅值衰减为3.73%,2.5kHz脉冲群幅值衰减为16.78%。
这时,电源滤波器确实提高了系统的EMC性能。
图2实线是相应的幅频特性。
3、误区之三:
光偶器件隔离干扰很彻底
光偶器件是最常用的隔离干扰器件。
例如现场的开关量引到测控装置后都要加光隔,以切断来自现场的传导干扰;RS485通讯口经光隔再与外部通讯线连接,防止来自外部通讯线的传导干扰。
有不少人认为:
光偶器件隔离干扰很彻底,用了光偶隔离干扰就过不去了。
其实,光电隔离并非万全之策。
首先,光偶器件本身只能隔离传导干扰,它隔离不断幅射、感应干扰。
幅射来自空间,感应来自相邻的导体。
最常见的败笔是:
设计PCB时将光偶器件的输入和输出电路布在了一起.这时干扰从光偶器件是过不去了,但却很容易经输入电路感应到输出电路。
其次.光偶器件隔离传导干扰的能力也只有1kV左右,1kV以上的干扰或浪涌一般是力所不能及的。
比如EMC的快速脉冲群测试,施加的干扰信号幅值是2kV、4kV、8kV,光偶器件是无法隔离的。
4、误区之四:
PCB布线要横平竖直
提起PCB布线,许多工程技术人员都知道一个传统的经验:
正面横向走线、反面纵向走线,横平竖直,既美观又短捷;还有一个传统经验是:
只要空间允许,走线越粗越好。
可以明确地说,这些经验在注重EMC的今天已经过时。
要使单片机系统有良好的EMC性能,PCB设计十分关键。
一个具有良好的EMC性能的PCB,必须按高频电路来设计——这是反传统的。
单片机系统按高频电路来设计PCB的理由在于:
尽管单片机系统大部分电路的工作频率并不高,但是EMI的频率是高的。
EMC测试的模拟干扰频率也是高的。
要有效抑制EMI,顺利通过EMC测试.PCB的设计必须考虑高频电路的特点。
PCB按高频电路设计的要点是:
(1)要有良好的地线层。
最好的地线层处处等电位,不会产生共模电阻偶合,也不会经地线形成环流产生天线效应;良好的地线层能使EMI以最短的路径进人地线而消失。
建立良好的地线层最好的办法是采用多层板,一层专门用作地线层;如果只能用双面板.应当尽量从正面走线,反面用作地线层,不得已才从反面过线
(2)保持足够的距离。
对于可能出现有害耦合或幅射的两根线或两组线要保持足够的距离,如滤波器的输人与输出、光偶的输人与输出、交流电源线与弱信号线等;
(3)长线加低通滤波器;走线尽量短捷,不得已走的长线应当在合理的位置插入C、RC或LC低通滤波器。
(4)除了地线,能用细线的不要用粗线。
因为PCB上的每一根走线既是有用信号的载体,又是接收幅射干扰的天线,走线越长、越粗,天线效应越强。
5、误区之五:
lC芯片的封装形式不影响性能
众所周知,IC芯片的封装有贴片式和双列直插式之分。
一股认为:
贴片式和双列直插式的区别主要是体积不同和焊接方法不同.对系统性能影响不大。
其实不然。
前面说到,PCB上的每一根走线都存在天线效应。
现在要说,PCB上的每一个元件也存在天线效应,元件的导电部分越大,天线效应越强。
所以,同一型号芯片。
封装尺寸小的比封装尺寸大的天线效应弱。
这就解释了许多工程师已经注意到的一个现象:
同一装置,采用贴片元件比采用双列直插元件更易通过EMC测试。
此外,天线效应还跟每个芯片的工作电流环路有关。
要削弱天线效应,除了减小封装尺寸,还应尽量减小工作电流环路尺寸、降低工作频率和di/dt。
留意最新型号的IC芯片(尤其是单片机)的管脚布局会发现:
它们大多抛弃了传统方式——左下角为GND右上角为VCC,而将VCC和GND安排在相邻位置,就是为了减小工作电流环路尺寸。
实际上,不仅是IC芯片,电阻、电容封装也与EMC有关。
用0805封装比1206封装有更好的EMC性能,用0603封装又比0805封装有更好的EMC性能。
目前国际上流行的是0603封装。