彩灯控制器Word文档格式.docx
- 文档编号:15957911
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:11
- 大小:355.92KB
彩灯控制器Word文档格式.docx
《彩灯控制器Word文档格式.docx》由会员分享,可在线阅读,更多相关《彩灯控制器Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
关键字:
彩灯控制器;
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:
div4:
div8:
outstd_logic);
end;
architectureoneoffenpingis
signalcnt:
std_logic_vector(2downto0);
begin
process(clk)
ifclk'
eventandclk='
1'
then
cnt<
=cnt+1;
endif;
endprocess;
div0<
=clk;
div2<
=cnt(0);
div4<
=cnt
(1);
div8<
=cnt
(2);
(2)波形发生器:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYcdkzqIS
PORT(l:
INSTD_LOGIC;
---clk
CLR:
LED:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
---彩灯输出
q:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDENTITYcdkzq;
ARCHITECTUREoneOFcdkzqIS
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:
11111111"
CONSTANTF3:
11110000"
CONSTANTF4:
00001111"
BEGIN
IFCLR='
THENCURRENT_STATE<
=S0;
ELSIFRISING_EDGE(l)THEN
CASECURRENT_STATEIS
WHENS0=>
FLOWER<
=null;
CURRENT_STATE<
=S1;
WHENS1=>
=F1;
CURRENT_STATE<
=S2;
WHENS2=>
=F2;
=S3;
WHENS3=>
=F3;
=S4;
WHENS4=>
=F4;
ENDCASE;
ENDIF;
ENDPROCESS;
LED<
=FLOWER;
q<
(3)数据选择器:
entityssis
port(led:
instd_logic_vector(7downto0);
a,b,c,d:
---音频输出
architectureoneofssis
process(led,div0,div2,div4,div8)
a<
='
0'
b<
c<
d<
caseledis
when"
=>
=div0;
=div2;
=div4;
=div8;
whenothers=>
null;
endcase;
(5)顶层程序:
entityslis
port(CLK:
architectureoneofslis
signalq,w,e,r:
std_logic;
signalt:
std_logic_vector(7downto0);
componentcdkzq
port(clr:
l:
led:
endcomponent;
componentss
port(led:
componentfenping
port(clk:
u1:
cdkzqportmap(clr,r,led,t);
u2:
ssportmap(t,q,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 彩灯 控制器
![提示](https://static.bdocx.com/images/bang_tan.gif)