数电课程设计报告.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数电课程设计报告.pdf》由会员分享,可在线阅读,更多相关《数电课程设计报告.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数电课程设计报告 Revised on November 25,2020 基于 FPGA的洗衣机电机正反转控制器 学 院:信息与控制工程学院 专 业:电子信息工程 班 级:姓 名:学 号:2014 年 7 月目 录 1.设计任务与要求.1 2.设计思路.1 3.设计原理及方案.2 4.总结与讨论.14一、设计任务及要求:1控制洗衣机的电机作如下周期性运转,正转4S暂停2S反转4S暂停2S,用8位七段数码管显示自己学号的后四位(显示在从左边数第一个到第四个数码管上)、定时时间(两位,单位:分钟,显示在第五个和第六个数码管上),剩余时间(两位,单位:分钟,显示在第七个和第八个数码管上 2洗衣机控
2、制器的工作过程为:(1)上电后显示自己学号的后四位,在运行中不变;初始洗涤时间为10分钟,在开始前可用S1和S2按键设置总的工作时间,确定洗衣机控制器定时工作时间。(按下并松开S1定时时间增加一分钟,按下并松开S2定时时间减少一分钟,时间范围为:0030分钟)(2)设定好定时时间后,按下并松开 S3(按下时 S3=0,松开时 S3=1),启动控制器,整个系统开始运行;再次按下并松开 S3,停止运行;再次按下并松开 S3继续运行;按下并松开 S4 则回到上电初始状态。其他两个按键不起作用。到达定时时间后,停止运行,按下并松开 S4 则回到初始状态,在运行中要显示定时时间和剩余工作时间,当剩余时间
3、为 0 时,要显示“End”。在工作过程中用三个LED 指示灯指示电机工作状态,正转 D1 灯亮,反转 D2 灯亮,暂停 D3 灯亮,如此反复直至工作时间为 0 停止(三个 LED 灯都不亮)。系统总体框图如下:二、设计思路 为了便于计时,首先把 1000Hz 的外部时钟分频为 1Hz。正转时间设为 4s,反转设为 4s,暂停设为 2s,令洗衣机按照正转 4s、暂停 2s、反转 4s、暂停 2s 的顺序进行旋转,周期恰好为 10 秒,而定时时间单位为分钟,因此需要设计分钟计数器和秒计数器。开发板提供的时钟信号 CP 频率为 1000Hz,应该设计一分频器得到 1Hz 的时钟信号作为时间计数脉冲
4、。设计中七段数码管采用动态扫描的方式显示,扫描需要一个比较高频率的信号,本次设计选用 1000HZ。为了得到 1000Hz 信号,必须对输入的时钟信号50MHZ 进行分频。显示模块共用 10 个管脚,其中 7 个用于连接 8 个数码管的七段 LED,还有 3 个管脚用于选择点亮哪个数码管,每隔很短的一段时间 8 个数码管交替点亮,依次循环,动态显示,由于人眼的视觉残留,可以观察到连续的测量计数器的计数值。其原理框图如图所示:本系统采用层次化、模块化的设计方法,设计顺序为自下向上。首先实现系统框图中的各子模块,然后由顶层模块调用各子模块(既可以采用原理图,也可以采用 Verilog HDL 语言
5、)来完成整个系统。三、设计原理及方案 1.洗衣机点击正反转控制器的设计由由分频模块,模八计数器模块,s1s2s3s4控制电路模块,32 位信号产生模块,数据选择器模块,数码管显示模块组成。FPGA 接收命令,控制洗衣机的正转、反转、停机和定时时间为 0 时显示 End 的工作状态。对 FPGA 芯片的编程采用模块化的 Verilog HDL(硬件描述语言)进行设计。顶层使用原理图实现,底层由 Verilog HDL 语句实现。(1)总体框图(2)功能实现 2.分频器 50MHz到 1KHz 本模块实现对 50MHz 到 1KHz 的分频,1KHz 的信号为模八计数器提供时钟信号。(1)源程序
6、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)源程序 m
7、odule 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 lrjishuq
8、i(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;ou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内