电子系统eda设计课程设计论文

电子系统eda设计课程设计论文

ID:11857953

大小:164.00 KB

页数:8页

时间:2018-07-14

电子系统eda设计课程设计论文_第1页
电子系统eda设计课程设计论文_第2页
电子系统eda设计课程设计论文_第3页
电子系统eda设计课程设计论文_第4页
电子系统eda设计课程设计论文_第5页
资源描述:

《电子系统eda设计课程设计论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、设计题目看门狗定时器内部有一个递减计数器,当该计数器递减为0的时候,就会自动重启控制器(如下图所示),如果我们写有这样的程序,该程序在定时器计数器递减为0之前,将其递减计数器重新设置一下(喂狗),那么就不会产生重启操作。假如机器设备出现异常情况下如死机,CPU执行出错,程序跑飞等情况,CPU就会陷入非正常的执行流程,就不会去执行重置计数器的程序,当计数器递减为0时,会产生复位控制器信号,机器就会重新启动,恢复正常执行流程。这样的设计原理就解决了很多环境恶劣的情况下,对服务器进行重启的任务。该定时器框架图是基于MC68SZ328的,如图下所示

2、。计数器工作在两个模式中,一个是正常工作模式,速度是2Hz每秒,另一个是测试模式,速度是32kHz每秒。通过WCR寄存器中用户设定的TMD来选择。在模块使能之后,计数器进行倒计时计数。在中间过程中,用户可以通过WHALT来对计数器进行暂停操作。如果计数器到达0,那么超时标志位Time-Out置高。计数器基本功能图如下:二、题目分析题目要求实现的Watchdog模块,通过对寄存器的操作,实现Watchdog各项功能。在原来功能要求的基础上,我们添加了一分钟关狗功能,在设置关狗1min、系统上电、系统任何复位重启,都自动产生1min的关狗,以保证系

3、统能正常起来,并正常喂狗。系统中对于信号的设置如下:Wdt_wdi为喂狗信号,电平跳变则清除Watchdog溢出计数器计时。Wdt_off为强制关狗信号,屏蔽Watchdog溢出输出。Wdt_rst_force用于强制输出复位信号。Wdt_off_1min_pulse用于强制关闭Watchdog1分钟。Wdt_rst用于输出复位脉冲信号。Wdt_off_1min_on用于输出1分钟关狗的状态,表示是否处于1min关闭Watchdog状态中。内部Watchdog模块逻辑框图如下所示。三、详细代码Watchdog代码:moduleWDT(clk,r

4、eset_n,wdt_wdi,//Watchdog喂狗信号输入wdt_rst,//Watchdog溢出复位输出wdt_off,//强制关闭Watchdog输入wdt_rst_force,//强制Watchdog输出复位wdt_off_1min_pulse,//强制关闭Watchdog1min,脉冲输入,1个clk周期宽度wdt_off_1min_on//强制关闭Watchdog1min状态输出,高电平表示处于1min关//狗中,低电平表示处于正常状态);inputclk;inputreset_n;inputwdt_wdi;outputwdt_r

5、st;inputwdt_off;inputwdt_rst_force;inputwdt_off_1min_pulse;outputwdt_off_1min_on;reg[15:0]count_div1;wirecondition_381;always@(posedgeclkornegedgereset_n)beginif(reset_n==1'b0)begincount_div1<=16'h0000;endelsebegincount_div1<=count_div1+16'h0001;endendassigncondition_381=&co

6、unt_div1[15:0];//25M/2^15=381Hzreg[4:0]count_div2;wirecondition_12;always@(posedgeclkornegedgereset_n)beginif(reset_n==1'b0)begincount_div2<=5'h00;endelseif(condition_381==1'b1)begincount_div2<=count_div2+5'h01;endelse;endassigncondition_12=(&count_div2[4:0])&condition_381;/

7、/381/2^5=12Hzreg[1:0]wdt_wdi_dly;always@(posedgeclkornegedgereset_n)beginif(reset_n==1'b0)beginwdt_wdi_dly<=2'b11;endelsebeginwdt_wdi_dly<={wdt_wdi_dly[0],wdt_wdi};endendwirewdt_wdi_dly_edge;assignwdt_wdi_dly_edge=((wdt_wdi_dly==2'b10)

8、

9、(wdt_wdi_dly==2'b01));reg[4:0]count_1p

10、6s;regwdt_wdi_overtime;always@(posedgeclkornegedgereset_n)beginif(reset_n==

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。