彩灯控制器.docx
- 文档编号:3046967
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:11
- 大小:355.92KB
彩灯控制器.docx
《彩灯控制器.docx》由会员分享,可在线阅读,更多相关《彩灯控制器.docx(11页珍藏版)》请在冰豆网上搜索。
彩灯控制器
EDA设计实验
题 目:
彩灯控制器
作 者:
所在学院:
信息科学与工程学院
专业年级:
学号:
指导教师:
职 称:
讲师
2011年月日
彩灯控制器
1.摘要:
现在各大中城市商店都已普及彩灯装饰,所彩灯控制技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的彩灯装饰行业也将加速发展,彩灯控制器的普及也是毫无疑问的,所以未来彩灯控制器的市场还是十分有潜力的。
彩灯的发展也在日新月异,特别是随着我国科学技术的发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺和现代科学技术紧密结合,将电子、建筑、机械、遥控、声学、光导纤维等新技术、新工艺用于彩灯的设计制作,把形、色、光、声、动相结合,思想性、知识性、趣味性、艺术性相统一。
本实验利用VHDL语言对交通控制的逻辑功能进行描述,通过Quartus2和Cyclone芯片的强大功能使其功能得到实现。
经过验证,基本达到实验目的,能够满足彩灯控制的需求。
关键字:
彩灯控制器;Cyclone;VHDL;QuartusⅡ
引言:
EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的支持,既缩短了研发周期,又大大节约了成本,受到了电子工程师的青睐。
实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。
但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。
因此,在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现交通灯系统控制器的设计。
2.QuartusII软件简介
2.1QuartusII软件介绍
QuartusII是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。
该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。
QuartusII是Altera公司推出的CPLD/FPGA开发工具,QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:
可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件
QuartusⅡ软件操作界面:
2.2QuartusII软件设计流程
打开QuartusII软件
(1)选择路径。
(2)添加设计文件。
(3)选择FPGA器件。
(4)建立原理图或用VHDL语言描述设计电路。
(5)对原理图或用VHDL语言进行编译,无误后进行添加信号。
(6)对上述电路进行仿真。
(7)进行管脚分配。
(8)全局编译。
(9)采用JTAG或AS模式进行下载测试。
3课程设计目的
(1)学习QuartusⅡ的结构、特点和性能;
(2)学习的实用方法和编程过程;
(3)熟悉EDA工具设计数字电路的设计方法,掌握VHDL硬件描述语言设计方法;
(4)通过对交通灯电路的设计,来加深对可编程逻辑器件的理解和掌握;
(5)能够运用VHDL编程语言编写实验程序,进一步对所学的EDA知识进行掌握与实际应用。
4设计原理
要求:
设计一个彩灯控制器,使彩灯(LED管)能连续发出四种以上不同的显示形式;2、随着彩灯显示图案的变化,发出不同的音响声。
教学提示:
1、彩灯显示的不同形式可由不同进制计数器驱动LED显示完成;2、音响由选择不同频率CP脉冲驱动扬声器形成。
彩灯控制器原理图:
根据设计要求可以对彩灯控制器的基本功能进行确定,它能实现4种不同的显示形式,根据不同的显示形式并发出不同的声音。
据此,可以将整个彩灯控制器分为:
分频器,波形发生器,数据选择器组成。
分频器产生的四种不同频率的信号输入到数据选择器,数据选择器根据彩灯四种不同的显示形式,分别分配不同的频率,从而随着彩灯显示图案的变化,发出不同的音响声。
整个系统共有两个输入信号:
时钟信号输入clk,系统清零信号clr;共有11个输出信号:
led[7..0],分别用于控制十六路彩灯,a,b,c,d:
声音输出端。
5程序设计
(1)分频器:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfenpingis
port(clk:
instd_logic;
div0:
outstd_logic;
div2:
outstd_logic;
div4:
outstd_logic;
div8:
outstd_logic);
end;
architectureoneoffenpingis
signalcnt:
std_logic_vector(2downto0);
begin
process(clk)
begin
ifclk'eventandclk='1'then
cnt<=cnt+1;
endif;
endprocess;
div0<=clk;
div2<=cnt(0);
div4<=cnt
(1);
div8<=cnt
(2);
end;
(2)波形发生器:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYcdkzqIS
PORT(l:
INSTD_LOGIC;---clk
CLR:
INSTD_LOGIC;
LED:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);---彩灯输出
q:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDENTITYcdkzq;
ARCHITECTUREoneOFcdkzqIS
signalcnt:
std_logic_vector(2downto0);
TYPESTATEIS(S0,S1,S2,S3,S4);
SIGNALCURRENT_STATE:
STATE;
SIGNALFLOWER:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(CLR,l)is
CONSTANTF1:
STD_LOGIC_VECTOR(7DOWNTO0):
="11001100";---四种彩灯显示模式
CONSTANTF2:
STD_LOGIC_VECTOR(7DOWNTO0):
="11111111";
CONSTANTF3:
STD_LOGIC_VECTOR(7DOWNTO0):
="11110000";
CONSTANTF4:
STD_LOGIC_VECTOR(7DOWNTO0):
="00001111";
BEGIN
IFCLR='1'THENCURRENT_STATE<=S0;
ELSIFRISING_EDGE(l)THEN
CASECURRENT_STATEIS
WHENS0=>FLOWER<=null;CURRENT_STATE<=S1;
WHENS1=>FLOWER<=F1;CURRENT_STATE<=S2;
WHENS2=>FLOWER<=F2;CURRENT_STATE<=S3;
WHENS3=>FLOWER<=F3;CURRENT_STATE<=S4;
WHENS4=>FLOWER<=F4;CURRENT_STATE<=S1;
ENDCASE;ENDIF;
ENDPROCESS;
LED<=FLOWER;
q<=FLOWER;
end;
(3)数据选择器:
libraryieee;
useieee.std_logic_1164.all;
entityssis
port(led:
instd_logic_vector(7downto0);
div0:
instd_logic;
div2:
instd_logic;
div4:
instd_logic;
div8:
instd_logic;
a,b,c,d:
outstd_logic);---音频输出
end;
architectureoneofssis
begin
process(led,div0,div2,div4,div8)
begin
a<='0';b<='0';c<='0';d<='0';
caseledis
when"11001100"=>a<=div0;
when"11111111"=>b<=div2;
when"11110000"=>c<=div4;
when"00001111"=>d<=div8;
whenothers=>null;
endcase;
endprocess;
end;
(5)顶层程序:
libraryieee;
useieee.std_logic_1164.all;
entityslis
port(CLK:
INSTD_LOGIC;
CLR:
INSTD_LOGIC;
LED:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
a,b,c,d:
outstd_logic);
end;
architectureoneofslis
signalq,w,e,r:
std_logic;
signalt:
std_logic_vector(7downto0);
componentcdkzq
port(clr:
INSTD_LOGIC;
l:
INSTD_LOGIC;
led:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
q:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
endcomponent;
componentss
port(led:
instd_logic_vector(7downto0);
div0:
instd_logic;
div2:
instd_logic;
div4:
instd_logic;
div8:
instd_logic;
a,b,c,d:
outstd_logic);
endcomponent;
componentfenping
port(clk:
instd_logic;
div0:
outstd_logic;
div2:
outstd_logic;
div4:
outstd_logic;
div8:
outstd_logic);
endcomponent;
begin
u1:
cdkzqportmap(clr,r,led,t);
u2:
ssportmap(t,q,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 彩灯 控制器