当前位置:文档之家› 循环彩灯控制器

循环彩灯控制器

目录1设计目的及任务 (3)1.1设计目的 (3)1.2设计任务 (3)2. QUARTUS II软件简介 (3)3 EDA技术 (4)4设计原理 (4)4.1设计分析 (4)4.2循环彩灯控制器整体设计 (5)4.3程序设计框图 (7)4.4彩灯控制器模块的程序设计及仿真 (7)4.4.1VHDL源程序 (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提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件2.2 Quartus II软件设计流程打开Quartus II软件(1) 选择路径。

(2) 添加设计文件。

(3) 选择FPGA器件。

(4) 建立原理图或用VHDL语言描述设计电路。

(5) 对原理图或用VHDL语言进行编译,无误后进行添加信号。

(6) 对上述电路进行仿真。

(7) 进行管脚分配。

(8) 全局编译。

(9) 采用JTAG或AS模式进行下载测试。

3 EDA技术EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的支持,既缩短了研发周期,又大大节约了成本,受到了电子工程师的青睐。

实现循环彩灯控制器的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。

但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。

因此,在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现循环彩灯控制器的设计。

4设计原理设计一个循环彩灯控制器,该控制器控制红、绿、黄三个发光管循环发亮。

要求红发光管亮2秒,绿发光管亮3秒,黄发光管亮1秒。

4.1设计分析实现循环彩灯控制的方案很多,不同的控制方案,其设计方法和思路也不一样。

设计一个循环彩灯控制器,该控制器控制红、绿、黄三个发光管循环发亮。

要求红发光管亮2秒,绿发光管亮3秒,黄发光管亮1秒由以上所述可以看出, 本设计的关键是要产生如图2所示的时序关系。

其中,led_r、led_g、led_y 分别表示红灯、绿灯、黄灯的控制信号。

图1循环彩灯控制器的时序图4.2循环彩灯控制器整体设计按照系统功能要求, 循环彩灯控制器的整体框图如图3 所示,它主要由2 输出分频器模块、频率选择控制模块和彩灯控制器模块三部分组成。

其中2 输出分频器模块fen_pin24 将输入的时钟信号clk 进行2 分频、4 分频得到2 种频率信号div2、div4,同时还产生频率选择信号div16,div16 应是div4 的倍数,以控制每种频率维持的时间长短。

频率选择控制模块xuan_ze 根据地址选择端s 将选择不同频率的时钟信号送给彩灯控制器模块,实现彩灯闪烁的频率变化。

彩灯控制器模块cai_deng 是整个电路设计的核心,它负责整个设计的输出效果,即彩灯图案的样式变化,rst 为复位信号,低电平有效。

图2 彩灯控制器整体框图图3 彩灯控制模块的状态转移图4.3程序设计框图图 4 程序设计框图4.4彩灯控制器模块的程序设计及仿真由图2 的时序可以设计彩灯控制器模块的有限状态机,彩灯控制器模块正常工作时共有三种状态, 其状态转移图如图2。

所示。

当复位信号rst=1 有效时, 控制器模块cai_deng 的状态由s0→s1→s2 循环,当rst=0 无效时,控制器模块的状态均回到s0 状态。

用有限状态机编写的VHDL 彩灯控制器模块的源程序如下:4.4.1VHDL源程序LIBRARY IEEE; //标准库USE IEEE.STD_LOGIC_1164.ALL;ENTITY CAIDENG1 IS //实体声明PORT(CLK, RST :IN STD_LOGIC; //端口声明R,G,Y:OUT STD_LOGIC);END CAIDENG1;ARCHITECTURE one OF CAIDENG1 IS //结构体TYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5); //声明自定义数据类型SIGNAL STATE:STATE_TYPE;BEGIN //功能描述PROCESS(CLK,RST) //进程BEGINIF RST='1'THEN STATE <=S0;ELSIF CLK'EVENT AND CLK ='1' THEN CASE STATE ISWHEN S0=>R<='1';G<='0';Y<='0';STATE<=S1; //红灯WHEN S1=>R<='1';G<='0';Y<='0';STATE<=S2; //红灯WHEN S2=>R<='0';G<='0';Y<='1';STATE<=S3; //黄灯WHEN S3=>R<='0';G<='1';Y<='0';STATE<=S4; //绿灯WHEN S4=>R<='0';G<='1';Y<='0';STATE<=S5; //绿灯WHEN S5=>R<='0';G<='1';Y<='0';STATE<=S0; //绿灯END CASE;END IF;END PROCESS;END one;4.4.2仿真波形图5仿真波形图4.5结果分析和总结(1)该控制器控制红、黄、绿三个发光管循环发光,要求红灯亮2秒,黄灯亮1秒,绿灯亮3秒。

(2)发光时间由频率为1HZ的脉冲控制。

当控制总开关给出一个高电平后,各个彩灯按红灯2秒,黄灯1秒,绿灯3秒依次点亮,循环发光。

从仿真波形可以看出循环彩灯开始工作时,红灯先亮,并且继续2s;2s后,红灯灭,黄灯亮,并且继续1s;1s后,黄灯灭,绿灯亮,并且继续3s。

如此循环。

仿真结果基本达到设计的要求。

5心得体会通过此次的课程设计,使我学习到了许多新的认识,要想完成一个设计,必须要有探索求知的精神和扎实的知识基础,必须熟练地掌握课本上专业基本的知识,只有这样才能在设计中发现问题和解决问题,同时在实验中还要有耐心去检查程序发现问题解决问题。

在这个过程中使我深刻的体会到要将自己所学的知识要应用到实践中去,同时要结合实际来做,还要翻阅大量的课外学习资料,向老师和同学请教,这样才能一步一步完成实验使其趋于完善。

这次循环彩灯控制器课程设计,让我对系统的整个设计流程有了更清楚的认识,也让我认识到一个系统的设计无论是在编程方面还是仿真方面都不容易。

尤其是在编程时更是困难丛丛。

不仅思路要正确而且专业术语要正确。

这次课设,我了解到彩灯控制器的工作基本原理的同时,还基本掌握了Quartus II软件的是用方法,还使我认识到在做设计过程中应当沉着冷静,遇到困难时候,应当冷静思考,耐心的的寻找解决的方法,最终困难一定会被克服,还懂得了要把自己所学的知识与实践结合起来是非常重要的。

一周的学习使我对彩灯控制器都有了大概的了解,更加深了我对自己所学的专业有了进一步了解,也培养了我学习的兴趣,在此也非常感谢老师认真的指导,同时细心地为我们解决了许多困难。

我们做设计绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,若是做了也不知道是个什么设计,那么做了也是白做。

设计总是与课本知识相关的。

在设计过程中,我们应该尽量减少操作的盲目性提高设计效率的保证,有的人一开始就赶着做,结果却越做越忙,主要就是这个原因。

我也曾经犯过这样的错误。

我们做设计不要一成不变和墨守成规,应该有改良创新的精神。

相关主题