Watchdog在8XC552系列单片机系统中的应用
值。由图2可知,对T3的写信号同时也会加到WLE的清0 端,于是每当T3被写入新值时,WLE位便自动复位。因此,当该值为00H时,溢出间隔最大;而FFH值则对应最小溢出周期。若采用12MHz晶振,这两值则分别为524ms和2ms。最大和最小溢出周期的计算公式分别为:
由于在空闲方式下,监视定时器照常运行。因此,该方式与掉电方式是矛盾的,因为前者需要时钟,后者冻结时钟。故当=0而开启T3工作时,8XC552将无法进入掉电方式,此时向PCON.1写l的操作无效,因而它将保持为0。在软件开发调试的早期阶段,可将引脚接高电平以关闭监视定时器,而在后期改接低电平以完成调试过程。
4.2定时间隔和访问时间的设定
数据采集及处理是程序中的关键部分,也是决定仪器精度的关键所在。本仪器采用电压、电流、频率、相位为主要采集参数,且这些参数是连续变化的,因此采样时间不宜设置得过长,否则会影响仪器的精度。笔者将电流与电压的采样时间定为5ms,频率与相位的采集时间为20ms,这样,Watchdog的定时间隔设置较佳,具体如图3所示。图3中,Watchdog在WDT1时间内完成对采集频率数据的监控,而在WDT2、WDT3、WDT4内分别负责对电压、电流、相位数据采集的监控。在设计程序时,一般取1.1Ts<Tw<2Ts,其中Ts为采样周期,Tw为Watchdog的定时时间,Ts分别为T1、 T2、T3、T4的大小,Tw分别为WDT1、WDT2、WDT3、WDT4的大小。Tw设置太小会增加访问频率,影响程序执行效率;而设置太大则会干扰程序的正常运行,且需等待很长时间才可以恢复运行,而采集或控制对象可能已在这一步偏离过大。因此,CPU访问时间原则上小于Tw就可以了,为防止时间估计不准,设计时应小些为好,这样可以防止系统异常而处于每经过Tw时间启动一次的死循环中。
4.3软件程序
本智能监控仪用C语言编写程序,并采用12MHz晶振时,其溢出时间应分别设置为6ms、20ms、524ms…,这样,在源程序中应适时加入的各Watchdog程序如下:
5结束语
在智能配电仪的源程序中加入Watchdog后,其整个系统运行将更加稳定、可靠,从而有效地克服了来自工业用电现场的各种干扰。
参考文献
1.李勋,刘源.单片机实用教程[M].北京:北京航空航天大学出版社,2000.131-132
2.梁永明,干敏梁.一种新型智能配变电负荷监控 仪的研制[C].江苏南京:南京航空航天大学第四界研究生学术会议论文集,2002.9-15
3.梁永明,干敏梁.MGLS12864型LCD在87C552单片机系统中的应用.北京:现代显示,2002,32-35
系统 应用 单片机 系列 8XC552 Watchdog 相关文章:
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)