第3版-基于CPLD的看门狗模块设计及实现
毕业设计论文_基于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位控制器都还有很大的发展和应用空间。
基于CPLD的反电势过零检测电路设计与应用
0 引 言
医疗牙钻的使用环境对电机有以下要求 :卫生
要求高 ,需经常进行消毒处理 ;空气中酒精浓度比较
高 ,不应产生换向火化 ;周围其它电子设备较多 ,电
磁噪声小 ; 器械体积小 、手握性好 ,并且发热小等 。
无刷直流电动机没有换向火花 ,电磁噪声较小 ,并且
COUNT有关的相位补偿表 ,如表 1所示 。
表 1 相位补偿表
电机转速 / ( r·m in - 1 ) 0~6 000
6 000~8 400 8 400~10 800 10 800~13 800 13 800~18 000 18 000~21 000 21 000~24 000 24 000~27 000 27 000~30 600 30 600~33 000 33 000~33 600 33 600~34 200 34 200~34 800 34 800~35 400 35 400~36 000
路
设
计
与
应
图 5 基于 CPLD 的相移补偿原理图
用
首先将检测出的位置信号 HA 、HB 、HC 逻辑合成为 :
SN = HA HB + HA HC + HB HC
53
D
驱动控制
rive and control
2010年第 4期
移 ,就能够得到准确的反电势过零点 ,即换向点 。
接下来的问题就是如何使用控制芯片 CPLD 对
反电势进行相移补偿 。CPLD 作为主控制芯片的优
势在于它的组合逻辑功能强大 ,,并且集成度高 、管脚数
适中 、价格便宜 。但其缺点在于数字计算能力较弱 ,
软件看门狗是利用单片机片内闲置的定时器
第21卷第2期 吉林大学学报(信息科学版) V o l121 N o12 2003年5月 JOU RNAL O F J I L I N UN I V ER S IT Y(I N FORM A T I ON SC IEN CE ED IT I ON) M ay2003文章编号:167125896(2003)022*******单片机应用系统中的看门狗技术α胡 屏1,柏 军2(11哈尔滨工业大学威海分校信息与控制工程系,山东威海 264209;21哈尔滨工业大学威海分校计算机科学与工程系,山东威海 264209)摘要:分析研究了单片机应用系统中软件看门狗、单 双时限和强制复位看门狗等几种常见的看门狗技术及具体的实现方法,从提高看门狗工作可靠性的角度,分析了各种看门狗方案的优缺点,给出了基本的硬件电路和软件控制策略,指出了在设计和应用过程中需注意的一些问题。
关键词:单片机;看门狗;抗干扰;X5045看门狗定时器中图分类号:T P39 文献标识码:A引 言随着单片机技术的发展和制造工艺的日益成熟,单片机的应用领域不断拓宽,但由于单片机自身的抗干扰能力较差,尤其是在一些条件比较恶劣,噪声大的场合,常会出现单片机因受外界干扰而导致死机的现象,造成系统不能正常工作。
设置看门狗是防止单片机死机、提高单片机系统抗干扰性的一种重要途径,笔者研究分析了几种较为实用的看门狗技术,供读者参考。
1 软件看门狗软件看门狗是利用单片机片内闲置的定时器 计数器单元作为看门狗,在单片机程序中适当地插入“喂狗”指令,当程序运行出现异常或进入死循环时,利用软件将程序计数器PC赋予初始值,强制性地使程序重新开始运行。
具体实现方法如下。
1)首先在初始化程序中设置好定时器 计数器的方式控制寄存器(TM OD)和定时时间的初值,并开中断。
2)根据定时器的定时时间,在主程序中按一定的间隔插入复位定时器的指令,即插入“喂狗”指令,两条“喂狗”指令间的时间间隔(可由系统时钟和指令周期计算出来)应小于定时时间,否则看门狗将发生误动作。
复杂可编程逻辑器件CPLD
- -进程语句,用a、b信号触发进程执行
MAX
65 64
23
63
24 25
EPM7128SLC84
62 61
26
60
27
59
28
58
29
57
30
56
31
55
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
CPU编程数据经过此端口下
GND
I/O.TD0 载到CPLD中旳
暂存数据。 如: VARIABLE a,b:STD_LOGIC;- -定义a,b为原则逻辑位变量
✓信号阐明语句: 信号有IN、OUT、INOUT、BUFFER4种流动方向。分外部端
口和内部信号,其作用是在设计旳单元电路之间实现互连 如:SIGNAL b:BIT; - -定义b为位逻辑型信号
3.变量与信号旳赋值语句
1脚: 全局清零端
2、83脚: 2个全局时钟输入端
VCCIO
GND VCCINT GND VCCIO
取得最高旳工作速度
专用输入脚,不用时不允许悬空,预防CMOS器件输 入击穿损坏。
VCCIO
GND INPUT/GCLK1
INPUT/OE1 INPUT/GCLRn INPUT/OE2/GCVLCCKIN2T
VHDL语言对硬件系统旳描述, 有三种描述方式:行为描述、 数据流描述、构造化描述。
输入端口描述
逻辑关系描述
输出端口描述
实体(ENTITY)描述
构造体 (ARCHITECTURE) 描述
VHDL 程序
库支持: 定义程序中所涉及旳数据类型、元件和子程序等。
CPLD Verilog CPLD实现Watchdog功能
CPLD实现Watchdog功能1 实现原理CPLD实现Watchdog功能,通过对寄存器的操作,实现Watchdog各项功能。
CPLD内部Watchdog模块逻辑框图如下所示。
Wdt_wdi为喂狗信号,电平跳变则清除看门狗溢出计数器计时。
Wdt_off为强制关狗信号,屏蔽看门狗溢出输出。
Wdt_rst_force用于强制输出复位信号。
Wdt_off_1min_pulse用于强制关闭看门狗1分钟。
Wdt_rst用于输出复位脉冲信号。
Wdt_off_1min_on用于输出1分钟关狗的状态,表示是否处于1min关闭看门狗状态中。
2 CPLD代码module WDT (clk,reset_n,wdt_wdi, //看门狗喂狗信号输入wdt_rst, //看门狗溢出复位输出wdt_off, //强制关闭看门狗输入wdt_rst_force, //强制看门狗输出复位信号wdt_off_1min_pulse, //强制关闭看门狗1min,脉冲输入,1个clk周期宽度wdt_off_1min_on //强制关闭看门狗1min状态输出,高电平表示处于1min关//狗中,低电平表示处于正常状态);input clk;input reset_n;input wdt_wdi;output wdt_rst;input wdt_off;input wdt_rst_force;input wdt_off_1min_pulse;output wdt_off_1min_on;//////////////////////////internal clock//////////////////////////////产生一个周期100ms左右的时钟,分两级完成,先输出一个381Hz的时钟,再通过381Hz时//钟分出一个12Hz时钟reg [15:0] count_div1;wire condition_381;//Divide 25Malways@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)begincount_div1 <= 16'h0000;endelsebegincount_div1 <= count_div1+16'h0001;endendassign condition_381 = &count_div1[15:0]; //25M/2^15=381Hz//assign condition_381 = &count_div1[3:0]; //25M/2^4=97656Hz //用于仿真reg [4:0] count_div2;wire condition_12;//Divide 25Malways@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)begincount_div2 <= 5'h00;endelse if(condition_381 == 1'b1)begincount_div2 <= count_div2+5'h01;endelse;end//产生12Hz时钟,每个周期高电平宽度为1个clk时钟周期assign condition_12 = (&count_div2[4:0])&condition_381; //381/2^5=12Hz//////////////////////////WDT edge feed watchdog//////////////////////////////喂狗信号输入处理,检测到喂狗信号的边沿跳变(上升或下降),看门狗溢出计时计数器//清零reg[1:0] wdt_wdi_dly;always@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)beginwdt_wdi_dly <= 2'b11;endelsebeginwdt_wdi_dly <= {wdt_wdi_dly[0],wdt_wdi};endend//喂狗信号有边沿跳变时,产生一个clk周期的高电平脉冲wire wdt_wdi_dly_edge;assign wdt_wdi_dly_edge = ((wdt_wdi_dly == 2'b10)||(wdt_wdi_dly == 2'b01)) ? 1'b1 :1'b0;//////////////////////////1.6s count,feed WDT overtime over 1.6s//////////////////////////////看门狗溢出计时,当1.6s内没有喂狗,看门狗溢出reg [4:0] count_1p6s;reg wdt_wdi_overtime; //看门狗溢出后,产生一个clk周期的高电平脉冲always@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)begincount_1p6s <= 5'h00;wdt_wdi_overtime <= 1'b0;endelsebeginif((condition_12 == 1'b1)&&(count_1p6s < 5'h14))begincount_1p6s <= count_1p6s + 5'h01;wdt_wdi_overtime <= 1'b0;endelse if(count_1p6s == 5'h14)begincount_1p6s <= 5'h00;wdt_wdi_overtime <= 1'b1;endelsebeginwdt_wdi_overtime <= 1'b0;endif(wdt_wdi_dly_edge == 1'b1)begincount_1p6s <= 5'h00;endendend//////////////////////////1min count,for close WDT 1min//////////////////////////////一分钟关狗计时,在设置关狗1min、系统上电、系统任何复位重启,都自动产生1min的关//狗,以保证系统能正常起来,并正常喂狗reg [9:0] count_1min;reg wdt_off_1min_on;always@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)begincount_1min <= 10'h000;wdt_off_1min_on <= 1'b1;endelse if((condition_12 == 1'b1)&&(count_1min < 10'h2d0))begincount_1min <= count_1min + 10'h001;wdt_off_1min_on <= 1'b1;endelse if(((wdt_off_1min_pulse == 1'b1)&&(count_1min == 10'h2d0))||(wdt_overflew_pulse ==1'b1))begincount_1min <= 10'h000;wdt_off_1min_on <= 1'b1;endelse if(count_1min == 10'h2d0)wdt_off_1min_on <= 1'b0;endelse;end//////////////////////////WDT RST,output a reset pulse,200ms//////////////////////////////在看门狗溢出、强制输出复位的情况下,看门狗复位输出一个200ms宽度的低电平复位脉//冲信号reg wdt_overflew_pulse;wire wdt_rst_force;wire wdt_off;always@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)beginwdt_overflew_pulse <= 1'b1; //默认溢出,上电时输出一个复位endelse if(((wdt_wdi_overtime == 1'b1)&&(wdt_off_1min_on == 1'b0)&&(wdt_off ==1'b0))||(wdt_rst_force == 1'b1))beginwdt_overflew_pulse <= 1'b1;endelsebeginwdt_overflew_pulse <= 1'b0;endendreg [1:0] count_200ms; //可用于调整输出复位脉冲宽度reg wdt_rst;always@(posedge clk or negedge reset_n)beginif(reset_n == 1'b0)begincount_200ms <= 2'b00;wdt_rst <= 1'b0;endelse if(wdt_overflew_pulse == 1'b1)beginwdt_rst <= 1'b0;endelse if((wdt_rst == 1'b0)&&(count_200ms <= 2'b11)&&(condition_12 == 1'b1)) begincount_200ms <= count_200ms+2'b01;endelse if(count_200ms == 2'b11)begincount_200ms <= 2'b00;wdt_rst <= 1'b1;endelse;endendmodule3 仿真结果以下仿真由于按实际时间仿真时间太长,均在原基础上,时间缩小4096倍仿真,参考代码3.1 上电复位几上电关狗1min仿真如下红色方框,是关狗1min;红色圆框分别是上电和看门狗溢出输出的复位脉冲。
基于SFP光模块控制系统的设计和实现
基于SFP光模块控制系统的设计和实现王妮;侯韶华【摘要】设计、实现了一种完成光模块自适应功能的系统,且能够对SFP光模块一系列工作状态参数进行实时监测.此系统简化了对光模块的监控维护工作,并能简单快速地对光模块的内部存储单元进行读写,以满足其自适应功能的要求.【期刊名称】《光通信技术》【年(卷),期】2010(000)009【总页数】3页(P36-38)【关键词】SFP光模块;Ⅰ2C总线;自适应;实时监测;仿真【作者】王妮;侯韶华【作者单位】南京邮电大学,南京,210003;南京邮电大学,南京,210003【正文语种】中文【中图分类】TP210 引言在光通信产品中,光模块占有重要的地位。
随着技术的发展以及系统需求的变化,光模块也在不断的更新换代。
SFP(Small Form Pluggable)光模块体积比GBIC模块减少一半,可以在相同的面板上配置多出一倍以上的端口数量[1]。
另外,SFP 光模块还可以支持热拔插等功能,所以在现在的光通信产品中,SFP光模块越来越得到青睐,已经得到普遍使用。
同时,在现有的各种网络中所需要的光收发一体模块种类越来越多,要求也越来越高。
为了满足系统不断增长的需求,光模块正不断向标准化、小型化、智能化发展。
智能SFP模块,即采用数字诊断功能的SFP光模块,是各厂商技术升级换代的标志性产品。
它可以实现网络管理单元实时监测收发模块的温度、供电电压、激光偏置电流,以及发射和接收光功率。
这些参量的测量,可以帮助管理单元找出光纤链路中发生故障的位置,简化传输系统的维护工作,提高系统的可靠性[2]。
为此,本文设计了一种光模块自适应功能系统。
1 智能SFP光模块及存储单元基本原理1.1 光模块内部结构设计图1给出了SFP光模块的结构图。
RD、TD是数字信号的输入输出端口;LOS TXFAULT信号为出错报警信号;TXDIS为输出端口的控制信号。
图1 SFP光模块内部结构图光模块内部的EEPROM会存储光模块的基本信息,包括光模块的生产厂家,接口类型,序列号;还会存储光模块的各种参数,包括报警和警告门限;激光发射器的光功率、偏置电流、电源电压和温度的检测信息等都会通过A/D转换芯片转换为数字信息,也存储到EEPROM中[3],如图2所示。
基于CPLD的WatchDog电路设计
De i n o t h g Ba e n C s g f Wa c Do s d o PLD
( eu iy n r v n in De at n , Chn s e pe u l S c rt Unv riy, B i n 1 2 ) S c rt a d P e e t p rme t o iee P o l ’S P bi e u iy c i est ej g 4 i 0 1 6
.
t W a c he t hdo w oud r s t t e g l e e h ho t s CPU . M or o r t m o l rz i n a r us w e e asl t r aie or t u i o VH DL e ve , he du a iato nd e e r e iy o e lz f he sng f
32 s、 6 m s。 m 4
种基 于 CP D 的看 门狗 电路 。该 电路容 易 L 与译码 电路 或其 它控 制 电路 集成到 一 起 ,既 可 减 少 体积 也 会 降 低成 本 。 1 电路 设计 特点 本 设 计 采 用 Xii lnx公 司 9 5系 列 CPL D
“ ”,计 数 器 开始 依 次 减法 翻 转 ,直 到最 高 1 位 的 计数 值 翻 转 成 … ,CPU进 入 复位 状 0 ( ) 可 以 通 过 配 置 寄 存 器 复 位 看 门 狗 3 态 ,等 计数 器 再次 翻 转到 “ ”时 ,C 1 PU 开 计数器 ; 始工作 。在规定时 间内 (ms 6 、3 ms 8 、1 ms 2 、 ( 4) 可 以 通 过 配 置 寄 存 器 设 置 看 门狗 6 ms ,若 c U 没 有发 出指 令 复 位看 门狗 4 ) P 工 作 的 延 时 时 间 ,典 型 值 为 8 、1 ms ms 6 、 的 计 数 器 , 则 看 门 狗 计 数 器 的 最 高 位 又 翻 转到 … ,使 C 0 PU 进 入 复 位 状 态 , 若 CPU 在 规 定 时 间 内 发 出 指 令 复 位 看 门 狗 计 数 器 , 则 看 门 狗 计 数 器 被 复 位 成 全 “ ” CP l, U 可以继续 工作 。 2. 内部逻 辑 2 Xiix l CP D 具 有 丰 富 的 逻 辑 资 源 , 可 n L 以 实 现 较 复 杂 的 组 合 电 路 和 时 序 电 路 。 看 门 狗 电 路 主 要 由 计 数 器 、 控 制 寄 存 器 、 选 择 器 、 与 门 等 电路 组 成 。 计 数 器 对外 部频 率计 数 以 达 到 延 时 的 效 果 ,控 制 寄 存 器 控 制 看 门 狗 的 运 行 状 态 , 包 括 看 门 狗 的 使 能 、 看 门 狗 计 数 器 的 复 位 、 看 门 狗 延 时 时 间 的 选 择 等 , 选 择 器 选 择 看 门 狗 的 延 时 时 间 , 与 门 电 路 实 现 复 合 逻 辑 控 制 , 用 于 两 个 源 信 号 控 制 一 个 输 出 信 号 。 电 路 的 内部 逻 辑 如 图 l所 示 。
基于智能卡技术的防盗报警门禁系统设计报告(新改的))
作品2:基于智能卡技术的防盗报警门禁系统作者:焦伟波张明远李艳艳学院:吉林大学电子科学与工程学院引言通常来说我们都是使用普通的门锁控制进出人员,进行室内的防盗。
这种钥匙存在着不少的弊端,比如说易被复制、丢失、生锈等。
很明显它已经不适应我们现代生活的防盗要求,不能有效地对我们的财产进行保护,不宜进出人员的控制。
这就需要一种新的防盗门禁装置来取代它。
它不仅能完成传统门锁的所有工作,而且要具有可靠性高;操作方便;快捷;寿命长的优点。
此外还具有防盗冲突机制,可以处理非法进入以及多人同时进入。
另外此门禁系统应具有语音提示及状态显示提示,这样不仅可以方便与人的交互。
同时也方便了特殊人群(盲人)的操作。
基于以上要求,我们选择了利用射频卡代替传统钥匙与门锁有机结合,对安全门进行控制。
同时配以电脑实行实时智能管理,有效的解决了传统门锁的多种不足。
目前结合小区、工厂、机关等部门智能化管理特点,将其中的大门、单元门、一些特殊门选择智能卡门禁系统,已经取得了较好的经济和社会效益。
我们的目的就是基于智能卡技术设计一款是实时性强,可靠性好,全自动防盗报警提示的门禁系统。
第一章系统方案设计第一节整体设计思路利用射频卡代替传统的钥匙,给每个有权进入的人发一张射频卡,通过卡中的信息进行身份认证。
读卡器与单片机实时相连,对ID号码进行采集,对采集的ID号码进行处理判断,然后上传给PC机实施信息判断记录,开门记录及控制开关门的相关操作、语音提示操作。
同时应该考虑到人们没有带卡的情况,系统应配有认证密码输入装置,通过单片机或PC机对个人密码进行核实从而进行开门与否的操作。
PC机应具有错误计次输入锁死判断,并把判断信息实时传给显示装置,防止陌生人进行穷举攻击,系统硬件框如图1-1所示。
图1-1第二节方案选择与确定方案一:双控制器射频卡门禁整个系统采用两个单片机的双核结构,读卡器模块完成对ID卡的数据采集,并将数据传给第一块单片机进行处理,第一块单片机将数据译码后,传给译码器电路,同时译码器电路也接收键盘的数据输入,缓冲后送给第二片单片机。
一种基于双机热备系统的仲裁切换方案
一种基于双机热备系统的仲裁切换方案秦友伦;袁强;涂炯;徐碧辉【期刊名称】《兵工自动化》【年(卷),期】2015(034)008【摘要】For high reliability double-computer hot backup system, an arbitration switching circuit was designed. The circuit with complex programmable logic device (CPLD) as the core monitors the two motherboards' status of the double-computer system, through the watchdog. The arbitration logic can automatic arbitrate and switch-over by judging the status of the two motherboards. It uses dedicated analog switch in the design to ensure the quality of high-speed signal as USB, Ethernet and video signal. Use VHDL language to design software. The results show that this method is effective and feasible. It can monitor the status of the active-standby computer and automatic switch. The circuit has been successfully applied to a project.%针对高可靠性的双机热备份系统,设计一种双机仲裁切换电路.以复杂可编程逻辑器件为核心,通过看门狗实现对双机系统中 2 块主板的状态监测,仲裁逻辑通过判断双机的状态实现双机间的自动切换.采用专用模拟切换开关,保证USB信号、以太网信号以及视频信号等高速信号的信号质量,并使用VHDL语言进行软件设计.结果表明:该方法有效可行,可实现主备机的状态监测及信号仲裁切换功能.该电路已成功应用于某型号系统中.【总页数】3页(P56-58)【作者】秦友伦;袁强;涂炯;徐碧辉【作者单位】中国兵器工业第五八研究所特种电子技术部,四川绵阳 621000;中国兵器工业第五八研究所特种电子技术部,四川绵阳 621000;中国兵器工业第五八研究所特种电子技术部,四川绵阳 621000;中国兵器工业第五八研究所特种电子技术部,四川绵阳 621000【正文语种】中文【中图分类】TP311.11【相关文献】1.一种基于现场总线的高效率双机热备实现方案 [J], 朱元彩;陈蔚;葛鹏2.一种基于ScoUnix的双机热备高可用系统解决方案 [J], 谢建军;余瑞晖;梁爱媚;邓阳名3.轨道交通无线系统调度服务器双机热备切换方案的研究 [J], 赵欢4.双机热备份系统切换及同步设计 [J], 韩亮;卢伟;张倩5.一种双机热备切换系统的实现方案 [J], 唐成;潘雷;刘可昌;杜鑫;费振豪因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的LCD驱动显示电路的设计与实现
毕业设计(论文)任务书基于FPGA的LCD驱动显示电路的设计与实现摘要本课题主要任务是设计基于FPGA的LCD驱动电路的设计和实现,兼顾好程序的易用性,以方便之后模块的移植和应用。
控制器部分采用Verilog语言编写,主体程序采用了状态机作为主要控制方式。
最后实现使用FPGA在LCD上显示任意的英文字符和阿拉伯数字,另外要能根据输入数据的变化同步变化LCD上显示的内容。
同时要能将储存模块中的数据正常地显示在LCD上。
该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD的产品的开发。
同时可以大大缩短FPGA的开发时间。
另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。
本文中对FPGA,LCD,ModelSim,Xilinx ISE8.2i硬件设计工具等进行了简单的介绍,对其功能进行了简单的描述,并了解了LCD液晶显示器的发展历史,日常应用以及相对比于其他种类显示器的优缺点,并对基于FPGA的LCD液晶显示器驱动电路未来的发展趋势进行了展望。
关键词:FPGA,LCD,状态机,VerilogDesign and Implementation of LCD Drive DisplayCircuit based on FPGAAbstractIn this project, the main object is to design a LCD controller based on FPGA, and at the same time emphasize on the convenience for the later application and migration.The program of the controller is written by Verilog language, and the main body of the program used state machine as the primary control method. displayed picture which was put earlier.In this project, I finally realized the following function. The first one is to display any English and figureon character any position of the display screen. The second one is the display information will instantaneously update as the input data changes.The research of this project will contribute to the developing process of those products which use FPGAs, especially those products also use LCD. And at the same time, it can reduce dramatically on the developing time. In addition, for the convenience of this controller, more and more FPGA based products will come out with LCD screen. This change will enhance the interaction between human and the machine, and bring innovation to the industry and our lives.In this project, FPGA, LCD, ModelSim, Xilinx ISE8.2 I hardware design tools simply introduces its functions were a simple description, and understanding the LCD monitor the development history, and relative everyday applications than in other types of monitor based on FPGA advantages and disadvantages, and the LCD monitor driver circuit future development trends are discussed.Key words:, FPGA, LCD, State Machine, Verilog目录任务书 (I)摘要 ....................................................错误!未定义书签。
基于CPLD技术的看门狗电路的设计
C R 为 8位计 数 器 清 零端 。WR 为 8位 寄存 器 的 片选 L 锁 存端 (I升沿 锁存 ) DATA7为 8位 数 据 总线 , 于 - 。 用 预 置 8位 寄存 器 。 S 为 复位 输 出端 , 供 高 电平 以 RE T 提 保证 系统 复 位 。
3 3 复位 延时 电路 .
广 泛 地应 用 于各 种 产 品 中 。下 面 , 以其 产 品线 中的 X9 5系 列 C L 为 例 , 体 介 绍 看 门 狗 电 路 的 设 PD 具
计。
3 1 分频 电路 .
图 1
该 电路 是 由 图 1中 的 U1 C oUNT5宏 单 元
・ 收 稿 日期 : o 2 0 — 3 20— 5 O
D vc ei e的 缩 写 , 文 名 称 为 复 杂 可 编 程 逻 辑 器 件 , 中 因 其具有工作效率高 、 内部 延 时小 、 预 测 延 时 等 特 点 , 可 而被 广 泛应 用 于 计数 器 、 辑 电路 、 制 电路 和复 杂 的 逻 控 状 态 机 等 功 能 的实 现 , 看 门狗 电路 的核 心 就 是 一 个 而 计 数 定 时 电 路 , 以 , 用 C L 特 点 将 能 很 好 地 实 所 利 PD 现 看 门狗 电路 的 功能 。看 门 狗 电路 的原 理框 图 如 图 1 所示 。 它在 结 构上 可 分 为分 频 电路 、 数 定 时 电路 和 复 计 位 电路 三 大 部 分 , 工 作 方 式 是 将 一 个 3 7 8 其 2 6 Hz的 方 波 时 钟输 入 分 频 电路 , 频 后 的方 波再 输 入 到计 数 定 分
而 完 全 可 以将 硬 件 看 门狗 电路 整合 于 C L 器 件 中 , PD
基于CPLD的出租车计费器设计开题报告
[9].mcuming .采用单片机系统设计的出租车计费器分析.单片机开发平台网,2009,3
[10].Munch M,Wurth B.Automating RT-Level Operand Isolation to Minimize Power Cons- umption in Datapaths,Design,Automation and Test in Europe (DATE′00).
传统出租车计费器多数由单片机实现,升级繁琐,成本高。随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅可以解决电子系统小型化、低功耗、高可靠性等问题,还具有成本低、开发周期短、开发软件投入少的优点,也能满足对小批量、多品种的产品需求。
加法器模块:在基准时钟clk1hz的上升沿进行相加,在10000范围内进行s=a+b和运算,完成里程计费与等待计费的加法计算,结果作为总的车费输出。
数据转换模块:将16进制数据转化成四位二进制码输出,输出四个端口,分别是个、十、百、千。
显示译码模块:将输入端送入的2进制数被7段显示译码器翻译成为相对应的数字显示出来。
FPGA器件具有高密度、高速率、系列化、标准化、小型化、多功能、低耗能、低成本、设计灵活方便、可无限反复编程,可现场模拟挑食验证等特点,使用FPGA可在较短的时间内完成一个电子系统的设计和制作,缩短了研制周期,达到快速上市和进一步降低成本的要求。
2、FPGA的发展趋势
可编程逻辑器件正处于高速发展的阶段。下一代可编程逻辑器件硬件上有以下四大发展趋势。最先进的ASIC生产工艺将被更广泛的应用于以FPGA为代表的可编程逻辑器件;越来越多的高端FPGA产品将包含DSP或CPU等处理器内核,从而FPGA将由传统的硬件设计手段逐渐过渡到为系统级设计平台; FPGA将包含功能越来越丰富的硬核,与传统ASIC进一步融合,并通过结构化ASIC技术加快占领部分ASIC市场;低成本FPGA的密度越来越高,价格越来越合理,将成为FPGA发展的中坚力量。
一种基于MIPS架构的数据处理模块设计
一种基于MIPS架构的数据处理模块设计
白云逸;韩振国;王悦
【期刊名称】《电子制作》
【年(卷),期】2024(32)6
【摘要】LS2K1000是一种基于MIPS架构的双核处理器,该芯片具有尺寸小、功耗低、扩展性好等特点。
数据处理模块基于LS2K1000处理器,通过主处理器
LS2K1000的局部并行总线(简称Local Bus)访问FLASH与NvRAM。
模块通过配置CPLD与DDR3等硬件资源保证处理器能够正常启动,并在天脉1嵌入式操作系统下进行测试,经测试模块CPU、DDR、Flash、看门狗等功能均正常工作。
同时在模块中设计以太网、串口、USB与CAN等接口的周边配置电路,确保模块能够与外设有效交联。
该模块具有处理能力强、外设接口丰富与功耗低等特点,具有较高应用价值。
目前已应用到多种嵌入式电子设备中。
【总页数】4页(P13-16)
【作者】白云逸;韩振国;王悦
【作者单位】航空工业西安航空计算技术研究所
【正文语种】中文
【中图分类】TP3
【相关文献】
1.一种基于OSGi的Web应用模块化架构设计
2.基于MIPS架构的多周期CPU 设计
3.基于AMP架构的高性能数据处理模块设计
4.基于MIPS32架构三角函数指令集扩展的设计与实现
5.关于建筑学中绿色建筑设计的发展趋势探究
因版权原因,仅展示原文概要,查看原文内容请购买。
单片机与CPLD在LED控制器的应用与实现
【 摘 要 】文章 阐述 了 L D控 制器的基本 结构 ,说 明单片机与 C L 在 L D 控制 器的应 用方法 ,给 出硬 件设计思路和主 E PD E
要 模 块 的 逻 辑 设 计 方 法 以及 相 应模 块 的 V HDL代 码 。 【 键 词 】L D 控 制 器 ;C L ;硬 件 扫 描 ;V 关 E PD HDL 【 中图分类号 】T 3 P3 【 文献标 识码 】A
器
输 “
云 电路
,l D # j
电 路
号。
以1 6行扫描 为例, 地址 A 一 A 9 6为行地址 , 5 0为列信 A 一A
在这个模块 中,主 要功能是当 MC 发出扫描启动信号 U 后 ,立 即输 出计数 器 的初始 状 态 ( 0) 全 ,读 出 R AM 的
用 M X 3 或 M X 4 7等 芯 片 实 现 。 A2 2 A 18
位 寄存器模块 的并行数据置 入锁 存器的控制信号 L 使数据 D,
总线 上的 D0  ̄D7的状态置入 串/ 并进一串 出移位寄存器模块
的锁 存器 ,1 0位计 数器开始计数 ,当计数器低 1 0位 的输 出变
为 X X × 0 0 0 0 0 B时 , 出 R X X x0000 1 读 AM 的 × X X 0 0 0 0 0 B × X x 0 0 0 0 1
2 微处理器模块 . 本模块主要包括 时钟 电路、看 门狗 电路 、微处理 器、存 储器。主要功能是把接收 到的数据 信息存储在存储器 。 3 硬件扫描 电路模 块 .
本 模 块 主 要 包 括 时 钟 电路 、 C L ( P 7 6 S C 4 1 ) PD EM 04L8—0 、 存 储 器 、总 线 驱 动 器 、输 出 的 硬 件 接 口 。主 要 功 能 是 把 微 处
看门狗DIY
#define TRIG_PULSE int main(void){ IRQEnable();
1<<22
PINSEL0 = 0x00000000; Time0Init(); ……//其它功能初始化 其它功能初始化 while(1){ …… //系统功能代码 系统功能代码 } return(0); }
B
Q
Q
0 0 0 0
1 1 1 1
2. 可重复触发的单稳态触发器 可重复触发的单稳态触发器74HC123
逻 辑 符 号 工 作 波 形
74HC123功能表 74HC123功能表
输 入 输 出
说
TR+ TR−
↑触发 ↓触发 ↑触发 低电平置0
明
RD
1 1 ↑ 0 × ×
TR−
0 ↓ 0 × 1 ×
TR+
74121集成单稳 集成单稳 态触发器内部简 化逻辑图
74121集成单稳 集成单稳 态触发器逻辑 符号
单稳态触发器74121 单稳态触发器 的工作波形
74121集成单稳态触发器功能表 集成单稳态触发器功能表
A1
1 ↓ ↓ 0 × × 1 0 × ↓ 1 ↓
A2
1 1 1 × 0 × 1 × 0 ↑ ↑ 0 × 1 1
↑ 1 1 × × 0
Q
Q
RD
0 0 0 1 1 1
RD
TR+ TR− 为高电平,置0
为低电平,置0
同样有输出脉冲宽度t W ≈ 0.7 Rext Cext
单稳态触发器的应用
1.脉冲定时 脉冲定时
上图是单稳态触 发器的模块逻辑 表达。用较小的 表达。 宽度的脉冲去触 发,可以获得确 定宽度的脉冲输 出,实现定时控 如下图)。 制(如下图)。
基于cpld的看门狗电路设计应用
基于C PLD 的看门狗电路设计应用陈晓俊(杭州市滨江区华为技术有限公司杭州研究所硬件开发-K 程师,浙江杭州310014)应用科技1主要器件介绍该设计采用的逻辑器件是Lat t i ce 公司的LC M X 01200,封装为256一B al I f t B G A ,物理尺寸为17m m ×17m m :可编程管脚2”个,一共分为8个物理banks ,每个ba nk 可配置成12/1.8/2.5/33V 电平,支持双向输入输出,支持差分I vds 电平。
该款逻辑器件具有低功耗,高性能的特点。
1200个4输入L U T S 单元,内核采用多个独立的33V 电源供电。
看门狗芯片采用的是M A X 706A T o 该款芯片是M axi m 公司推出的内有看门狗(W at ch dog)定时器的微处理器监控芯片。
本文简称“706”。
M C U 采用的是R M l 公司的X L S408处理器。
2硬件方案介绍1)M C U —O K :M C U ,渊时言号,表征M C U 运行是否正常。
2)C PL D _/N M I :C PL D 送出的中断信号,该信号有效将触发M CU 进入l I 缶终遗言。
3)M C U J R ST :M C U 的复位信号4)B ut t onJ R ST :外部按键复位5)D evl J RST :设备1复位6)D ev2J R ST :设备2复位7)706_W D I :706的喂狗信号8)706_W D O :706的狗溢出信号,当无喂狗信号,1.6s 后有效。
9)706J M R :706的手动复位输入,该信号一旦有效,706马上复位。
1O )706_/R S T :706的复位输出软件通过定时的写G PI O ,送出的脉冲信号M CU —O K ,作为C P LD 中的计数器的清零端。
一旦计数达到设定值,还未有脉冲信号M C U —O K 到来,计数器就会溢出,中断信号C PL D JN M I 将使能有效,706_W D I 将停止喂狗。
EL-EMCU-I(SOPC)实验指导书
目录第一章 EL-EMCU-I实验系统的资源介绍 (1)一、系统功能概述 (1)二、系统硬件资源 (2)第二章数字可编程设计实验 (18)实验一组合逻辑3-8译码器的设计 (18)实验二半加器 (29)实验三全加器 (30)实验四全减器 (32)实验五 4位向量加法/减法器 (34)实验六向量乘法器 (35)实验七数据比较器 (37)实验八多路数据选择器 (39)实验九编码器 (40)实验十译码器 (43)实验十一二进制码转换成BCD码 (45)实验十二 BCD码转换成二进制码 (47)实验十三 BCD码转换成格雷码 (48)实验十四组合逻辑电路的设计 (50)实验十五简单状态机 (53)实验十六串入/并出移位寄存器 (54)实验十七并入/串出移位寄存器 (56)实验十八多功能寄存器 (58)实验十九单脉冲发生器 (61)实验二十节拍脉冲发生器 (62)实验二十一奇偶检验 (64)实验二十二计数器 (66)实验二十三 7段数码管显示 (68)实验二十四步进电机控制实验 (70)实验二十五蜂鸣器演奏实验 (72)实验二十六继电器和光耦控制实验 (74)实验二十七半导体温度传感器DS18B20实验 (76)实验二十八秒表设计实验 (77)第三章基于NIOS的软核设计实验 (79)实验一 16×16 LED点阵实验 (79)实验二 UART与PC机通信实验 (80)实验三 12位串行A/D实验 (81)实验四 12位串行D/A实验 (84)实验五 RS485通讯实验 (85)实验六基于SOPC的uC/OS-II操作系统应用实验 (88)实验七 7279键盘显示接口实验 (94)实验八压入弹出式IC卡实验 (101)实验九直流电机调速实验 (104)实验十 4相步进电机实验 (106)附录I NIOS II常用函数 (108)附录II USB下载线驱动安装 (119)第一章 EL-EMCU-I实验系统的资源介绍一、系统功能概述EL-EMCU-I型教学实验系统是属于一种综合的教学实验系统,该系统支持8位的8051 / C8051F021等型号、16位的MSP430系列 / AVR系列以及基于Cortex-M3内核的32位群星系列ARM处理器,实现了多模块的应用实验。
基于CPLD的矩阵键盘扫描模块设计
( 中国 地 质 科 学 院勘 查地 球 物 理勘 查 地 球 化 学研 究所 河 北 廊 坊 0 5 0 ) 6 0 0
摘 要 :为 了在 不增 加 C U 工 作 负担 的 前 提 下 , 现 标 准键 盘 和 矩 阵键 盘 双 键 盘 同 时 工 作 , 出 了 一种 基 于 复 杂 可 P 实 提
下 . 现 标 准 键 盘 和 矩 阵 键 盘 双 键 盘 同 时 使 用 实
关 键 词 :键 盘 扫 描 :VHDL:C L P D:功 能 仿 真
中 图分 类 号 : P 1 T 26
文献 标 识 码 : A
文 章 编 号 :1 7 — 2 6 2 1 ) 0 0 6 — 6 6 4 6 3 (0 0 1 — 19 0
t e f nci n o h ti e b r tm a ial c n c d n u p a e n CPLD r mplm e t d h u to ft e ma rx k y oa d auo tc ly s a o e a d o t utb s d o a e i e n e ,CPU h c h c e ks te m arx k y oad saus t o g he tme n e r pts r ie r tn n e s t y v l no t yb a d b fe ie t ti e b r tt hr u h t i r it ru e vc ou ie a d s nd he ke aue i t he ke o r u f rd r cl y
fr oh rp o r m u i g Al o d ls i h e i n a e p o r mme n i lt d b o t e r g a sn . l fmo ue n t e d sg r r g a d a d smu ae y VHDL ln u g . h s d sg a a g a e T i e in h s t e a v n a e f sn tn ad k y o r n h t x k y o r i h n o sy a d r d c n h P r l a s o h h d a tg s o i g s d r e b a d a d t e mar e b a d smu a e u l n e u ig t e C U wo ko d n t e u a i
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于CPLD的智能看门狗设计与实现Referance to the design and relization of CPLD intellective watchdog邹国民Zou Guomin(江西联创通信有限公司,江西南昌330096)Jiangxi Lian Chuang Communication Corporation,Jiangxi Nanchang 330096)摘要:智能看门狗是基于CPLD技术,使用VHDL语言实现的,具有功能灵活可变、参数设置方便、使用简单快捷等优点。
由于CPLD具有可反复擦写/编程特性,为看门狗的设计和调试提供方便。
关键词:智能看门狗;CPLD;VHDLAbstract:Intellective watchdog is relized by VHDL language and bases on CPLD technology which has overriding advantages of flexible and variable function ,simple and dirrect convenient parameter setting.it is more convenient to design and debug the intellective dog with the specificity of reversal erasing and programming.Keywords: Intelligence watchdog;CPLD;VHDL1概述1.1特种行业嵌入式产品设计看门狗的重要性在煤炭、石油和化工等行业,运行着各类嵌入式通信产品。
为保障生产活动平稳有序开展,要求嵌入式产品具备极高的可靠性,在持续不断电情况下,产品能够长期稳定运行。
尤其在煤矿井下,产品可靠性显得尤为关键,当井下发生事故时,如因通信产品无法正常工作导致事故抢险不及时,将产生严重后果。
嵌入式系统经过几十年的发展,CPU运行速度越来越快,内存、闪存空间越来越多、硬件平台越来越复杂,软件代码越来越庞大。
根据可靠性建模理论分析,产品的可靠性与产品复杂程度关系成反比,产品越复杂,可靠性系数越低;为了克服复杂嵌入式产品所带来的可靠性问题,防止嵌入式产品主CPU因无法正常运行导致通信中断等问题,嵌入式产品设计时应采用看门狗机制。
所谓看门狗机制是指:系统设计中通过软件或硬件方式在一定的周期内监控系统的运行状况。
如果在规定时间内没有收到来自系统的触发信号,则系统会强制复位,以保证系统在受到干扰时仍然能够维持正常的工作状态。
1.2通用看门狗使用时存在的不足通用看门狗大致分为两种,第一种是CPU内置看门狗,第二种是外置看门狗。
内置看门狗使用时可能存在工作不可靠问题,外置看门存在参数设置不灵活、使用步骤繁杂和无法设置多个时间周期等问题。
2通用看门狗弊端详细分析2.1CPU内置看门狗弊端主流的处理器(如POWERPC 、ARM等)均自带看门狗模块,如果使用得当,能在系统软件崩溃时恢复运行。
但也存在系统崩溃时看门狗不起作用的例外情况,如系统硬件CPU 产生了一个严重错误,CPU进入了异常模式,造成看门狗失效,系统无法自行恢复运行,此时只有重新上电系统才能正常启动。
假设这些嵌入式产品安装在野外或煤矿井下等无人值守之地,会造成长时间通信中断故障,给日常生产调度、事故抢险等活动带来不利影响。
2.2外置看门狗芯片不足外置看门狗芯片是器件厂商根据嵌入式系统通用要求设计的一款通用芯片,芯片种类繁多,按编程方式分:有引脚编程方式和电容编程方式两种;按启动延时分为:有普通启动延时和长时间启动延时两种;按喂狗检测方式分:有单向检测方式和窗口检测方式两种。
下面以引脚编程式看门狗为例简单介绍看门狗的工作过程。
引脚编程式看门狗芯片外部设有编程引脚,CPU通过控制编程引脚设置看门狗基本参数:喂狗周期、启动延时时长和关闭看门狗等。
下面详细分析下看门狗工作流程:图 1 看门狗工作流程看门狗工作流程如图1所示,工作流程分为4个阶段。
a)第一阶段:bootrom启动阶段该阶段bootrom程序通过CPU的GPIO将WDI设置为高电平,然后再设置启动延迟时长,由于复杂嵌入式bootrom 完成的任务较多,启动时间较长,一般设置启动延迟时长大于60s。
b)第二阶段:bootrom结束时刻该阶段bootrom程序运行结束,系统硬件资源即将由操作系统接管。
此时应设置喂狗周期。
喂狗周期间隔时间与系统负荷有关,任务数量较多,喂狗周期间隔时间越长。
一般设置喂狗周期间隔时间为100ms~5s,如喂狗周期太短,将无形中增加CPU 工作负荷,浪费CPU 资源。
如周期太长,故障出现时将无法及时恢复系统,延长系统中断时间。
c)第三阶段:操作系统启动后,用户程序运行阶段该阶段操作系统启动成功,用户程序开始喂狗。
看门狗实时监控用户程序喂狗情况,如果喂狗间隔超过设定的喂狗周期,看门狗WDO引脚输出低电平信号,提示CPU 的喂狗信号异常。
d)第四阶段:复位系统如第三阶段CPU 运用程序喂狗失败,看门狗则复位系统,系统又开始新一轮循环运行。
上述四个阶段中,看门狗运行于CPU配合较紧密,CPU在不同的运行阶段均需要参与看门狗设置或激活工作,使用较为繁琐。
另外,看门狗启动延迟时长可设范围较短,一般不超过180s,而现今嵌入式系统软件比较庞大,量产时Flash编程的时间可能会超过180s,在此情况下,导致CPU长时间没有喂狗产生系统复位引起Flash编程异常,给产品生产、维护和升级带来不利影响。
3智能看门狗设计详述智能看门狗可以较好的解决上述问题,智能看门狗是基于CPLD技术及VHDL语言实现,其具有功能灵活可变、参数设置方便、使用简单快捷等优点。
由于CPLD具有可反复擦写/编程特性,为看门狗的设计/调试提供极大方便。
3.1智能看门狗的工作流程智能看门狗工作流程如图2所示。
N图 2 智能看门狗工作流程a)第一阶段:上电阶段主要步骤如下1)在上电阶段,看门狗不断监测CPU是否使能看门狗开关,如果没有使能,进入步骤2,如果看门狗已使能则进入第二阶段。
2)看门狗判断系统是否处于初次上电状态,如果系统是处于初次上电状态,则进入步骤3;否则进入步骤4。
3)看门狗判断上电时间是否大于T_start,如果上电时间小于T_start则进入步骤1,如果上电时间大于T_start,说明系统CPU上电后长时间没有使能看门狗,CPU工作异常,看门狗使系统进入复位状态;T_start是系统初次上电时至CPU正常启动看门狗的时间,这个时间一般比较长,通常设定在180S-1023S之间,在T_start时间段内,用户可以执行烧写系统软件等耗时比较长的操作。
4)系统是处于非初次上电状态。
所谓非初次上电是指:系统已运行了较长时间,最近一段时刻内,CPU曾经重新启动,但重新启动不是由手动复位和重新上电引起。
在此期间,看门狗判断此次启动时间是否大于T_restart,如果上电时间小于T_restart,则进入步骤1,如果上电时间大于T_restart,说明CPU 重新启动后长时间没有使能看门狗,CPU 工作异常,看门狗使系统进入系统复位状态。
T_restart是系统发生异常时,CPU开始重新启动至CPU正常启动后使能看门狗的时间,这个时间通常设定在30S至60S,在T_restart时段内,系统完成bootrom启动,内核启动等操作。
b)第二阶段:用户程序喂狗在用户程序喂狗之前,系统已经完成了bootrom启动,内核启动等操作,并已经使能了看门狗。
此时,在用户程序相关任务或函数中定时喂狗即可,喂狗周期为Twdt。
根据系统复杂程度不同,应合理设置喂狗周期,Twdt一般设定在1ms至5s之间,另外,智能看门狗具有窗口检测功能,会检测喂狗间隔是否在窗口期。
如设定Twdt为10ms,喂狗窗口期则为8ms~12ms之间,如果喂狗信号间隔周期在此窗口期内,则判定此次喂狗信号有效;反之,如果喂狗信号间隔周期不在此窗口期内,则判定此次喂狗信号无效。
3.2智能看门狗VHDL代码-- watchdog.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY watchdog ISGENERIC (RST_TIME:Integer :=10;FEED_Clye:Integer :=1000);PORT(start : IN STD_LOGIC_VECTOR(7 downto 0);clk : IN STD_LOGIC;feeddog : IN STD_LOGIC;rstin : IN STD_LOGIC;flag : OUT STD_LOGIC;rstout : OUT STD_LOGIC);END watchdog;ARCHITECTURE behave of watchdog ISTYPE state_wtdogtype IS ('0','1');SIGNAL state_wtdog : state_wtdogtype;TYPE watchdog_rstype IS (notactive,active);SIGNAL watchdog_rst : watchdog_rstype;SIGNAL power_flag : watchdog_rstype;SIGNAL feeddog_delay : STD_LOGIC;BEGINRESET_PROC: PROCESS(clk)--VARIABLE cnt : STD_LOGIC_VECTOR(15 DOWNTO 0):= "0000000000000000";V ARIABLE cnt :INTEGER RANGE 0 TO 1024;V ARIABLE cnt_1s :INTEGER RANGE 0 TO 1000;BEGINIF rstin = '0' THEN --Resetcnt := 0;cnt_1s:=0;rstout <= '0'; --state_wtdog <= '0';watchdog_rst <= notactive;flag <= '0';power_flag <= active;ELSIF rising_edge(clk) THENfeeddog_delay <= feeddog;IF start = "10101010" THENstate_wtdog <= '1'; --Enable WDTflag <= '1';power_flag <= notactive; --上电标志去激活ELSIF start = "01010101" THENstate_wtdog <= '0'; --Disenable WDTflag <= '0';END IF;IF watchdog_rst= active THENcnt := cnt + 1;rstout <= '0';cnt_1s := 0;power_flag <= notactive;--cnt:=0;state_wtdog <= '0';flag <= '0';IF cnt > RST_TIME THENrstout <= '1';watchdog_rst <= notactive;cnt :=0;END IF;END IF;IF state_wtdog = '1' THENIF (feeddog = '1' AND feeddog_delay = '0')THENcnt := 0;ELSIF (feeddog = '0' AND feeddog_delay = '1' AND cnt <10) THENwatchdog_rst <= active;cnt:=0;ELSIF cnt > FEED_Clye THENwatchdog_rst <= active;cnt:=0;ELSEcnt := cnt + 1;END IF;ELSEIF watchdog_rst= notactive THENrstout <= '1';END IF;cnt_1s :=cnt_1s+1;IF cnt_1s = 1000 THENcnt :=cnt+1;cnt_1s := 0;-- IF cnt = 1023 THEN --1023SIF(((cnt = 50)AND(power_flag = notactive))OR((cnt = 1023)AND(power_flag = active))) THENwatchdog_rst <= active;cnt:=0;END IF;END IF;END IF;END IF;END PROCESS;END behave;4结束语综上所述,智能看门狗除具备通用看门狗的基本功能外,还具有以下特点:1)可单独设置初次上电启动时间,为生产人员烧写程序提供足够时间;2)系统启动完成后CPU只执行使能看门狗开关、喂狗两个操作,无需进行繁杂设置;3)如需要改变看门狗Twdt、Trestart、Tstart时间参数,只要修改CPLD 相关VHDL代码,十分方便;智能看门狗是作者根据特种行业嵌入式产品实际应用环境,为方便产品生产、维护、调试、提高产品可靠性而进行特殊设计的模块,其具有便于产品生产调试、设置灵活和使用简单等特点,该模块已经在煤炭通信行业、冶金通信行业广泛应用。