|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机应用系统中的“看门狗”电路及低成本实现
9 O5 M# s3 x4 t y$ L7 R' v/ R+ v0 |0引言
+ W; S1 S! u/ c0 W. |! i) ] v单片机测控系统在工业自动化、生产过程控制、智能化仪器仪表等领域得到广泛的应用.单片机测控系
! S& |9 k' b+ M! E$ ~: z统的工作环境往往是比较恶劣和复杂的,单片机不可避免的要受到来自外部的千扰系统及内部和外部的各
9 h. m% U3 F) _0 p+ z5 u& E种电气干扰的影响.这时单片机可能会出现输入、输出错误,甚至会干扰到程序指针PC,使其发生错误,那就: X1 X, L9 l' I$ j& j4 J2 y
有可能误将非操作码当作操作码来执行,会造成程序执行混乱甚至进人死循环,使系统无法正常运行.因此1 ?0 M9 `5 a/ g) a( v( j
如何发现CPU受到干扰,如何拦截失去控制的程序的流向,使程序纳人正常轨道是单片机应用系统中必须
* s4 [7 ^7 ^1 I解决的问题.通常采取的方法有指令冗余、软件陷阱、“看门狗”技术.指令冗余技术、软件陷阱技术可以使大" D3 @) q f5 T9 A
多数失控的程序走向正常.但是当失控程序形成了死循环,指令冗余技术、软件陷阱技术就无能为力了,只
- e! s$ P% C9 s- |3 w) h有人工的干预或者采用程序监视技术(又称为“看门狗”技术Watchdog) ,才能使系统脱离死循环.1 m- W4 Y& Y9 y! F6 w5 u
1看门狗技术基本原理3 M4 C' J' V: e2 B( |9 K: y8 n
“看门狗”实质上是一个程序监视定时器.它的定时时间是固定不变的,一旦定时时间到,产生中断或
* i$ S- ?$ X: R+ U: Q" s! v& U输出一个脉冲,强制单片机复位,程序指针PC恢复初始值,从而使程序恢复正常运行.因此在单片机正常工; y! q9 _5 i3 p0 u1 S
作时,程序不断地在定时时间到来之前对定时器复位,定时器就不会产生中断或溢出脉冲.如果因干扰而出
7 F, e9 G# Y5 q- c, ~' |$ @9 w ^现死循环,定时器不能及时复位,定时时间到,会产生中断或输出一个脉冲,强制单片机复位[3].由于在单片2 I& N, \( r d' V1 I1 E3 z5 ^
机中使用“看门狗”技术能有效解决因干扰导致死循环的问题,所以很多单片机在其内部已经集成了硬件& [" t( n+ _6 x* g6 m! ?1 p
“看门狗”.对于没有集成硬件“看门狗”的单片机,在需要的时候,可以使用软件“看门狗"或者外接-一个硬
0 j7 @1 F" z4 W件“看门狗”电路.- K0 V# ~0 I. g" `
2硬件“看门狗”
2 w1 t# E2 U4 B# D% y! i4 g* x5 e4 ?硬件“看门狗"必须通过两根信号线与单片机连接,其中一根信号线用于检测单片机工作状态当单片" G' p+ M* e$ L/ c$ h# Q
机正常工作时,单片机通过该信号线不断的用小于“看门狗”定时时间的周期脉冲信号输人“看门狗”电路,7 O& |: _/ o! m* r. J6 u
使“看门狗”定时器复位.当单片机受到干扰而陷人死循环的时候,无法使“看门狗"电路定时器复位,定时时
# I+ R: V9 g7 [2 Z( h; a间到以后,“看门狗”通过另一根信号线输出复位信号,使单片机复位,系统重新启动,从而恢复正常. .: e1 ]/ S+ _# d* r: r& r. E
2.1单稳态型“看门狗”- [5 g( I3 h; Z- F" h* P
利用一片74IS123双可重触发单稳态多谐振荡器构成116-167,“看门狗”电路如图1所示.图中( Q( N* Q1 [1 f1 X7 ~! F
+ h3 m4 K" n. l3 \) i* n! @0 G& G' _) G! g: p2 I
9 Q/ N- C G7 w: f6 n- ]$ [$ q
|
|