看门狗芯片X25045

合集下载

毕业设计论文_基于51单片机

毕业设计论文_基于51单片机

南京信息职业技术学院毕业设计论文作者薛亮学号*****T32 系部电子信息学院专业无线电技术题目基于单片机的家用电器远程遥控装置的设计与制作指导教师李光明评阅教师完成时间:2010年2月11日目录第1章绪论 (5)1.1 概述 (5)1.2 设计要求及主要功能介绍 (5)1.3 MCS-51系列单片机简介 (7)第2章系统总体设计 (9)2.1 系统功能模块的划分 (9)2.2 系统原理框图 (9)2.3 系统软件主要特色 (10)第3章各模块详细设计 (12)3.1 振铃检测模块的设计 (12)3.2 双音多频模块的设计 (13)3.3 自动摘机及超时挂机模块的设计 (16)3.4 语音提示模块的设计 (17)3.5 密码设置模块的设计 (21)3.6 EEPROM及看门狗模块的设计 (23)3.7 继电器驱动模块的设计 (27)3.8 系统总程序的设计 (28)第4章系统的组装、调试和测试 (30)4.1 系统的组装、调试 (30)4.2 振铃检测及自动摘机功能的测试 (30)4.3 语音及双音多频功能的测试 (30)4.4 密码设置功能的测试 (30)4.5 EEPROM密码存储功能的测试 (31)4.6 继电器驱动、电器状态显示及语音提示功能的测试 (31)4.7 超时自动挂机功能的测试 (31)第5章系统方案总评 (32)结论 (33)致谢 (33)参考文献 (33)附录A 家用电器远程遥控装置的功能及使用 (35)1 家用电器远程遥控装置的功能 (35)2 家用电器远程遥控装置的使用方法 (36)图1 家用电器远程遥控装置原理图 (38)图2 家用电器远程遥控装置印制板图 (39)图3 家用电器远程遥控装置CPLD内部电气图 (40)表1 家用电器远程遥控装置元器件清单 (41)第1章绪论1.1 概述单片机以其强大的控制能力已经被广泛应用于诸多领域,从最初的8位控制器到现在的16位、32位控制器都还有很大的发展和应用空间。

X25045芯片简介

X25045芯片简介

X25045芯片简介X25045芯片简介X25045是美国Xicor 公司的生产的标准化8脚集成电路,它将EEPROM 、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。

X25045引脚如图1所示。

其引脚功能如下。

CS :片选择输入;SO :串行输出,数据由此引脚逐位输出;SI :串行输入,数据或命令由此引脚逐位写入X25045;SCK :串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;WP :写保护输入。

当它低电平时,写操作被禁止;Vss :地;Vcc :电源电压;RESET :复位输出。

X25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。

X25045看门狗电路设计及编程X25045硬件连接图如图2所示。

X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。

在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET 输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU 复位。

图2电路中,CPU 的复位信号共有3个:上电复位(C1、R2 ,人工复位(S、R1、R2 和Watchdog 复位(C2、R3 ,通过或门综合后加到RESET 端。

C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU 的振荡器已经在工作。

看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。

如表2所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM 的工作设置有关。

X25045状态寄存器WD1=0,WD0=0,预置时间为1.4s 。

WD1=0,WD0=1,预置时间为0.6s 。

WD1=1,WD0=0,预置时间为0.2s 。

WD1=1,WD0=1,禁止看门狗工作。

实现串行E_2PROM芯片的PC界面操作

实现串行E_2PROM芯片的PC界面操作

收稿日期:2002 01 09 收修改稿日期:2002 04 26实现串行E 2PROM 芯片的PC 界面操作贾东耀,汪仁煌(广东工业大学,广东广州 510090)摘要:基于串行总线I 2C 或SPI 的E 2PROM 芯片已被广泛应用于智能仪表中,但通常对E 2PROM 的操作是利用单片机实现,可视性不强。

文中以X25045为例,给出了一种实现串行E 2PROM 芯片功能的新方案,即通过PC 机和单片机之间的串行通讯,可以很方便的实现PC 机对E 2PROM 的读写操作,并且可以把需要存入E 2PROM 的数据以数据库文件的形式保存起来,设计更为灵活。

PC 机界面采用VB6 0编程,形象直观。

该设计充分利用了PC 机的资源,在模块方式嵌入系统中,对于无显示模板系统的调试,确认存取数据和基本参数的准确性等方面的操作方便、简单。

本方案具有典型性,对于其他I 2C 或SPI 总线串行E 2PROM 的读写同样适用。

关键词:通讯约定;单片机C 语言中图分类号:TP333 文献标识码:B 文章编号:1002-1841(2002)08-0031-03Operation of Serial C hip E 2PROM On PC InterfaceJia Dongyao,Wang Renhuang(Guangdong U niversity of T echnology ,Guangdo ng 510090,China)Abstract:E 2PROM chips based on SPI or I 2C ser ial bus have been used w idely in intelligent instruments and sensors,while the normal oper atio n on E 2PROM is reailized by single chip and is inv isible.T his paper introduces one new method of realizing the function of chip E 2PROM and g ives the example of X25045.By using the serial communication between the P C and single chip,the read and w rite operation of X25045is carried out easily on PC,and the data to be sto red in E 2PRO M can be stored in database file form.T he PC interface is built by Visual Basic 6.0and vivid result is got.Especial ly in model embedded system,this method is effectiv e in debugging embedded system w ithout display model,conforming access data and ex aming the acuracy of basic parameters by making fully use of the PC resourses.T he metho d i s ty pical and can be applied to other E 2PROM chips based o n SPI or I 2C bus.Key Words:Communication Protocol;Single Chip C L anguage1 方案的提出目前基于串行总线I 2C 或SPI 的E 2PROM 芯片越来越多,被广泛应用于单片机系统、智能仪表等各个领域。

X25045编程器的制作

X25045编程器的制作

X25045编程器的制作摘要介绍X25045的编程特性以及用单片机GMS97C2051制作的编程器。

关键词单片机E2PROM 编程1 引言X25045是美国Xicor公司的产品,它将三种功能:电压监控、看门狗定时器和E2PROM 组合在单个芯片之内。

因其体积小、占用I/O口少等优点已被广泛应用于工业控制、仪器仪表等领域,是一种理想的单片机外围芯片。

为了对X25045内的E2PROM编程,用GMS97C2051单片机制作了一个简易编程器,该编程器与PC的串行口相接,编程数据可通过PC机写入X25045的E2PROM。

2 X25045简介2.1 X25045引脚:芯片选择输入;SO:串行输出;SI:串行输入;SCK:串行时钟输入;:写保护输入;Vss:地;Vcc:电源电压;RESET:复位输出。

2.2 X25045工作原理X25045内含512×8的串行E2PROM,可以直接与微控制器的I/O口串行相接。

X25045内有一个位指令寄存器,该寄存器可以通过SI来访问。

数据在SCK的上升沿由时钟同步输入,在整个工作期内,必须是低电平且必须是高电平。

如果在看门狗定时器预置的超时时间内没有总线的活动,那么X25045将提供复位信号输出。

X25045内部有一个“写使能”锁存器,在执行写操作之前该锁存器必须被置位,在写周期完成之后,该锁存器自动复位。

X25045还有一个状态寄存器,用来提供X25045状态信息以及设置块保护和看门狗的超时功能。

表1 X25045的指令集2.3 X25045的读时序(a)读E2PROM的时序(b)读状态寄存器的时序图2 X25045读时序2.4 X25045的写时序(a)写使能锁存器的时序(b)字节写操作的时序图3 X25045写时序2.5 复位操作当Vcc降至门限电压以下或看门狗定时器已达到编程的极限值,X25045的RESET引脚将输出高电平。

3 X25045编程器的组成及原理X25045编程器主要由单片机、MAX232、PS7219和LED等组成,如图4所示(虚线框部分)。

嵌入式看门狗定时器

嵌入式看门狗定时器

看门狗定时器在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watch dog)。

加入看门狗电路的目的是使单片机可以在无人状态下实现连续工作,其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便将它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,从而单片机将从程序存储器的起始位置重新开始执行程序,这样便实现了单片机的自动复位。

通常看门狗电路需要一个专门的看门狗芯片连接单片机来实现,不过这样会给电路设计带来复杂,STC单片机内部自带有看门狗,通过对相应特殊功能寄存器的设置就可实现看门狗的应用,STC89系列单片机内部有一个专门的看门狗定时器寄存器,Watch Dog Timer 寄存器看门狗定时器寄存器(WDT_CONTR)STC单片机看门狗定时器寄存器在特殊功能寄存器中的字节地址为E1H,不能位寻址,该寄存器用来管理STC单片机的看门狗控制部分,包括启停看门狗、设置看门狗溢出时间等。

单片机复位时该寄存器不一定全部被清0,在STC下载程序软件界面上可设置复位关看门狗或只有停电关看门狗的选择,大家根据需要可做出适合自己设计系统的选择。

其各位的定义如表1所示。

CLR_WDT :看门狗清“0”位,当设为“1”时,看门狗定时器将重新计数。

看门狗芯片X25045

看门狗芯片X25045

SPI接口应用之一---看门狗芯片X25045hadao 发表于 2006-5-8 0:08:41一、引脚定义及通信协议SO:串行数据输出脚,在一个读操作的过程中,数据从SO脚移位输出。

在时钟的下降沿时数据改变。

SI:串行数据输入脚,所有的操作码、字节地址和数据从SI脚写入,在时钟的上升沿时数据被锁定。

SCK:串行时钟,控制总线上数据输入和输出的时序。

/CS :芯片使能信号,当其为高电平时,芯片不被选择,SO脚为高阻态,除非一个内部的写操作正在进行,否则芯片处于待机模式;当引脚为低电平时,芯片处于活动模式,在上电后,在任何操作之前需要CS引脚的一个从高电平到低电平的跳变。

/WP:当WP引脚为低时,芯片禁止写入,但是其他的功能正常。

当WP引脚为高电平时,所有的功能都正常。

当CS为低时,WP变为低可以中断对芯片的写操作。

但是如果内部的写周期已经被初始化后,WP变为低不会对写操作造成影响。

二、硬件连接三、程序设计状态寄存器:WIP:写操作标志位,为1表示内部有一个写操作正在进行,为0则表示空闲,该位为只读。

WEL:写操作允许标志位,为1表示允许写操作,为0表示禁止写,该位为只读。

BL0,BL1:内部保护区间的地址选择。

被保护的区间不能进行看门狗的定时编程。

WD0,WD1:可设定看门狗溢出的时间。

有四种可选择:1.4s,600ms,200ms,无效。

操作码:WREN 0x06 设置写允许位WRDI 0x04 复位写允许位RDSR 0x05 读状态寄存器WRSR 0x01 写状态寄存器READ 0x03/0x0b 读操作时内部EEPROM页地址WRITE 0x02/0x0a 写操作时内部EEPROM页地址程序代码:#i nclude <reg51.h>sbit CS= P2^7;sbit SO= P2^6;sbit SCK= P2^5;sbit SI= P2^4;#define WREN 0x06 //#define WRDI 0x04 //#define RDSR 0x05 //#define WRSR 0x01 //#define READ0 0x03 //#define READ1 0x0b //#define WRITE0 0x02 //#define WRITE1 0x0a //#define uchar unsigned charuchar ReadByte() //read a byte from device{bit bData;uchar ucLoop;uchar ucData;for(ucLoop=0;ucLoop<8;ucLoop++){SCK=1;SCK=0;bData=SO;ucData<<=1;if(bData){ ucData|=0x01; }}return ucData;}void WriteByte(uchar ucData)//write a byte to device {uchar ucLoop;for(ucLoop=0;ucLoop<8;ucLoop++){if((ucData&0x80)==0) //the MSB send first{SI=0;}else{SI=1;}SCK=0;SCK=1;ucData<<=1;}}uchar ReadReg() //read register{uchar ucData;CS=0;WriteByte(RDSR);ucData=ReadByte();CS=1;return ucData;}uchar WriteReg(uchar ucData) //write register{uchar ucTemp;ucTemp=ReadReg();if((ucTemp&0x01)==1) //the device is busyreturn 0;CS=0;WriteByte(WREN);//when write the WREN, the cs must have a high lev elCS=1;CS=0;WriteByte(WRSR);WriteByte(ucData);CS=1;return 1;}void WriteEpm(uchar cData,uchar cAddress,bit bRegion)/* 写入一个字节,cData为写入的数,cAddress为写入地址,bRegion为页 */{while((ReadReg()&0x01)==1); //the device is busyCS=0;WriteByte(WREN); //when write the wren , the cs must have a high l evelCS=1;CS=0;if(bRegion==0){ WriteByte(WRITE0);} //write the page addrelse{WriteByte(WRITE1);}WriteByte(cAddress);WriteByte(cData);SCK=0; //CS=1;}uchar ReadEpm(uchar cAddress,bit bRegion)/* 读入一个字节,cAddress为读入地址,bRegion为页 */{uchar cData;while((ReadReg()&0x01)==1);//the device is busyCS=0;if(bRegion==0){WriteByte(READ0); }else{WriteByte(READ1);}WriteByte(cAddress);cData=ReadByte();CS=1;return cData;}main(){WriteReg(0x00);//set the watchdog time as 1.4sCS=1;CS=0; //reset the watchdog}基于X25045的新型看门狗电路图作者:重庆三峡学院应用技术学院谢辉来源:不详点击数:更新时间:2007年02月14日看门狗(watchdog)电路是嵌入式系统需要的抗干扰措施之一。

多功能器件X25045及其在总线节点中的应用

多功能器件X25045及其在总线节点中的应用
文章编号:1009-0193(2003)04-0034-04!
多功能器件 X25045 及其在总线节点中的应用
王俊波,王红蕾
(贵州工业大学 电气工程学院,贵州 贵阳 550003)
摘 要:介绍多功能器件 X25045 的主要特点和原理,结合其在 CAN 总线节点中的作用,设计
并实现其硬件接口电路及软件。
具有低功耗、长寿命、可编程锁定等功能。使用 3 线总线串行外设接口 SPI,就可对芯片进行读写操作。利用编程器与计算机
相连,来实现对 E2 PROM 进行读写。
1 . 2 工作原理
X25045 内部有一个 8 位指令寄存器,该寄存器可以通过引脚 SI 来访问,数据在串行时钟输入的上升沿
! 收稿日期:2003 - 04 - 23 基金项目:贵州省基金项目资助[黔基合计字(1998)2010 号]
特别提出的是,看门狗定时器对单片机提供了独立的保护系统,当 系统出现故障时,只要其计时达到其编程的超时极限,或者当电源电压 降到最低转换点以下时,RESET 引脚就会立即输出高电平复位信号。
引脚
1 2 3 4 5 6 7 8
引脚名称
CS SO WP VSS SI SCK RESET Vcc
功能说明
芯片选择输入 串行输出
WIP 位表示 X25045 是否在向 E2 PROM 写数据。该位是 l 时,表示正在进行写操作,此时不能向其写 数据,反之,则是没有写操作进行,可以向其写数据。WEL 位是写使能锁存器的状态位。可以由指令进行复 位和置位操作。写使能锁存器被复位时向其写操作被禁止。
由 WREN 指令可以对状态寄存器中的 BL0,BLl,WD0,WDl 进行设置。BL0 和 BLl 位确定 E2 PROM 的块保护地址范围。WD0 和 WDl 位是看门狗超时功能的设定位,可以设置不同的周期(典型值 l . 4 S、600 mS、200 mS). 当 WD0 和 WDl 同时为 l 时,功能被禁止。

可编程看门狗监控EEPROM芯片X25045及其应用

可编程看门狗监控EEPROM芯片X25045及其应用

18科技资讯 SCIENCE & TECHNOLOGY INFORMATION2009 NO.32SCIENCE & TECHNOLOGY INFORMATION信 息 技 术在单片机系统中,通常需要在外围连接一个看门狗电路,以防止程序走飞;同时,单片机系统也需要监测电源电压的情况,以便系统掉电时能及时复位,从而避免因电源波动影响系统的正常工作;另外,单片机应用时,需要提前设置一些参数,比如时钟初值、控制算法参数等,一旦设置完成后,这些参数往往需要掉电保存。

X25045是美国Xicor 公司出品的新型可编程看门狗监控EEPROM 芯片。

X25045把常用的看门狗定时、电压监控和EEPROM 三种功能组合在单个封装之内,从而降低了系统成本并减少了电路板空间的要求。

我们曾将X25045应用到“步进电机细分驱动器”、“食堂收费终端”中,在实际使用中收到了良好的效果。

1 X25045的结构及特点1.1引脚功能X25045是Xicor 公司生产的微处理器监控电路,采用8脚DIP 封装,各引脚见图4,其作用分别是:CS:芯片选择输入引脚;SO:串行输出引脚,在读周期内,数据在此引脚上输出,数据由串行的时钟的下降沿同步输出;WP:写保护输入引脚,当WP 为低电平时,X25045的写操作被禁止;VSS:地引脚;SI:串行输入引脚,所有操作码、字节地址以及写入存储器的数据在此引脚上输入,串行时钟的上升沿锁存SI 数据;SCK:串行时钟引脚,用于数据输入和输出的串行总线定时;RESET:复位输出引脚,高电平有效;VCC:电源电压。

1.2主要特点(1)可编程的看门狗定时器;(2)低Vcc 检测;(3)512×8位串行E2PROM;(4)低功耗CMOS:10μA 备用电流;3mA 工作电流;(5)电源电压范围宽:2.2V 到5.5V;(6)块锁定:可以保护1/4,1/2或所有EEPROM 阵列;(7)内建写保护:上电/掉电保护电路、写锁存、写保护引脚;(8)高可靠,数据保存期为100年;(9)8引脚小型DIP 封装;(10)X25045为RESET 复位控制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SPI接口应用之一---看门狗芯片X25045hadao 发表于 2006-5-8 0:08:41一、引脚定义及通信协议SO:串行数据输出脚,在一个读操作的过程中,数据从SO脚移位输出。

在时钟的下降沿时数据改变。

SI:串行数据输入脚,所有的操作码、字节地址和数据从SI脚写入,在时钟的上升沿时数据被锁定。

SCK:串行时钟,控制总线上数据输入和输出的时序。

/CS :芯片使能信号,当其为高电平时,芯片不被选择,SO脚为高阻态,除非一个内部的写操作正在进行,否则芯片处于待机模式;当引脚为低电平时,芯片处于活动模式,在上电后,在任何操作之前需要CS引脚的一个从高电平到低电平的跳变。

/WP:当WP引脚为低时,芯片禁止写入,但是其他的功能正常。

当WP引脚为高电平时,所有的功能都正常。

当CS为低时,WP变为低可以中断对芯片的写操作。

但是如果内部的写周期已经被初始化后,WP变为低不会对写操作造成影响。

二、硬件连接三、程序设计状态寄存器:WIP:写操作标志位,为1表示内部有一个写操作正在进行,为0则表示空闲,该位为只读。

WEL:写操作允许标志位,为1表示允许写操作,为0表示禁止写,该位为只读。

BL0,BL1:内部保护区间的地址选择。

被保护的区间不能进行看门狗的定时编程。

WD0,WD1:可设定看门狗溢出的时间。

有四种可选择:1.4s,600ms,200m s,无效。

操作码:WREN 0x06 设置写允许位WRDI 0x04 复位写允许位RDSR 0x05 读状态寄存器WRSR 0x01 写状态寄存器READ 0x03/0x0b 读操作时内部EEPROM页地址WRITE 0x02/0x0a 写操作时内部EEPROM页地址程序代码:#i nclude <reg51.h>sbit CS= P2^7;sbit SO= P2^6;sbit SCK= P2^5;sbit SI= P2^4;#define WREN 0x06 //#define WRDI 0x04 //#define RDSR 0x05 //#define WRSR 0x01 //#define READ0 0x03 //#define READ1 0x0b //#define WRITE0 0x02 //#define WRITE1 0x0a //#define uchar unsigned charuchar ReadByte() //read a byte from device{bit bData;uchar ucLoop;uchar ucData;for(ucLoop=0;ucLoop<8;ucLoop++){SCK=1;SCK=0;bData=SO;ucData<<=1;if(bData){ ucData|=0x01; }}return ucData;}void WriteByte(uchar ucData)//write a byte to device {uchar ucLoop;for(ucLoop=0;ucLoop<8;ucLoop++){if((ucData&0x80)==0) //the MSB send first{SI=0;}else{SI=1;}SCK=0;SCK=1;ucData<<=1;}}uchar ReadReg() //read register{uchar ucData;CS=0;WriteByte(RDSR);ucData=ReadByte();CS=1;return ucData;}uchar WriteReg(uchar ucData) //write register{uchar ucTemp;ucTemp=ReadReg();if((ucTemp&0x01)==1) //the device is busyreturn 0;CS=0;WriteByte(WREN);//when write the WREN, the cs must have a high levelCS=1;CS=0;WriteByte(WRSR);WriteByte(ucData);CS=1;return 1;}void WriteEpm(uchar cData,uchar cAddress,bit bRegion) /* 写入一个字节,cData为写入的数,cAddress为写入地址,b Region为页 */{while((ReadReg()&0x01)==1); //the device is busyCS=0;WriteByte(WREN); //when write the wren , the cs must hav e a high levelCS=1;CS=0;if(bRegion==0){ WriteByte(WRITE0);} //write the page addrelse{WriteByte(WRITE1);}WriteByte(cAddress);WriteByte(cData);SCK=0; //CS=1;}uchar ReadEpm(uchar cAddress,bit bRegion)/* 读入一个字节,cAddress为读入地址,bRegion为页 */{uchar cData;while((ReadReg()&0x01)==1);//the device is busyCS=0;if(bRegion==0){WriteByte(READ0); }else{WriteByte(READ1);}WriteByte(cAddress);cData=ReadByte();CS=1;return cData;}main(){WriteReg(0x00);//set the watchdog time as 1.4sCS=1;CS=0; //reset the watchdog}基于X25045的新型看门狗电路图作者:重庆三峡学院应用技术学院谢辉来源:不详点击数:更新时间:2007年02月14日看门狗(watchdog)电路是嵌入式系统需要的抗干扰措施之一。

本文用x25045芯片设计了一种新的看门狗电路,具有体积小、占用i/o口线少和编程方便的特点,可广泛应用于仪器仪表和各种工控系统中。

前言工控系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。

看门狗(watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包含看门狗电路。

在8096系列单片机和增强型8051系列单片机中,该系统已经做在芯片内部,用户只要用软件开放它就可以,使用很方便。

但目前工控系统仍在使用廉价的普通型8051系列单片机,则看门狗电路必须由用户自己建立。

看门狗电路一般有软件看门狗和硬件看门狗两种。

软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。

硬件看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由555多谐振荡器、计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。

x25045芯片简介x25045是美国xicor公司的生产的标准化8脚集成电路,它将eeprom、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。

x2504 5引脚如图1所示。

图1 x25045引脚图其引脚功能如下。

cs:片选择输入;so:串行输出,数据由此引脚逐位输出;si:串行输入,数据或命令由此引脚逐位写入x25045;sck:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;wp:写保护输入。

当它低电平时,写操作被禁止;vss:地;vcc:电源电压;reset:复位输出。

x25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。

表1 x25045指令及其含义x25045看门狗电路设计及编程x25045硬件连接图如图2所示。

x25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。

在看门狗定时器预置的时间内若没有总线活动,则x25045将从reset输出一个高电平信号,经过微分电路c2、r3输出一个正脉冲,使cpu复位。

图2电路中,cp u的复位信号共有3个:上电复位(c1、r2),人工复位(s、r1、r2)和watchdog复位(c2、r 3),通过或门综合后加到reset端。

c2、r3的时间常数不必太大,有数百微秒即可,因为这时cpu的振荡器已经在工作。

图2 x25045看门狗电路硬件连接图看门狗定时器的预置时间是通过x25045的状态寄存器的相应位来设定的。

如表2所示,x2 5045状态寄存器共有6位有含义,其中wd1、wd0和看门狗电路有关,其余位和eeprom的工作设置有关。

表2 x25045状态寄存器wd1=0,wd0=0,预置时间为1.4s。

wd1=0,wd0=1,预置时间为0.6s。

wd1=1,wd0=0,预置时间为0.2s。

wd1=1,wd0=1,禁止看门狗工作。

看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。

编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。

当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。

以下是c语言编写的看门狗程序部分。

#include "reg51.h"sbit cs=p1^2;/*片选信号由p1.2产生*/sbit sck=p1^3; /*时钟信号由p1.3 产生*/sbit si=p1^0; /*si由p1.0产生*/sbit so=p1^1; /*so由p1.1产生*/sbit c=acc^7; /*定义位变量*/bdata unsigned char com;void tran() /*发送一字节数据子函数*/{unsigned char i;for(i=0; i<8; i++){ acc=com; /*将数据放入a中*/si=c;sck=0; /*sck产生一个上跳变*/sck=1;com=com<<1; /*左移一位*/}return;}main(){com=0x06; /*发写读使能命令*/cs=0;tran();cs=1;com=0x01; /*发写状态字命令*/cs=0;tran();com=0x00; /*定时1.4s*/tran();cs=1;...;系统正常运行的程序部分}需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指令,使系统正常运行时的定时时间达不到预置时间。

相关文档
最新文档