欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    FPGA课程设计-电风扇的自动定时开关控制器教学内容.doc

    • 资源ID:51393848       资源大小:1.29MB        全文页数:49页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    FPGA课程设计-电风扇的自动定时开关控制器教学内容.doc

    Good is good, but better carries it.精益求精,善益求善。FPGA课程设计-电风扇的自动定时开关控制器-西安邮电学院FPGA课程设计报告题目:电风扇的自动定时开关控制器院系:电子工程学院专业班级:微电子0901学生姓名:导师姓名:起止时间:2012.6.18至2012.6.29FPGA课程设计报告提纲1 任务运用FPGA用FPGA开发板的按键作为输入控制键,用数码管显示当前电风扇自动定时状态(包括:自动开/关,工作定时等)。2 目的运用veriloghdl描述设计,在开发板上实现要求。3 使用环境(软件/硬件环境,设备等)Ep2c35f672c6开发板4 FPGA课程设计详细内容4.1技术规范4.1.1功能定义(1),根据用户需求,通过按键切换来实现风扇定时和普通工作模式。(2)普通工作模式时,由手动开关控制电风扇的开关,即当开关打开时,风扇工作;开关关闭时,风扇停止工作。(3)定时模式时,根据设定定时时间来选择电风扇工作时间,比如10分钟、20分钟、30分钟等,并且同步显示剩余工作时间,但是此时用户仍可以通过开关控制提前关掉电扇。(4)LED上显示当前工作状态:风扇工作亮,停止工作灭。数码管显示总的设定的时间(小时,分钟)和剩余工作时间。4.1.2系统结构框图分频模块自动定时倒计时模块模式选择控制模块显示模块ClkInoptkeyEnOnOut_HOut_LC_out总体设计可以分为以上几个模块,各模块的功能简要介绍:(1)分频模块:模块的功能是把50MHz的系统时钟转换为1Hz的时钟,和2Hz的时钟。1Hz的时钟供计数模块的使用。2Hz的时钟供输入定时数值的使用。(2)模式选择控制模块:选择需要的工作模式。包括两个模式:定时、普通。(3)自动定时倒计时模块:选择定时模式后,根据键盘的输入值来设定工作时间,在定时时间以内则风扇工作,倒计时结束或开关关闭时风扇自动关闭。(4)显示模块:LED上显示当前工作状态:风扇工作亮,停止工作灭。数码管显示总的设定的时间和剩余工作时间。4.1.3应用范围可以用于控制电扇手动控制电风扇工作或停止,也可以按照设定的时间自动工作或停止。4.1.4引脚描述顶层模块管脚描述(1)输入开关管脚信号名称功能描述输入输出位宽Clk系统时钟,频率为50MHzinput1Op模式选择信号,为1时为定时模式;为0时为普通模式。input1In输入设定时间信号input4Key设定时间后开始计时信号Input1Clr清零信号input1Fz复制信号Input1En开始计时信号Input1(2)输出显示管脚信号名称功能描述输入输出位宽Out风扇工作信号,为1是风扇工作,为0时风扇停止工作Output1Out_3时间高位数码管输出端,为时钟的十位output7Out_2时间低位数码管输出端,为时钟的个位output7Out_1时间高位数码管输出端,为分钟的十位output7Out_0时间高位数码管输出端,为分钟的十位output74.2设计方案4.2.1概述此自动定时控制器,可以实现定时模式和普通模式的切换,一共有六个模块。(1)分频模块:模块的功能是把50MHz的系统时钟转换为1Hz的时钟,和2Hz的时钟。1Hz的时钟供计数模块的使用。2Hz的时钟供输入定时数值的使用。(2)模式选择控制模块:模式选择控制模块:选择需要的工作模式。包括两个模式:定时、普通。(3)自动定时倒计时模块:选择定时模式后,根据键盘的输入值来设定工作时间,在定时时间以内则风扇工作,倒计时结束或开关关闭时风扇自动关闭。(4)显示模块:LED上显示当前工作状态:风扇工作亮,停止工作灭。数码管显示总的设定的时间和剩余工作时间。(5)信号处理模块:该模块的主要作用是在定时没有结束的时候用火仍可以通过开关来控制电扇的关闭。(6)数据输入模块:当赋值信号(fz)有效后可以通过键盘输入定时的时间,确定输入无误后按下启动键(en),风扇开始倒计时。4.2.2顶层模块划分(1)分频模块这个模块的功能是把频率为50MHz的时钟转换为1Hz的时钟,供计时模块的使用。引脚分配:信号名称功能描述方向宽度Clk输入50MHz的时钟信号input1Inclk输出经过分频以后的1Hz的时钟信号output1Nclk输出经过分频后的2hz的时钟信号Output1电路设计:(2)模式选择控制模块:选择需要的工作模式。包括两个模式:自动、手动,op为1时是定时模式,opl为0时是普通模式。若为定时模式风在设定的时间内自动工作,当计时结束时风扇自动停止工作,即计时反馈信号out为0时,风扇自动关闭。若选为手动模式,则在有手动开关key来控制风扇的开关,key为1时风扇工作,为0时停止工作。引脚分配信号名称功能描述方向宽度op模式选择信号,为1时为自动开关模式;为0时为手动开关模式。input1key开关信号input1out风扇工作状态信号output1clk主时钟Input1Clr清零信号Input1A_1Op为1时a_1为1Output1A_0Op为0时a_0为1Output1Key_1Key和a_0都为1时可key_1为1,否则为0。Output1电路设计(3)自动定时倒计时模块:选择定时模式后,根据键盘的输入值来设定工作时间,在定时时间以内则风扇工作,倒计时结束时风扇自动关闭。管脚分配信号名称功能描述输入输出位宽Clk主时钟Input1nclk计时时钟,频率为1Hzinput1en开始倒计时信号input1H小时数据输入input8m分钟数据输入Input8Sign时间计数为零反馈信号output1电路设计(4)显示模块:LED上显示当前工作状态:风扇工作亮,停止工作灭。数码管显示总的设定的时间和剩余工作时间。管脚分配信号名称功能描述输入输出位宽Data_3时间高位输出端,为小时的十位input4Data_2时间低位输出端,为小时的个位input4Data_1时间高位输出端,为分钟的十位input4Data_0时间低位输出端,为分钟的个位input4Out_3时间高位数码管输出端,为小时的十位output7Out_2时间低位数码管输出端,为小时的个位output7Out_1时间高位数码管输出端,为分钟的十位Output7Out_0时间低位数码管输出端,为分钟的个位Output7Clk主时钟Input1clr清零信号Input1sign计时信号Input1电路设计(5)信号处理模块该模块主要是用来在定时还没有结束时,用户仍可以通过开关关闭电扇。信号名称功能描述输入输出位宽Key电扇开关Input1Key_1电扇在普通模式下产生的工作信号Input1Sign倒计时信号Input1Out电扇工作信号Output1(6)数据输入模块该模块用于用户输入定时时间。信号名称功能描述输入输出位宽Clk2hz时钟,用于防抖Input1clr清零信号Input1Fz赋值信号Input1H_0小时低位输入端Input1H_1小时高位输入端Input1M_0分钟低位输入端Input1M_1分钟高位输入端Input1H小时输入数值Output8M分钟输入数值Output84.3功能验证方案4.3功能验证方案可变模值计数器模块项目信号名预期结果实际结果结果比较时钟输入clk_50M20ns时钟信号同左复位检测rst初始化高电平,等待同左200ns后变为低电平分频器脉冲进位Clkrst为低电平后,每5同左个时钟脉冲(为测试方便选用模5分频器)后产生一个高脉冲秒time_sec当clk为高时,加1,同左从0加到60分time_min当time_sec为高时,同左time_min.4.4电路设计源代码,功能仿真激励源代码及功能仿真结果报告/顶层模块modulefan(op,clr,clk,key,fz,en,h_1,h_0,m_1,m_0,out,out_3,out_2,out_1,out_0,nclk);inputop,clr,clk,key,fz,en;inputh_1,h_0,m_1,m_0;outputout,nclk;wireout,nclk;output6:0out_3,out_2,out_1,out_0;wire7:0h,m;wireb_m,b_h;wire3:0h_bcd_h,h_bcd_l,m_bcd_h,m_bcd_l;wirea_1,a_0;wirekey_1;wiresign;wireinclk;displayplay(.fz(fz),.h_1(h_1),.h_0(h_0),.m_1(m_1),.m_0(m_0),.clk(inclk),.clr(clr),.h(h),.m(m);fenpinfen(.inclk(inclk),.nclk(nclk),.clk(clk),.clr(clr);clockmin(.a_1(a_1),.sign(sign),.sclk(nclk),.en(en),.data(m),.clk(clk),.b_m(b_m),.bcd_h(m_bcd_h),.bcd_l(m_bcd_l);hourho(.sign(sign),.en(en),.a(b_m),.data(h),.clk(clk),.b_h(b_h),.bcd_h(h_bcd_h),.bcd_l(h_bcd_l);optoption(.op(op),.a_1(a_1),.a_0(a_0),.key(key),.clk(clk),.clr(clr),.key_1(key_1);lastla(.key(key),.key_1(key_1),.sign(sign),.out(out);sgsos(.b_m(b_m),.b_h(b_h),.clk(clk),.clr(clr),.sign(sign);led_displayl_play(.sign(out),.out_3(out_3),.out_2(out_2),.out_1(out_1),.out_0(out_0),.clk(clk),.clr(clr),.data_3(h_bcd_h),.data_2(h_bcd_l),.data_1(m_bcd_h),.data_0(m_bcd_l);endmodule分频模块modulefenpin(clk,clr,nclk,inclk);inputclk,clr;outputnclk,inclk;regnclk,inclk;reg50:0nadd,inadd;always(posedgeclk)beginif(!clr)beginnclk=0;nadd=0;endelsebeginif(nadd=24999999)beginnclk=!nclk;nadd=0;endelsenadd=nadd+1;endendalways(posedgeclk)beginif(!clr)begininclk=0;inadd=0;endelsebeginif(inadd=12999999)begininclk=!inclk;inadd=0;endelseinadd=inadd+1;endendendmodule倒计时模块modulehour(a,en,sign,data,clk,b_h,bcd_h,bcd_l);inputa,clk,en,sign;input7:0data;wire7:0data;outputb_h;regb_h;output3:0bcd_h,bcd_l;reg3:0bcd_h,bcd_l;reg7:0count;rege;always(posedgeclk)beginif(!en)e=1;endalways(posedgeaornegedgeen)if(!en)begincount=data;b_h=0;endelsebeginif(a)beginif(count3:0=0)beginif(count7:4=0)beginb_h=1;endelsebegincount7:4=count7:4-1;count3:0=4'b1001;b_h=0;endendelsebegincount3:0=count3:0-1;b_h=0;endendendalways(posedgeclkorposedgee)beginif(e)beginbcd_h=count7:4;bcd_l=count3:0;endendendmodulemoduleclock(en,a_1,sign,data,sclk,clk,b_m,bcd_h,bcd_l);inputen,sign,clk,sclk,a_1;input7:0data;wire7:0data;outputb_m;regb_m;output3:0bcd_h,bcd_l;reg3:0bcd_h,bcd_l;reg7:0count;wireas;rege;assignas=e&sign&a_1;always(posedgeclk)beginif(!en)e=1;endalways(posedgesclkornegedgeen)if(!en)begincount=data;b_m=0;endelsebeginif(as)beginif(count3:0=0)beginif(count7:4=0)begincount7:4=4'b0101;count3:0=4'b1001;b_m=1;endelsebegincount7:4=count7:4-1;count3:0=4'b1001;b_m=0;endendelsebegincount3:0=count3:0-1;b_m=0;endendendalways(posedgeclkorposedgee)beginif(e)beginbcd_h=count7:4;bcd_l=count3:0;endendendmodulemodulesg(b_m,b_h,clk,sign,clr);inputb_m,b_h,clk,clr;outputsign;regsign;always(posedgeclkornegedgeclr)beginif(!clr)beginsign=1;endelsebeginif(b_h)beginif(b_m)beginsign=0;endelsebeginsign=1;endendelsebeginsign=1;endendendendmodule信号处理模块modulelast(key,sign,key_1,out);inputkey,sign,key_1;outputout;wireout;wireks;assignks=key&sign;assignout=ks|key_1;endmodule数据输入模块moduledisplay(h_1,h_0,m_1,m_0,fz,clk,clr,h,m);inputh_1,h_0,m_1,m_0;inputclk,clr,fz;output7:0h,m;reg7:0h,m;reg3:0add_m_0,add_m_1,add_h_0,add_h_1;always(posedgeclkornegedgeclr)beginif(!clr)beginadd_m_0=0;add_m_1=0;endelsebeginif(fz)beginif(!m_0)beginif(add_m_0=4'b1001)beginadd_m_0=1'b0;endelsebeginadd_m_0=add_m_0+1'b1;endendif(!m_1)beginif(add_m_1=4'b0101)beginadd_m_1=1'b0;endelsebeginadd_m_1=add_m_1+1'b1;endendendendendalways(posedgeclkornegedgeclr)beginif(!clr)beginadd_h_0=0;add_h_1=0;endelsebeginif(fz)beginif(!h_0)beginif(add_h_0=4'b1001)beginadd_h_0=0;endelsebeginadd_h_0=add_h_0+1;endendif(!h_1)beginif(add_h_1=4'b0101)beginadd_h_1=0;endelsebeginadd_h_1=add_h_1+1;endendendendendalways(posedgeclkornegedgeclr)beginif(!clr)beginh=0;m=0;endelsebeginh=add_h_1,add_h_0;m=add_m_1,add_m_0;endendEndmodule模式切换模块moduleopt(op,a_1,a_0,key_1,key,clk,clr);inputop,key,clk,clr;outputa_1,a_0,key_1;rega_1,a_0;assignkey_1=key&a_0;always(posedgeclkornegedgeclr)beginif(!clr)begina_0=0;a_1=0;endelsebeginif(op)begina_1=1;a_0=0;endelsebegina_0=1;a_1=0;endendendendmoduleled数码管显示模块moduleled_display(out_3,out_2,out_1,out_0,clk,clr,data_3,data_2,data_1,data_0,sign);inputclk,clr,sign;input3:0data_3,data_2,data_1,data_0;output6:0out_3,out_2,out_1,out_0;wire6:0out_3,out_2,out_1,out_0;ledh_1(.clk(clk),.clr(clr),.d(data_3),.out(out_3),.sign(sign);ledh_0(.clk(clk),.clr(clr),.d(data_2),.out(out_2),.sign(sign);ledm_1(.clk(clk),.clr(clr),.d(data_1),.out(out_1),.sign(sign);ledm_0(.clk(clk),.clr(clr),.d(data_0),.out(out_0),.sign(sign);endmodulemoduleled(d,clk,clr,out,sign);input3:0d;wire3:0d;inputclk,clr,sign;output6:0out;reg6:0out;always(posedgeclkornegedgeclr)beginif(!clr)out=0;elsebeginif(!sign)out=0;elsecase(d)4'b0000:out=7'b0000_001;4'b0001:out=7'b1001_111;4'b0010:out=7'b0010_010;4'b0011:out=7'b0000_110;4'b0100:out=7'b1001_100;4'b0101:out=7'b0100_100;4'b0110:out=7'b0100_000;4'b0111:out=7'b0001_111;4'b1000:out=7'b0000_000;4'b1001:out=7'b0001_100;endcaseendendendmodule4.5硬件测试结果报告经过仿真测试没问题后,把程序下到SPARTAN3E中进行调试,按照预期的操作方法进行操作,结果和预期的结果基本相同,可以实现自动和手动之间的切换,并且在自动时到时间能停下来。5.课程设计的心得体会本次课程设计自己独立完成,学习到了很多东西,完善了自己很多的不足,比如说不喜欢写设计规范,以至于后面在编写代码的时候出现很多没有想到的问题,解决起来没有头绪,对设计造成了很大麻烦,最后虽然完成了设计要求,但是还是有很多的问题存在。总体来说,本次设计还是对我学习fpga有很大帮助的。西安邮电学院微电子系课程设计成绩鉴定表学生姓名班级/学号微电子0901进行时间2012年06月18日2012年06月29日成绩鉴定学习内容(20分)与教学任务计划结合程度(10分)与专业培养结合程度(6分)其它(4分)接受单位评价(20分)实践能力(10分)学习态度(6分)学习纪律(4分)报告鉴定(60分)报告内容与实践过程紧密结合(15分)报告内容与教学计划内容紧密结合(15分)报告质量(主题、结构、观点、逻辑、资料、字数30分)评阅教师姓名职称成绩评语评阅教师签字年月日西安邮电学院微电子系课程设计过程考核表学生姓名班级/学号微电子0901/承担任务实验室(单位)电科实验室所在部门电子工程实施时间2012年06月18日2012年06月29日具体内容第一周听解fpga课程设计内容和要求,制定技术规范,模块、电路设计,制定详细计数规范,和验证方案。第二周仿真验证,综合布局布线后仿真,fpga硬件调试,fpga硬件测试,FPAG课程设计检查验收撰写课设报告指导教师(师傅)姓名黄海生职务或职称教授指导教师(师傅)对学生的评价学习态度认真一般不认真学习纪律全勤偶尔缺勤经常缺勤实践能力很强一般较差指导教师(师傅)对学生专业知识或社会实践能力等情况的意见指导教师(师傅)签字年月日-

    注意事项

    本文(FPGA课程设计-电风扇的自动定时开关控制器教学内容.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开