- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
— PAGE \* Arabic 1 —
数电课程设计报告新编
数电课程设计报告新编 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】 《基于FPGA的洗衣机电机正反转控制器》学院:信息与控制工程学院 专业:电子信息工程 班级: 姓名: 学号: 2014年7月 目录 1.设计任务与要求 (1) 2.设计思路 (1) 3.设计原理及方案 (2) 4.总结与讨论 (14) 一、设计任务及要求: 1.控制洗衣机的电机作如下周期性运转,正转4S――暂停2S――反转4S――暂停2S,用8位七段数码管显示自己学号的后四位(显示在从左边数第一个到第四个数码管上)、定时时间(两位,单位:分钟,显示在第五个和第六个数码管上),剩余时间(两位,单位:分钟,显示在第七个和第八个数码管上 2.洗衣机控制器的工作过程为: (1)上电后显示自己学号的后四位,在运行中不变;初始洗涤时间为10分钟,在开始前可用S1和S2按键设置总的工作时间,确定洗衣机控制器定时工作时间。(按下并松开S1定时时间增加一分钟,按下并松开S2定时时间减少一分钟,时间范围为:00~30分钟) (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:0]cnt; always@(posedge clk_50M) begin if(cnt==16d24999) begin clk_1000=~clk_1000; cnt=0; end else cnt=cnt+1; end endmoduleendmodule (2)元器件 (3)功能仿真
原创力文档


文档评论(0)