随着现代电子技术的发展,带有各种微处理的现代电子设备已广泛应用于国民生产的各行各业中。但随着设备功能越来越强大,程序结构越来越复杂,指令代码越来越长,加之现场工作环境的干扰,设备失控,程序“走飞”,各功能模块“死机”的概率也同样成倍地增加。对此,常见的解决方法是在电路设计时放置一片硬件看门狗(Watchdog)电路,其目的是在系统“走死”后能强制系统复位并返回初始化程序。随着CPLD器件被广泛应用于各种仪器、仪表设备的设计中,而且CPLD几乎可模拟任何一种逻辑电路,所以,现在在设计时已完全没有必要再放置一片独立的看门狗器件,而完全可以将硬件看门狗电路整合于CPLD器件中,从而节省成本,降低系统的设计风险。下面具体介绍这种基于CPLD技术的看门狗电路的设计。
2 工作原理
CPLD是英文Complex Programmable LogicDevice的缩写,中文名称为复杂可编程逻辑器件,因其具有工作效率高、内部延时小、可预测延时等特点,而被广泛应用于计数器、逻辑电路、控制电路和复杂的状态机等功能的实现,而看门狗电路的核心就是一个计数定时电路,所以,利用CPLD特点将能很好地实现看门狗电路的功能。看门狗电路的原理框图如图1所示。它在结构上可分为分频电路、计数定时电路和复位电路三大部分,其工作方式是将一个32768Hz的方波时钟输入分频电路,分频后的方波再输入到计数定时电路中进行计数,同时与已设置好的计数时间常数相比较,当CPU在指定的时间内没有通过改变CS端状态来将计数定时器清零,一旦计数值与预先设定的值相一致,计数定时电路将产生一个高电平给复位电路,复位电路将产生一个复位信号给CPU的REST端。例如,对于MCS51系列单片机来说,将产生一个大于10ms的高电平以保证CPU可靠地复位。
复杂可编程逻辑器件 3 电路设计
目前,XILINX公司的可编程器件,因其良好的设计平台、安全的加密方法、完整的产品线,而被广泛地应用于各种产品中。下面,以其产品线中的X95系列CPLD为例,具体介绍看门狗电路的设计。
看门狗电路的设计
3.1 分频电路
该电路是由图1中的U1 COUNT5宏单元来完成的,该宏单元的目的是将32768kHz的矩形脉冲通过一个5位的二进制计数器,经32级分频,得到一个1024Hz的方波,也就是周期约为1ms的方波,其仿真波形如图2所示。
看门狗电路的设计
其中,CLKIN为32762Hz方波信号,CLR为分频器清零端,TIMECLK为32分频器的输出端。由该图可见,当CLR为低电平时,分频器工作,CLR为高电平时,分频器清零。
3.2 计数定时电路
该电路是看门狗的核心电路,其功能由图1中的U5 COMP宏单元来完成,该宏单元由一个8位的二进制计数器、一个8位的寄存器和一个8位的比较器组成。其中8位寄存器的初始值为0FFH,也可通过AD BUS的8位数据口和WR DOG片选口进行置数。当1024Hz方波进入8位计数器进行计数时,比较器同时会将计数器的计数值与寄存器相比较,一旦两者相等,比较器将产生一个REST高电平,禁止计数脉冲输入同时打开复位电路中的计数器。 |