|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机应用系统中的“看门狗”电路及低成本实现' n, f$ d7 }$ U& G# {9 ~ Q! l
0引言% S3 m9 |6 y ]) ^# {! N
单片机测控系统在工业自动化、生产过程控制、智能化仪器仪表等领域得到广泛的应用.单片机测控系7 {2 k6 {" w% V: P3 t
统的工作环境往往是比较恶劣和复杂的,单片机不可避免的要受到来自外部的千扰系统及内部和外部的各" [8 x9 s1 ?+ G+ }+ D- ~
种电气干扰的影响.这时单片机可能会出现输入、输出错误,甚至会干扰到程序指针PC,使其发生错误,那就
# f! v! Z; L! o有可能误将非操作码当作操作码来执行,会造成程序执行混乱甚至进人死循环,使系统无法正常运行.因此0 t- G2 H- M" T1 a
如何发现CPU受到干扰,如何拦截失去控制的程序的流向,使程序纳人正常轨道是单片机应用系统中必须
+ t- s* p1 }9 @7 {& l解决的问题.通常采取的方法有指令冗余、软件陷阱、“看门狗”技术.指令冗余技术、软件陷阱技术可以使大
. ?) p" V( \7 ]: b. N多数失控的程序走向正常.但是当失控程序形成了死循环,指令冗余技术、软件陷阱技术就无能为力了,只
: r8 \% p. k+ A8 R7 s( H/ ?有人工的干预或者采用程序监视技术(又称为“看门狗”技术Watchdog) ,才能使系统脱离死循环.* y% M9 o/ G) O
1看门狗技术基本原理
. O/ ?; C$ d3 r) Y8 a6 C1 m“看门狗”实质上是一个程序监视定时器.它的定时时间是固定不变的,一旦定时时间到,产生中断或$ P ]% Y0 o; w4 ~- v- d4 N
输出一个脉冲,强制单片机复位,程序指针PC恢复初始值,从而使程序恢复正常运行.因此在单片机正常工' W7 ^$ S8 P4 h5 N% T
作时,程序不断地在定时时间到来之前对定时器复位,定时器就不会产生中断或溢出脉冲.如果因干扰而出
7 `: N* `3 a" P: f; ?5 h4 d* ]6 e现死循环,定时器不能及时复位,定时时间到,会产生中断或输出一个脉冲,强制单片机复位[3].由于在单片8 v' {2 s: t' K7 [ D
机中使用“看门狗”技术能有效解决因干扰导致死循环的问题,所以很多单片机在其内部已经集成了硬件; m) y# i/ Z! _) P* s6 h# ]
“看门狗”.对于没有集成硬件“看门狗”的单片机,在需要的时候,可以使用软件“看门狗"或者外接-一个硬# E+ @4 j5 U6 `, n5 y& E8 a
件“看门狗”电路.# l# K9 J- |0 e
2硬件“看门狗”
4 {) Q, J- L( v硬件“看门狗"必须通过两根信号线与单片机连接,其中一根信号线用于检测单片机工作状态当单片. g8 Y! ^' j+ G* d; ]
机正常工作时,单片机通过该信号线不断的用小于“看门狗”定时时间的周期脉冲信号输人“看门狗”电路,
- N2 p8 ]5 C' m* y+ c使“看门狗”定时器复位.当单片机受到干扰而陷人死循环的时候,无法使“看门狗"电路定时器复位,定时时1 e; x6 |# a) t; C9 V6 r
间到以后,“看门狗”通过另一根信号线输出复位信号,使单片机复位,系统重新启动,从而恢复正常. .9 M* O5 n5 P4 Y
2.1单稳态型“看门狗”) T( d' B" F" O( ?/ j+ Q
利用一片74IS123双可重触发单稳态多谐振荡器构成116-167,“看门狗”电路如图1所示.图中0 M: y* | E+ S# G% p3 w! `# O/ H
# h. n, `4 R/ Z/ D0 f- B h9 G \6 o" `& S- ^- t$ @. ~4 ]+ Y# T# _
4 ^: ]; q( T% y! b4 m* X
|
|