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

    数电课程设计报告.pdf

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

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

    数电课程设计报告.pdf

    数电课程设计报告 Revised on November 25,2020 基于 FPGA的洗衣机电机正反转控制器 学 院:信息与控制工程学院 专 业:电子信息工程 班 级:姓 名:学 号:2014 年 7 月目 录 1.设计任务与要求.1 2.设计思路.1 3.设计原理及方案.2 4.总结与讨论.14一、设计任务及要求:1控制洗衣机的电机作如下周期性运转,正转4S暂停2S反转4S暂停2S,用8位七段数码管显示自己学号的后四位(显示在从左边数第一个到第四个数码管上)、定时时间(两位,单位:分钟,显示在第五个和第六个数码管上),剩余时间(两位,单位:分钟,显示在第七个和第八个数码管上 2洗衣机控制器的工作过程为:(1)上电后显示自己学号的后四位,在运行中不变;初始洗涤时间为10分钟,在开始前可用S1和S2按键设置总的工作时间,确定洗衣机控制器定时工作时间。(按下并松开S1定时时间增加一分钟,按下并松开S2定时时间减少一分钟,时间范围为:0030分钟)(2)设定好定时时间后,按下并松开 S3(按下时 S3=0,松开时 S3=1),启动控制器,整个系统开始运行;再次按下并松开 S3,停止运行;再次按下并松开 S3继续运行;按下并松开 S4 则回到上电初始状态。其他两个按键不起作用。到达定时时间后,停止运行,按下并松开 S4 则回到初始状态,在运行中要显示定时时间和剩余工作时间,当剩余时间为 0 时,要显示“End”。在工作过程中用三个LED 指示灯指示电机工作状态,正转 D1 灯亮,反转 D2 灯亮,暂停 D3 灯亮,如此反复直至工作时间为 0 停止(三个 LED 灯都不亮)。系统总体框图如下:二、设计思路 为了便于计时,首先把 1000Hz 的外部时钟分频为 1Hz。正转时间设为 4s,反转设为 4s,暂停设为 2s,令洗衣机按照正转 4s、暂停 2s、反转 4s、暂停 2s 的顺序进行旋转,周期恰好为 10 秒,而定时时间单位为分钟,因此需要设计分钟计数器和秒计数器。开发板提供的时钟信号 CP 频率为 1000Hz,应该设计一分频器得到 1Hz 的时钟信号作为时间计数脉冲。设计中七段数码管采用动态扫描的方式显示,扫描需要一个比较高频率的信号,本次设计选用 1000HZ。为了得到 1000Hz 信号,必须对输入的时钟信号50MHZ 进行分频。显示模块共用 10 个管脚,其中 7 个用于连接 8 个数码管的七段 LED,还有 3 个管脚用于选择点亮哪个数码管,每隔很短的一段时间 8 个数码管交替点亮,依次循环,动态显示,由于人眼的视觉残留,可以观察到连续的测量计数器的计数值。其原理框图如图所示:本系统采用层次化、模块化的设计方法,设计顺序为自下向上。首先实现系统框图中的各子模块,然后由顶层模块调用各子模块(既可以采用原理图,也可以采用 Verilog HDL 语言)来完成整个系统。三、设计原理及方案 1.洗衣机点击正反转控制器的设计由由分频模块,模八计数器模块,s1s2s3s4控制电路模块,32 位信号产生模块,数据选择器模块,数码管显示模块组成。FPGA 接收命令,控制洗衣机的正转、反转、停机和定时时间为 0 时显示 End 的工作状态。对 FPGA 芯片的编程采用模块化的 Verilog HDL(硬件描述语言)进行设计。顶层使用原理图实现,底层由 Verilog HDL 语句实现。(1)总体框图(2)功能实现 2.分频器 50MHz到 1KHz 本模块实现对 50MHz 到 1KHz 的分频,1KHz 的信号为模八计数器提供时钟信号。(1)源程序 module lrfenpinqi50M(clk_50M,clk_1000);input clk_50M;output clk_1000;reg clk_1000;reg 15:0cnt;always(posedge clk_50M)begin if(cnt=16d24999)begin clk_1000=clk_1000;cnt=0;end else cnt=cnt+1;end endmoduleendmodule(2)元器件(3)功能仿真 3.分频器 1KHz到 1Hz 本模块实现对 1KHz 到 1Hz 的分频,1KHz 的信号为 s1s2s3s4 控制电路提供时钟信号。(1)源程序 module lrfenpinqi1000(clk_1000,clk_1);input clk_1000;output clk_1;reg clk_1;reg 15:0cnt;always(posedge clk_1000)begin if(cnt=16d499)begin clk_1=clk_1;cnt=0;end else cnt=cnt+1;end endmodule(2)元器件(3)功能仿真 4.模八计数器 本模块实现显示数码管的动态扫描。如果采用静态显示,则需要 56 根线实现,动态则只需要 10 根。其输出还作为数据选择器的 SEL端输入。(1)源程序 module lrjishuqi(cp,q);input cp;output q;reg 2:0q;always(posedge cp)begin if(q=3d7)q0)q=q+1;end endmodule (2)元器件(3)功能仿真 控制电路 本模块实现时间加减,开始和复位的功能并且通过本模块来控制 D1,D2,D3 三个灯的循环产生,本模块还输出 8位信号作为下一模块设置时间和剩余时间的输入。(1)源程序 module s1s2s3s4(clk,s1,s2,s3,s4,m_settime,m_left,d1,d2,d3);input clk;input s1,s2,s3,s4;output 4:0m_left;output 4:0m_settime;output d1,d2,d3;reg 5:0s_out;reg 4:0m_out;reg 4:0m_left;reg 4:0m_up;reg 4:0m_down;reg 4:0m_settime;reg str;reg d1,d2,d3;reg 3:0i;reg stop;always(posedge clk or negedge s4)begin if(!s4)begin s_out=0;m_out=0;i=0;d1=0;d2=0;d3=0;stop=0;end else if(m_left=0)begin i=14;d1=0;d2=0;d3=0;stop=1;end else if(str&!stop)begin if(i=0)begin i=i+1;d1=1;d3=0;end if(i=4)begin i=i+1;d1=0;d3=1;end if(i=6)begin i=i+1;d3=0;d2=1;end if(i=10)begin i=i+1;d2=0;d3=1;end if(i=11)i12)d1=0;if(s_out!=6d59)s_out=s_out+1;else begin s_out=0;m_out=m_out+1;end end end always(posedge s1 or negedge s4)begin if(!s4)m_up=0;else if(!str)m_up=m_up+5d1;end always(posedge s2 or negedge s4)begin if(!s4)m_down=0;else if(!str)m_down=m_down-5d1;end always(posedge s3 or negedge s4)begin if(!s4)str=0;else if(str=1)str=0;else if(str=0)str=1;end always(s1 or s2 or s4)begin m_settime=5d10+m_up+m_down;end always(clk or s3 or s4)begin m_left=m_settime-m_out;end endmodule (2)元器件(3)功能仿真 5.32位信号产生电路 本模块长生 32 位信号实现显示学号和设置时间、剩余时间的功能。(1)源程序 module xinhao32(settime,lefttime,s1,s2,s3,s4,s5,s6,s7,s8);output 3:0s1,s2,s3,s4,s5,s6,s7,s8;input 4:0lefttime,settime;reg 3:0s1,s2,s3,s4,s5,s6,s7,s8;always(settime or lefttime)begin s1=4h2;s2=4h2;s3=4h0;s4=4h3;if(lefttime=0)begin s5=4hd;s6=4ha;s7=4hb;s8=4hc;end else begin s5=settime/10;s6=settime%10;s7=lefttime/10;s8=lefttime%10;end end endmodule (2)元器件(3)功能仿真 6.数据选择器 通过本模块将四个八位信号分别选到译码器的输入端。(1)源程序 module lrshujuxuanze(in0,in1,in2,in3,in4,in5,in6,in7,sel,out);input3:0in0,in1,in2,in3,in4,in5,in6,in7;input2:0sel;output3:0out;reg3:0out;always(in0 or in1 or in2 or in3 or in4 or in5 or in6 or in7 or sel)begin case(sel)3d0:out=in0;3d1:out=in1;3d2:out=in2;3d3:out=in3;3d4:out=in4;3d5:out=in5;3d6:out=in6;3d7:out=in7;endcase end endmodule(2)元器件(3)功能实现 7.译码电路 本模块将数据选择器的 4位输出信号译码为 7 位信号作为数码管的显示。(1)源程序 module lryimaqi(decode_out,decode_in);output6:0 decode_out;input3:0 decode_in;reg6:0 decode_out;always(decode_in)begin case(decode_in)4h0:decode_out=7b1111110;4h1:decode_out=7b0110000;4h2:decode_out=7b1101101;4h3:decode_out=7b1111001;4h4:decode_out=7b0110011;4h5:decode_out=7b1011011;4h6:decode_out=7b1011111;4h7:decode_out=7b1110000;4h8:decode_out=7b1111111;4h9:decode_out=7b1111011;4ha:decode_out=7b1001111;4hb:decode_out=7b0010101;4hc:decode_out=7b0111101;4hd:decode_out=7b0000000;endcase end endmodule (2)元器件(3)功能仿真 四、总结与讨论 本次课程设计设计了基于 EPGA的洗衣机电机正反转控制器。在课程开始之前,要提前预习,掌握设计的总体思路。由于没有好好预习,所以在第一天花费很长时间了解设计任务、设计要求及思考总体思路。本次设计要根据系统采取层次化、模块化的设计方法,设计顺序自下而上。首先实现系统框图中的各子模块,然后由顶层设计调用各子模块来完成整个系统。在显示管的管脚分配的时候由于基础知识掌握不牢固,将管脚分配弄反,得到了镜像的数字显示。第二次验证程序的时候,数字可以正常显示,但 D1,D2,D3三个灯均不亮,检查了很多遍才发现自己的错误。最后,顺利完成了本次设计并且实现了题目要求的功能。本次设计,学到了很多东西:在经过了几天的设计仿真,学到的东西,主要是对数字电路的基础理论知识的复习巩固和对 FPGA 方面知识的掌握,更加清楚了解到了 Verilog HDL 语言的魅力,对以前学的理论知识通过实践来检验,更深入的理解了理论联系实际的重要性。要有坚持不懈的耐心和毅力,程序实现不可能一次成功,可能会出现很多错误,所以要持之以恒。要先把握事物大概,然后详细了解其各个组成部分。本次设计中采用层次化。模块化的设计方法,设计顺序自上而下。首先实现系统框图中的各子模块,然后由顶层设计调用各子模块来完成整个系统。

    注意事项

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

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




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

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

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

    收起
    展开