洗衣机控制系统 FPGA 设计 Verilog Quartus

名称:洗衣机控制系统 FPGA 设计 Verilog Quartus

软件:Quartus

语言:Verilog

开发板/平台:DE2-115

功能介绍

本项目实现了一个基于 FPGA 的洗衣机控制系统,使用 Verilog 编写并在 Quartus 工程中完成设计。系统模拟洗衣机的完整工作流程,包括启动、洗涤、暂停、清洗、暂停、脱水、暂停和结束等阶段,并通过 LED 与数码管直观显示当前状态和剩余时间。 设计支持 4 种工作模式:正常模式、单独洗涤、单独清洗和单独甩干。正常模式用于演示完整洗衣流程,单独模式便于分别验证洗涤、清洗、甩干控制逻辑。用户可通过按键完成复位、启动、模式切换和停止控制,mode_led 用于显示当前模式。 系统使用 50MHz 主时钟,内部实现精确到秒的倒计时控制。4 位数码管以分:秒格式显示剩余时间,LED 分别模拟电机正转、暂停、反转和结束提示。该设计适合用于 FPGA 课程设计、数字逻辑综合实验、状态机设计学习以及开发板综合验证。

运行环境

开发语言:Verilog 开发软件:Quartus 目标开发板:DE2-115 主要时钟:50MHz 工程内容包含 Quartus 工程文件、Verilog 源码、管脚约束、编译输出文件、仿真相关文件和设计文档。

设计思路

系统采用模块化设计思路,将洗衣机控制任务拆分为顶层互联、流程控制和显示驱动三个部分。顶层模块负责统一对外接口,将 50MHz 时钟、复位、启动、模式切换和停止按键接入控制逻辑,同时把控制模块输出的时间数据送入显示模块,最终驱动 LED 和 4 位数码管。 核心控制部分围绕有限状态机实现。系统包含空闲、启动、洗涤、暂停、清洗、脱水、结束以及单独洗涤、单独清洗、单独甩干等状态,通过 start_n、mode_key、stop_key 等按键完成状态切换。正常模式下按洗涤、暂停、清洗、暂停、脱水、暂停、结束的顺序执行;单独模式下则只执行对应功能,便于独立测试或演示某一段流程。 时间控制使用 50MHz 主时钟分频产生 1 秒节拍,再由分钟和秒钟计数器实现倒计时显示。正常模式总流程按分钟秒钟方式显示剩余时间,洗涤、清洗、甩干以及各暂停阶段均由控制模块统一调度。 电机动作通过 LED 进行模拟显示。洗涤阶段按正转、暂停、反转的周期运行;清洗阶段采用另一组正转、暂停、反转节奏;甩干阶段持续正转。结束后 end_led 点亮,提示流程完成。

模块结构

系统主要由 3 个 Verilog 模块组成: 1. wash_machine:顶层模块,负责系统接口定义、显示模块和控制模块的实例化,以及分钟、秒钟等内部信号连接。 2. wash_ctrl:洗衣机控制模块,负责核心状态机、模式选择、倒计时控制、电机动作控制和 LED 状态输出。 3. display:数码管显示模块,负责将分钟、秒钟时间转换为 4 位数码管显示所需的段码输出,用于显示剩余时间。

开发板验证

本设计支持 DE2-115 开发板验证,工程中已完成对应的 Quartus 管脚约束与分配,可直接结合板载按键、LED 和数码管进行功能观察。 上板操作时,先按下复位键使系统进入初始状态。若选择正常洗衣流程,直接按下 start 键,系统开始执行完整流程:洗涤、暂停、清洗、暂停、脱水、暂停并最终结束。运行过程中 4 位数码管显示剩余分钟和秒钟,LED 用于指示正转、暂停、反转以及结束状态。 若需要单独执行洗涤、清洗或甩干,可在复位后通过 mode_key 切换模式,mode_led 显示当前模式:00 为正常模式,01 为单独洗涤,10 为单独清洗,11 为单独甩干。选择模式后按 start 键启动,对单独模式可通过 stop_key 停止。

演示视频

配套演示视频展示了洗衣机控制系统的运行过程,可用于观察复位、启动、模式切换、倒计时显示、LED 状态指示以及结束提示等功能表现。

仿真图/仿真说明/设计文档图片

设计文档中包含工程文件、程序编译、RTL 图、管脚分配、Testbench、整体仿真图、控制模块和显示模块等内容,可用于理解工程结构、状态机实现和显示驱动逻辑。仿真相关文件位于 ModelSim 仿真目录,可作为功能验证和二次修改时的参考。

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image1.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image2.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image3.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image4.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image5.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image6.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image7.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image8.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image9.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image1.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image2.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image3.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image4.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image5.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image6.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image7.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image8.png

洗衣机控制系统 FPGA 设计 Verilog Quartus 设计文档图片 image9.png

部分代码

以下展示顶层模块 wash_machine 的部分代码,完整源码请下载压缩包查看。

module wash_machine(
	clk_50M,
	reset_n,
	start_n,
	mode_key,
	stop_key,
	end_led,
	led_1,
	led_2,
	led_3,
	HEX0,
	HEX1,
	HEX2,
	HEX3,
	mode_led
);


input wire	clk_50M;    // 50MHz 时钟信号
input wire	reset_n;    // 复位信号,低电平有效
input wire	start_n;    // 启动按键,低电平有效
input wire	mode_key;   // 模式切换按键
input wire	stop_key;   // 停止按键
output wire	end_led;    // 结束指示灯
output wire	led_1;      // 电机正转指示灯
output wire	led_2;      // 电机暂停指示灯
output wire	led_3;      // 电机反转指示灯
output wire	[7:0] HEX0; // 数码管0,显示秒个位
output wire	[7:0] HEX1; // 数码管1,显示秒十位
output wire	[7:0] HEX2; // 数码管2,显示分个位
output wire	[7:0] HEX3; // 数码管3,显示分十位
output wire	[1:0] mode_led; // 模式指示灯

wire	[7:0] minute_time; // 分钟时间
wire	[7:0] second_time; // 秒钟时间


// 实例化显示模块,用于驱动数码管显示剩余时间
display	b2v_inst(
	.clk(clk_50M),
	.minute_time(minute_time),
	.second_time(second_time),
	.HEX0(HEX0),
	.HEX1(HEX1),
	.HEX2(HEX2),
	.HEX3(HEX3));


// 实例化洗衣机控制模块,负责核心逻辑控制
wash_ctrl	b2v_inst2(
	.clk_50M(clk_50M),
	.reset_n(reset_n),
	.start_n(start_n),
	.mode_key(mode_key),
	.stop_key(stop_key),
	.end_led(end_led),
	.led_1(led_1),
	.led_2(led_2),
	.led_3(led_3),
	.minute_out(minute_time),
	.mode_led(mode_led),
	.second_out(second_time));
	


endmodule

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 洗衣机控制系统 FPGA 设计 Verilog Quartus

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员