Watchdog在Philips 8XC552系列单片机系统中的应用

发布者:冰雪勇士最新更新时间:2006-06-09 来源: 国外电子元器件关键字:单片机  复位  溢出 手机看文章 扫描二维码
随时随地手机看文章

  1 引言
  
  Philips公司的8XC552单片机以其体积小、功能强、价格低等优势而广泛地使用在工业控制、DCS控制和智能仪器等领域。笔者在智能配电监测仪的研制过程中,虽然采取了相应的抗干扰措施,但由于工业现场环境中电磁场、电网尖峰、谐波、浪涌及雷电辐射等影响,仍有可能出现程序死循环、跑飞等失控现象。为此,笔者采用Watchdog技术保证了系统的正常运行,通常Watchdog技术在单片机应用系统中可分为软件Watchdog和硬件Watchdog。Philips公司的8XC552、Intel的8098、Motorala的68C05以及Microchip的16C5X系列单片机本身已带有软件Watchdog功能,因此,只要硬件接法正确,在软件设计中调用相应语句进行启动即可。

  2 硬件组成原理

  2.1系统工作原理

  图1所示是87C522单片机用于智能型配电仪的连接电路,本智能配电仪中的87C552为主控芯片,该芯片除具有三个16位定时器T0、T1及T2外,还有一个专作监视8位定时器、简称WDT(WatchdogTimer)的T3定时器。因为微控制器有时会受噪音、射频干扰等环境因素的影响而导入错误的运行状态。监视定时器的功能就是在某特定的时限内使微控制器复位,从而将其从错误的状态中恢复过来以重新开始正常运行。当T3用作Watchdog定时器并由软件启动计时后,如果系统已达到所设定的预定时间而仍没有重新启动定时器,此时就会产生溢出信号并停止计时,表明系统出现异常。CPU可以对定时器重新启动、清零、设定计时值等操作。系统正常运行时,CPU将周期性地重新启动定时器,当然其启动周期应小于定时器的设定值,以保证定时器始终不能产生溢出信号。而当系统运行不正常时,由于CPU不能周期性地启动定时器,因而定时器将产生溢出信号,以强迫CPU恢复系统的正常运行。

  2.2 Watchdog的内部结构原理
  
  监视定时器的结构原理如图2所示。它的核心为一8位定时器,其前级是一个11位定标器。后者的输入信号为fosc/12,即定标器对机器周期进行递增计数。这样,每过2个机器周期,定时器T3的值便增加1000次。若用16MHz或24MHz晶体振荡器,则监视定时器的增值间隔将分别为1.536ms和1.024ms;其相应的最大溢出周期分别为393.216ms和262.144ms。

  当监视定时器溢出时,系统将产生一个内部复位脉冲以使8XC552复位。由图2可以看出,T3溢出时,RST引脚内侧的晶体管因栅极出现一个负脉冲而瞬时导通,从而在RST引脚上输出一个复位正脉冲,其宽度为3个机器周期。如果RST引脚外接电容,则这么窄的输出脉冲可能遭到破坏,因为电容不允许RST引脚电压产生突变,但这不会影响到内部复位操作。

  如果将8XC552的引脚接至低电平,则输入信号至定标器的通路将畅通无阻,于是监视定时器便正常运作。但若将引脚接高电平,输入信号则会因与门被封锁而不能通过,这时监视定时器处于关闭状态。应当指出,一旦T3被开启,则无法用软件使之关闭;同时如果T3被EW禁止,也无法用软件启动。
  
  如果=0,那么PCON寄存器的PD位便不可写入,其初值为0,无法置l,即不可进入掉电方式。故监视定时器和掉电方式两者不可兼得。



  3 调试中的常见问题及其解决方法
  
  在对系统进行调试时,有可能出现闪屏、无法显示以及显示杂乱等现象,现将这些问题的解决方法介绍如下:

  (1)LCD出现闪屏,无法翻屏显示现象
  
  笔者在用仿真器运行编程时,LCD能够翻屏并不断显示采集来的三相用电参数,但离开仿真器处于脱机运行状态时,LCD只能显示第一屏数据。经查仿真器的引脚接高电平,而脱机时脚悬空,从而引起了脚的状态不固定,并不断产生内部复位信号使单片机复位而出现了上述现象。后来把脚接低电平,仍然出现上述现象。而把脚接高电平后(即禁用Watchdog功能),则LCD显示正常。因此,引脚应严格禁止悬空以避免出现不稳定的状态,同时在未载入Watchdog程序之前,其引脚也不能接低电平。

  (2)LCD无显示
  
  RST端的电容应确保连接正确,否则在高电平时将无法加到复位端而使CPU不能运行程序,从而出现LCD无显示的现象。

  (3)LCD显示数据杂乱无章、数据死锁

  把脚接低电平,可能会出现LCD显示的数据杂乱无章、数据死锁现象。其原因是源程序中未载入Watchdog程序,因此应保证在源程序中加入Watchdog程序,以消除数据的死锁或显示杂乱无章等问题。

  4 软件设计

  4.1软件设计
  
  编写监视定时器运行软件时,程序员首先应当确定系统能够在错误状态下支持的时间,也就是设定溢出周期的依据。例如能维持16ms,则把T3的初值设定为10,这样,在16MHz晶振的情况下,溢出周期为15.36ms。此时程序员就可对其软件进行划分,以确定把重写T3值的指令插在什么地方,才能使相邻两次重写操作间隔不超过监视定时器的溢出周期,以保证正常运作时T3不溢出。因此,程序员应当了解所有软件模块的执行时间,同时也要考虑到出现条件跳转、子程序及内外中断等因素所带来的影响。对于那些很难估算其执行时间的程序段落,应按最坏情况估算。为防止误写,监视定时器值的重写可分两步进行。首先将PCON.4(监视定时器装入允许位WLE)置1,以允许对T3进行写入;第二步向T3写入新值。由图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后,其整个系统运行将更加稳定、可靠,从而有效地克服了来自工业用电现场的各种干扰。

关键字:单片机  复位  溢出 引用地址:Watchdog在Philips 8XC552系列单片机系统中的应用

上一篇:基于LabVIEW的远程测控方法
下一篇:开关功率放大器的数字控制方案研究

推荐阅读最新更新时间:2024-05-13 18:12

Bourns微型化可复位温度保护器,小型电池的首选
美商柏恩Bourns全球知名电子组件领导制造供货商,今天推出新系列的微型化可复位温度保护器组件。该组件专为锂聚合物电池和方形锂电池的过热和过流保护而设计。 Bourns®Model CB系列乃是新一代轴向引脚设计TCO组件产品,几乎可以瞬时控制异常过大电流,直至达到额定极限。与Bourns既有且在市场上非常成功的NR系列相比, 新一代面积缩小26%以上,但具有相同的电流承载能力量。 该组件高度仅为0.8 mm,机身宽度为2.5 mm,非常适合智能手机和便携式电子产品中的小型电池,但其高电流承载能力亦成为下一代笔记本计算机和平板计算机电池的理想选择。 Bourns®CB A系列在60°C的环境下可以承受6 A到10A的电流
[电源管理]
Bourns微型化可<font color='red'>复位</font>温度保护器,小型电池的首选
AT89S51单片机串行口的内部结构及功能介绍
AT89S51单片机串行口的内部结构如下图所示。它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。 串行口的控制寄存器共有两个:特殊功能寄存器SCON和PCON。下面介绍这两个特殊功能寄存器各位的功能。 1、串行口控制寄存器SCON 串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。SCON的格式如下图所示。 下面介绍SCON中各位的功能。 (1) SM0、SMl:串行口4种工作方式选择位。 SM0、SM1两位的编码所对应的4种工作方式见下表。 表
[单片机]
AT89S51<font color='red'>单片机</font>串行口的内部结构及功能介绍
51单片机C语言学习 3
第三课 生成HEX文件和最小化系统   在开始C语言的主要内容时,我们先来看看如何用KEIL uVISION2来编译生成用于烧写芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一课做的第一项目,打开它的所在目录,找到test.Uv2的文件就可以打开先前的项目了。然后右击图3-1中的1项目文件夹,弹出项目功能菜单,选Options for Target'Target1',弹出项目选项设置
[单片机]
SM2965MCU及其在系统编程中的应用
1 引言 在系统中编程(ISP)技术的出现是对传统编程方法的突破,它是指在用户设计的微控制器系统中为配置新的系统功能对器件进行重新编程的技术,在线将程序代码(固件)下载到程序存储器中。继SST公司推出具备ISP功能的FlashFlex51 系列微控制器之后,PHILISPS、WINBOND、LG、ATMEL、SynCMOS等公司相继推出具备ISP/IAP (In-Application Programming)功能的51系列微控制器 。这些器件的性能增强还表现在:(1)内部ROM采用Flash存储器,容量达到32~64k字节,内部RAM容量达到512~1024字节;(2)增加特殊功能寄存器,控制功能进一步增强;(3)内部配置看门
[单片机]
SM2965<font color='red'>MCU</font>及其在系统编程中的应用
ARM核MCU和SoC的未来发展趋势
在后经济危机时代, 消费者更趋于理智,希望可以用更低的价格获得更高性能更好用户体验的便携电子产品,对低成本差异化产品要求提升了。这就要求半导体行业开发先进的片上芯片( SoC )平台,推动创新,从而为新一轮移动互联应用和服务提供更出色的用户体验。 这符合ARM一贯遵循的商业模式和市场策略,鼓励技术创新并降低成本。ARM已经与国内许多芯片厂商展开合作,降低设计门槛,授权更多先进的技术给国内公司,满足以中国为中心的发展中国家市场和新兴市场对高性能低成本产品的需求。 ARM始终坚持一贯的市场战略,并没有因为金融危机而改变。我们现在的重点加大了软件方面的投入,与合作伙伴的关系也变得更加紧密,这是为了扩大并加强ARM的生态环境
[工业控制]
7.STC15W408AS单片机串口通信
STC15W408AS只有一个串口,串口1,有4种工作方式,其中两种方式的波特率是可变的,另两种是固定的,以供不同应用场合选用。 一、串口1相关寄存器 下面只把接下来我需要的寄存器和寄存器的位说明一下。 1.1 控制寄存器SCON 其中SM0、SM1按下列组合确定串行口1的工作方式: REN:允许/禁止串行接收控制位。由软件置位REN,即REN=1为允许串行接收状态,可启动串行接收器RxD,开始接收信息。软件复位REN,即REN=0,则禁止接收。 TI: 发送中断请求标志位。在方式0,当串行发送数据第8位结束时,由内部硬件自动置位,即TI=1,向主机请求中断,响应中断后TI必须用软件清零,即TI=0。在其他方式
[单片机]
7.STC15W408AS<font color='red'>单片机</font>串口通信
labview与单片机串口通信
VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。 VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不同种类的仪器。它还支持多平台工作、多接口控制,是一个多类型的函数库。 在LabVIEW中编写的VISA接口程序,当外部设备变更时,只需要更换几个程序模块即可使用,简单方便而且开发效率高。 在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用户
[单片机]
基于MODEM的单片机与PC机间的元程通信
    摘要: 公用电话网技术成熟、覆盖范围广,利用现有的化用电话网来实现单片机与PC机远程通信是一种非常有效的方法。本文详细介绍利用现有公共电话网实现8098单片机与远程PC机之间数据通信的硬件、软件设计和实现方法。     关键词: 单片机 PC机 通信 调制解调器 随着计算机技术、通信技术的发展和成熟,数据通信已经成为一种广泛应用的通信方式,它是利用通信系统将数字、字母及字符等以二进制形成在计算机之间进行传输、交换和处理。数据通信可以在两台及以上PC机之间、PC机与单片机之间以及单片机之间进行,通过通信通道如公用电话网、载波通道、光绺通道、微波通道、卫星通道将两机联结。目前,单片机以其高性能价格比、高可
[工业控制]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved