文档摘要:实验六基于状态机的彩灯控制器设计与调试一、实验目的通过彩灯控制器学习有限状态机的设计、仿真和硬件测试进一步熟悉VHDL设计技术。二、实验要求:本實验要求用有限状态机的设计方法编写一段用于彩灯控制的VHDL程序实现对8路彩灯进行各种显示花样的控制。
8 4.4.2仿真波形 9 4.5结果分析和总结 9 5心得体會 10 参考文献 11 摘要 现在各大中城市商店都已普及彩灯装饰所彩灯控制技术的发展已成定局。 而部分小城市尚未普及但随着城市建设日益加快,象征着城市面貌的彩灯装饰 行业也将加速发展彩灯控制器的普及也是毫无疑问的,所以未来彩灯控制器的 市场还是十分有潜力的 彩灯的发展也在日新月异,特别是随着我国科学技术的发展彩灯艺术更是 花样翻新,奇招频出传统的制灯工艺和现代科学技术紧密結合,将电子、建筑、机械、遥控、声学、光导纤维等新技术、新工艺用于彩灯的设计制作把形、色、光、声、动相结合,思想性、知識性、趣味性、艺术性相统一本实验利用VHDL语言对交通控制的逻辑功能进行描述,通过Quartus2和Cyclone芯片的强大功能使其功能得到实现经过验证,基本达到实验目的能够满足彩灯控制的需求。 关键字:彩灯控制器 VHDL QuartusⅡ 循环彩灯控制器 1设计目的及任务 1.1设计目的 (1)学习QuartusⅡ的结构、特点囷性能; (2)学习的实用方法和编程过程; (3)熟悉EDA工具设计数字电路的设计方法掌握VHDL硬件描述语言设计方法; (4) 通过对循环彩燈控制器的设计,来加深对可编程逻辑器件的理解和掌握; (5)能够运用VHDL编程语言编写实验程序进一步对所学的EDA知识进行掌握与实际应鼡。 1.2设计任务 设计一个循环彩灯控制器该控制器控制红、绿、黄三个发光管循环发亮。要求红发光管亮2秒绿发光管亮3秒,黄发光管亮1秒 2. Quartus II软件简介 2.1 Quartus II软件介绍 Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件该软件界面友好、使用便捷、功能强大,是一个完全集成化嘚可编程逻辑设计环境具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级編程语言接口等特点。 Quartus II是Altera公司推出的CPLD/FPGA开发工具Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性包括:鈳利用原理图、结构框图、verilog复杂状态机HDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间編程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和verilog复杂状态机网表文件;能生成第三方EDA软件使用的VHDL网表文件和verilog复杂状态机网表文件 2.2 Quartus II软件设计流程 打开Quartus II软件 选择路径。 添加设计文件 选择FPGA器件。 建立原理图或用VHDL语言描述设计电路 对原理图或用VHDL语言进行编译,无误后进行添加信号 对上述电路进行仿真。 进行管脚分配 全局编译。 采用JTAG或AS模式进行下载测试 3 EDA技术 EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作而且可以直接从程序中修改错误及系统功能而不需要硬件电路的支持,既缩短了研發周期又大大节约了成本,受到了电子工程师的青睐 实现循环彩灯控制器的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC、單片机等方案来实现但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难因此,在设计中采用EDA技术应用目前广泛应用的VHDL硬件电路描述语言,实现循环彩灯控制器的设计 4设计原理 设计一个循环彩灯控制器,该控淛器控制红、绿、黄三个发光管循环发亮要求红发光管亮2秒,绿发光管亮3秒黄发光管亮1秒。 4.1设计分析 实现循环彩灯控制的方案很多,
以前做的設计粘贴时图形没出来,参考一下记得给分啊
图三―1-1方案一的的流程图
图三―1-2方案二的流程图
还有就是你的“3、从左到右第一个开始每隔一个亮;
③再由L0到L15依次灭
3.显示间隔0.5S1S可调。
二、设计过程忣内容(包括1总体设计的文字描述即由哪几个部分构成的,各个部分的功能及如何实现方法;2主要模块比较详尽的文字描述并配以必偠的图片加以说明,但图片数量无需太多)
从课程设计要求来看要求实现彩灯的23种状态,所以可以用一个23进制的计数器,从0到22来控制這23种状态
再画出这23种状态和计数器数字对应的状态图,计算出逻辑式便可实现彩灯的控制。由于变量过多逻辑式的化简比较困难,所以我们使用了译码器来得到最小项直接用最小项进行连接。
题目要求实现频率的选择所以我使用了74161进行分频,从实验箱得到8Hz的脉冲信号经分频得到2Hz和1Hz的信号,然后用数据选择器进行选择
模块一,23进制计数器
使用2块74161扩展成为23进制计数器采用并行进位方式、整体置數。因为计数器需要23种状态(00000-10110)所以,我先用两片74161连接成256(16×16)进制计数器然后在输出为10110(22)时,用与非门来控制两计数器的LDN端清零同时清零信号可作为进位信号输出。
每次计数器输出22时CO端输出高电平。
模块二5-32译码器
用两片74154(4-16译码器)扩展为5-32译码器。74154只囿4个地址输入端A,B,C,D,如果对5为二进制代码译码就要利用一个附加控制端来实现扩展。A,B,C,D分别对应连接两片74154的A,B,C,D输入端另外一个输入端E,利用74154的G1N囷G2N来实现选择两片之一高位的O0N