APP下载

基于Verilog的洗衣机控制电路设计

2019-05-24赵根陈正楠叶琳琳兰兴宇孙静马彧

电脑知识与技术 2019年9期

赵根 陈正楠 叶琳琳 兰兴宇 孙静 马彧

摘要:为了实现洗衣机的控制功能,应用FPGA技术,以Verilog语言为基础,包含控制器,计时器,状态显示,控制对象,报警电路等模块,实现电路的设计,经验证,功能良好。

关键词:Verilog;FPGA;洗衣机电路系统

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2019)09-0225-02

洗衣机电路系统是通过对洗衣机运行时间,循环次数的设定,可根据人们的需要,实现全自动洗衣功能,洗衣过程中发生突发情况可以报警示意,洗衣结束后发 出提示音提醒,方便人们的日常生活,为人们带来生活中的便利。

1 原理

Verilog HDL是一种硬件描述的语言(采用文本形式描述数字系统的硬件结构和行为语言),用它可以表示(逻辑表达式、逻辑电路图、示数字逻辑系统)。程序主要包括计数器8421BCD码显示模块,控制器模块,受控器模块。控制器通过端口的输入,向洗衣机发出正转,反转,待机指令,并通过数码管和LED显示控制时间。

2 总体设计

3 详细设计

3.1 设计要求

(1)控制功能

1)洗衣机的工作状态:待机5秒,正转60秒,待机5秒,反转60秒,并用3个LED和7段显示器分别表示洗衣机工作状态和显示相应工作状态下时间。

2)使用者可自行设定循环次数,当前设定最大循环次数为15次。

3)具有紧急情况处理功能,如果发生紧急情况,会立即待机,等待紧急解除后,继续执行下一步骤。

4)设定循環次数到零时即刻报警,表示设定次数已完成,在顶层电路定义各输入及输出变量。

(2)在Qaurtus∏建立计数器电路的顶层电路文件并完成编译或仿真。

(3)信号说明,输入信号:时钟CLK,直接清零RD,暂停/连续EN,洗衣机的循环次数I3I2I1I0;

输出信号:三个工作状态S,R,L,一个工作过程周期T(T4),8421BCD码num[7..0],报警信号。

3.2 设计原理

该系统主要包括控制对象,控制器,计时及报警电路,状态显4产生器,状态计数器,数据选择器和状态译码器,它能自动发出为顺序循环控制信号(S,R,L),并同时完成该状态下的计时功能。而且能自动发出顺序循环控制信号(S,R,L),并同时完成该状态下计时功能。除此之外,还向控制对象提供一个工作过程的周期信号(T),作循环次数累计。控制对象由一个四位二进制计数器和一个四位数值比较器构成,它对T计数与此同时与人工输入的预置循环数比较,随时将反映受控器自身状态信号反馈给控制器,实现系统控制功能。

3.3 程序流程

3.4 框图顶层

4 仿真效果图

1)执行设定次数为2的波形图,测试符合要求。

2)加入暂停信号后的波形图,从整体上看暂停为有效。

3)加入RD信号的波形图,根据仿真,为有效复位,复位后报警成功。

5 验证(表格)如表

6 总结

通过这次课程,我们系统地学习了FPGA课程,以VHDL和Verilog语言表达设计意图,以硬件为载体,学到了将硬件设计软件化的过程,关于脉冲与数字电路有了一些理解,例如时钟CLK电路,直接清零RD电路等。

参考文献:

[1] 邹道胜,朱如琪,陈赜.CPLD/FPGA与ASIC设计实践教程[M].2版.北京:科学出版社,2010.

[2] 张志刚.2007FPGA与SOPC设计教程[M].西安:西安电子科技大学出版社,2007.

【通联编辑:唐一东】