数字系统设计与硬件描述语言期末考试作业
题目:学院:专业:学号:姓名:
洗衣机控制器的设计电子信息工程学院电子信息工程
3011204295邹雪强
20131106
设计原理及功能介绍
以EDA技术的基本理论为指导,用EDA方法去设计并完成特定功能的电子电路的仿真、调试,本设计为基于VHDL的EDA设计洗衣机控制器的设计,同时要掌握常用仿真开发软件,比如:QuartusII和MaxplusII等EDA常用软件(本次试用使用的软件为QuartusII91)。
基本要求:可选择工作模式;可设定工作时间;具有报警功能等。
f设计指标:控制洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止;若定时到,则停机发出音响警报信号;用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;三只LED灯表示“正转”、“反转”、“暂停”三个状态。
原理:洗衣机控制器的设计主要是定时器的设计,由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对FPGA芯片的编程采用模块化的VHDL进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。用LED显示正转20秒,暂停10秒,反转20秒,暂停10秒,60秒为一周期。
总之洗衣机控制器设计的关键是计数器和定时器的设计。
洗衣机控制器电路由五部分组成:1预置时间和编码电路:定时洗涤时间2减法计数器:计时3时序控制电路:控制洗涤过程的正转、暂停和反转4译码器:译出Q1Q200时,为暂停,Q1Q210时,为正转,Q1Q201时为反转5数码管显示:显示电路显示时间
2
f程序源代码及说明
洗衣机控制器的源程序如下:
一数码管显示
libraryieeeuseieeestd_logic_1164alluseieeestd_logic_u
sig
edall
e
tityshowtimeisportremai
_timei
std_logic_vector3dow
to0
cpi
std_logicabcdefgoutstd_logice
dshowtime
architecturertlofshowtimeissig
altempstd_logic_vector6dow
to0begi
processremai
_timebegi
caseremai
_timeiswhe