彩灯控制器设计任务书.docx
- 文档编号:4225716
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:63KB
彩灯控制器设计任务书.docx
《彩灯控制器设计任务书.docx》由会员分享,可在线阅读,更多相关《彩灯控制器设计任务书.docx(14页珍藏版)》请在冰豆网上搜索。
彩灯控制器设计任务书
绍兴文理学院
数理信息学院
课程设计报告书
题目彩灯控制器设计
姓名
学号
专业班级
指导教师
时间2012年7月10日
课程设计任务书
班级
电信091
姓名
题目
彩灯控制器设计
技术参数、设计要求、
检测数据等
在EDA实验箱上利用FPGA和LED彩灯带实现如下功能:
●根据输入按键选项,实现不同次序/形式地彩灯显示
●各彩灯的亮灭时间可调整(譬如1秒、2秒、3秒等)
●各彩灯可实现闪烁显示(譬如0.1s,0.5s等)
设计进度安排或工作计划
7月1日~7月2日:
熟悉课题,查询相关资料,完成方案选择。
7月3日~7月6日:
设计模块划分、实现及各模块调试、验证。
7月7日~7月8日:
设计整体实现、调试及验证,并开始撰写报告。
7月9日~7月10日:
系统调试;课程设计报告撰写并定稿,上交。
其它
认真阅读EDA技术课程设计报告撰写规范;课题小组经协商好要指定组长并明确分工,形成良好团队工作氛围;基于课题基本要求,各小组课再细化、增加要求;课题小组每成员均需各自撰写一份课程设计报告。
彩灯控制器设计
摘要
当代社会,广告的地位和影响已日渐壮大,特别是现在经济时代,许多商品都需要广告宣传来引导主流消费,因此,广告作为一种很重要的媒介,已日渐成为社会宣传的主导方式。
然而广告的多样性决定其巨大的开发空间,对其的研究也是一项重要的工程。
广告中一个重要元素是灯光,在许多城市,夜景已成为城市一道亮丽的风景线,而这美景也是由各种灯按照不同的方法设计出来的,可以说灯光是一个广告的灵魂。
在日常生活、欢乐节日、娱乐及科研中,到处都会遇到装饰问题,总离不开彩灯控制器。
彩灯控制电路的不断完善,使得人们的生活更加丰富多彩。
彩灯是一串按一定规律连续闪烁发光两极管,彩灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
彩灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的彩灯也是很普遍的。
关键词:
EDA技术;可编程控制器;彩灯控制器;彩灯控制电路。
目录
课程设计任务书I
摘要II
1.设计概述2
2.设计方案2
3.设计实现3
4.设计验证6
总结7
参考文献8
附录9
1.设计概述
利用控制电路可使彩灯(例如霓虹灯)按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电(与全部彩灯始终全亮相比)。
近年来,随着人们生活水平的较大提高,人们对于物质生活的要求也在逐渐提高,不光是对各种各样的生活电器的需要,也开始在环境的幽雅方面有了更高的要求。
彩灯一般是发光二极管、白炽灯或有不同色彩的灯泡,彩灯控制器大致可分为两种方案实现。
一种是采用单片机控制,其优点是编程简单,控制的图案花样多,需增加的电解电路简单;另一种是利用电子电路装置控制,其电路不很复杂,制作和调试容易,成本也相对较低。
为体现专业优势,本次设计采用第二种方案。
彩灯控制电路是近年来随着电子技术发展而产生的一种控制装置。
它能使彩灯按照要求有序地被点亮,还可以同音乐、声音、色彩等结合起来,使缤纷的世界更具绚丽的色彩。
彩灯控制器结构简单,取材容易,主要由掩膜固化IC主控,由可控硅BT136双输出300W控制电路。
通过控钮可以合成多种变幻的灯光闪烁。
广泛应用到节日彩灯,舞厅灯,卡拉OK厅,酒吧,橱窗,家庭的装饰灯等等。
2.设计方案
EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。
近几年来,硬件描述语言等设计数据格式的逐步标准化,不同设计风格和应用的要求导致各具特色的EDA共组被集成在同一个工作站上,从而使EDA框架日趋标准化。
VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时对设计进行仿真模拟。
其行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的在利用功能。
实验中彩灯灯亮的的秩序可以通过在对时钟脉冲计数控制,用十六进制计数器循环计数,来让某一个灯在某个瞬间亮,然后再通过外部按键来控制选择第几组的灯亮情况,用另一个按键来控制选择灯闪烁的频率快慢。
用记数器的输出依次访问存储器的各地址单元,将存储的彩灯控制信息通过数据总线依次输出,控制彩灯周期性有序变化。
整个系统大体上分为三个部分,即可以实现四种分频的频率计、四选一多路选择器、控制彩灯显示的十六进制计数器。
多功能彩灯设计需要先把各个小部分用VHDL语言编写,然后再画原理图调出各个部分,再连接好电路,编译成功后,将各个管脚与实验箱上的对应管脚锁定,确认无误后,再将实验图装入实验箱,查看彩灯显示结果。
实验箱中通过控制分频器各按钮来控制彩灯的闪烁时间,通过控制LED的断选控制LED显示的不同种显示方法,以此来达到实验的要求。
3.设计实现
整个系统大体上分为三个部分,即可以实现四种分频的频率计、四选一多路选择器、控制彩灯显示的十六进制计数器。
多功能彩灯设计需要先把各个小部分用VHDL语言编写,然后再画原理图调出各个部分,再连接好电路,编译成功后,将各个管脚与实验箱上的对应管脚锁定,确认无误后,再将实验图装入实验箱,查看彩灯显示结果。
3.1四种分频的分频计
⑴端口
PORT(CLK:
INSTD_LOGIC;
a,b,c,d:
OUTSTD_LOGIC);
信号变量
SIGNALCLK2,CLK4,CLK8:
STD_LOGIC;
U1:
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THENCLK2<=NOTCLK2;
ENDIF;
ENDPROCESS;---二分频
图31四种分频的分频计原理图
外接时钟信号输入,四种频率输出,A端八分频输出,B端四分频输出,C端二分频输出,D端原信号输出。
3.2四选一多路选择器
⑴端口
PORT(a,b,c,d:
INSTD_LOGIC;
S:
INSTD_LOGIC_VECTOR(3DOWNTO0);
Y:
OUTSTD_LOGIC);
四选一多路选择
PROCESS(a,b,c,d,s)
BEGIN
IFs="0000"THENY<=a;--控制信号输入0,输出状态为a
ELSIFs="0001"THENY<=b;--控制信号输入1,输出状态为b
ELSIFs="0010"THENY<=c;--控制信号输入2,输出状态为c
ELSEY<=d;--控制信号输入其它,输出状态为d
图32四选一多路选择器原理图
通过S来选择输入信号的频率,S接实验箱上的键1。
3.3控制彩灯显示花样的综合十六进制计数器
⑴端口
PORT(CLK:
INSTD_LOGIC;
K2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
LED:
OUTSTD_LOGIC_VECTOR(15DOWNTO0));
IFK2="0000"
THENLED<=LED1;
ELSIFK2="0001"THENLED<=LED2;
ELSIFK2="0010"THENLED<=LED3;
ELSIFK2="0011"THENLED<=LED4;ELSENULL;
ENDIF;
ENDPROCESS;----K2控制选择彩灯显示花样
PROCESS(CLK)
VARIABLEQQ:
STD_LOGIC_VECTOR(3downto0);
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQQ<15THENQQ:
=QQ+1;
ELSEQQ:
="0000";
ENDIF;
ENDIF;
ENDPROCESS;--------第一种花样
图33控制彩灯显示花样的综合十六进制计数器原理图
K2外接键2,CLK接四选一多路选择器,LED【15..0】直接输出。
图34彩灯整体原理图
将彩灯原理图装入实验箱前,锁定管脚,外部时钟信号最好与芯片126管脚锁定,那样将易于观察彩灯变化快慢。
输入引脚S[3..0](即键1)依次与该芯片的12、10、9、8管脚锁定,K2[3..0](即键2)依次与芯片上的19、18、17、13管脚锁定。
彩灯LED[15..0]依次与芯片上的29、28、27、26、23、22、21、20、86、83、82、81、80、79、78、73管脚锁定。
然后再将原理图装入实验箱,通过键1和键2进行操作,观察彩灯变化情形。
4.设计验证
图41四种分频的分频计仿真图
在时钟上升沿的时候开始实现分频,d是直接时钟输出,c是二分频输出,b是四分频输出,a是八分频输出。
图42四选一多路选择器仿真图
当S为“0000”时,输出状态为a,当S为“0001”时,输出状态为b,当S为“0010”时,输出状态为c,当S为其它时,输出状态为d.
图43控制彩灯显示花样的综合十六进制计数器仿真图
K2控制LED的显示,四种花样。
5.总结
本文设计了一个多功能彩灯控制电路实现16路灯各种分频输出及四种花样组合输出。
在本课程的设计过程中,灵活地运用了计数器、分频计和多路选择器。
在汇编VHDL语言时,也灵活地运用了CASE语句,对VHDL语言也加深了理解和熟练应用。
VHDL最初用于标准文档的建立和电路功能模拟,后来作为系统模拟建模工具,还可以作为电路系统的设计工具,通过软件工具将VHDL源码自动转化为文本方式表达的基本逻辑原件连接图。
它具有与具体硬件电路无关和与设计平台无关的特性,它通过EDA工具自动语法检查,排除许多设计中的疏忽,还有很好的行为级描述能力和一定的系统级描述能力。
EDA技术通过软件方式设计与测试数字系统,体现了硬件设计向软件化方向发展的新趋势。
这种数字系统设计技术采用自顶向下的模块化设计方法,使系统的功能修改及调试方便,大大节约了设计和开发成本。
随着计算机技术和微电子技术的快速发展,EDA技术在现代数字系统设计中必然将发挥更加重要的作用。
参考文献
[1]谭会生,张昌凡.EDA技术及应用[M].第二版.西安:
西安电子科技大学出版社.2006:
1-3.
[2]崔葛瑾.基于FPGA的数字电路系统设计[M].西安:
西安电子科技大学出版社,2008:
8-10.
[3]丁文霞.EDA技术在现代数字系统中的应用[J].第四版.电子技术应用,2000(11):
29-31.
[4]康华光,皱寿彬,秦臻.电子技术基础(数字部分)[M].第五版.北京:
高等教育出版社,2006:
296-298.
[5]姜雪松,刘东升.硬件描述语言VHDL教程(应用篇)[M].第五版.西安:
西安交通大学大学出版社,2004:
414-415.
[6]崔葛瑾,沈利芳,李伟民.基于FPGA的数字电路系统设计[M].第四版.西安:
西安电子科技大学出版社,2008:
95.
附录
源码
四种分频的分频计代码
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYfenpinIS
PORT(CLK:
INSTD_LOGIC;a,b,c,d:
OUTSTD_LOGIC);
ENDfenpin;
ARCHITECTUREbhvOFfenpinIS
SIGNALCLK2,CLK4,CLK8:
STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
CLK2<=NOTCLK2;
ENDIF;
ENDPROCESS;
PROCESS(CLK2)
BEGIN
IFCLK2'EVENTANDCLK2='1'THEN
CLK4<=NOTCLK4;
ENDIF;
ENDPROCESS;
PROCESS(CLK4)
BEGIN
IFCLK4'EVENTANDCLK4='1'THEN
CLK8<=NOTCLK8;
ENDIF;
ENDPROCESS;
a<=CLK8;b<=CLK4;c<=CLK2;d<=CLK;
ENDbhv;
四选一多路选择器代码
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux41aIS
PORT(a,b,c,d:
INSTD_LOGIC;
S:
INSTD_LOGIC_VECTOR(3DOWNTO0);
Y:
OUTSTD_LOGIC
);
ENDENTITYmux41a;
ARCHITECTUREbhvOFmux41aIS
BEGIN
PROCESS(a,b,c,d,s)
BEGIN
IFs="0000"THENY<=a;
ELSIFs="0001"THENY<=b;
ELSIFs="0010"THENY<=c;
ELSEY<=d;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREbhv;
彩灯显示花样的综合十六进制计数器代码
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCUNT16IS
PORT(CLK:
INSTD_LOGIC;
K2:
INSTD_LOGIC_VECTOR(3DOWNTO0);
LED:
OUTSTD_LOGIC_VECTOR(15DOWNTO0)
);
ENDCUNT16;
ARCHITECTUREbehavOFCUNT16IS
SIGNALLED1:
STD_LOGIC_VECTOR(15DOWNTO0);
SIGNALLED2:
STD_LOGIC_VECTOR(15downto0);
SIGNALLED3:
STD_LOGIC_VECTOR(15downto0);
SIGNALLED4:
STD_LOGIC_VECTOR(15downto0);
BEGIN
PROCESS(K2)
BEGIN
IFK2="0000"THENLED<=LED1;
ELSIFK2="0001"THENLED<=LED2;
ELSIFK2="0010"THENLED<=LED3;
ELSIFK2="0011"THENLED<=LED4;
ELSENULL;
ENDIF;
ENDPROCESS;----K2控制选择彩灯显示花样
PROCESS(CLK)
VARIABLEQQ:
STD_LOGIC_VECTOR(3downto0);
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQQ<15THENQQ:
=QQ+1;
ELSEQQ:
="0000";
ENDIF;
ENDIF;
CASEQQIS
when"0000"=>LED1<="0000000000000001";
when"0001"=>LED1<="0000000000000010";
when"0010"=>LED1<="0000000000000100";
when"0011"=>LED1<="0000000000001000";
when"0100"=>LED1<="0000000000010000";
when"0101"=>LED1<="0000000000100000";
when"0110"=>LED1<="0000000001000000";
when"0111"=>LED1<="0000000010000000";
when"1000"=>LED1<="0000000100000000";
when"1001"=>LED1<="0000001000000000";
when"1010"=>LED1<="0000010000000000";
when"1011"=>LED1<="0000100000000000";
when"1100"=>LED1<="0001000000000000";
when"1101"=>LED1<="0010000000000000";
when"1110"=>LED1<="0100000000000000";
when"1111"=>LED1<="1000000000000000";
whenothers=>NULL;
ENDCASE;
ENDPROCESS;--------第一种花样
PROCESS(CLK)
VARIABLEQQ:
STD_LOGIC_VECTOR(3downto0);
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQQ<15THENQQ:
=QQ+1;
ELSEQQ:
="0000";
ENDIF;
ENDIF;
CASEQQIS
when"0000"=>LED2<="1111111111111111";
when"0001"=>LED2<="0000000011111111";
when"0010"=>LED2<="0000000000001111";
when"0011"=>LED2<="0000000000000011";
when"0100"=>LED2<="0000000000000000";
when"0101"=>LED2<="0000000000000011";
when"0110"=>LED2<="0000000000001111";
when"0111"=>LED2<="0000000011111111";
when"1000"=>LED2<="0000001111111111";
when"1001"=>LED2<="0000111111111111";
when"1010"=>LED2<="0011111111111111";
when"1011"=>LED2<="1111111111111111";
when"1100"=>LED2<="0000001111000000";
when"1101"=>LED2<="0000011111100000";
when"1110"=>LED2<="0000111111110000";
when"1111"=>LED2<="0001111111111000";
whenothers=>NULL;ENDCASE;
ENDPROCESS;---第二种花样
PROCESS(CLK)
VARIABLEQQ:
STD_LOGIC_VECTOR(3downto0);
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQQ<15THENQQ:
=QQ+1;
ELSEQQ:
="0000";
ENDIF;
ENDIF;
CASEQQIS
when"0000"=>LED3<="1000000000000001";
when"0001"=>LED3<="1100000000000011";
when"0010"=>LED3<="1110000000000111";
when"0011"=>LED3<="1111000000001111";
when"0100"=>LED3<="1111100000011111";
when"0101"=>LED3<="1111110000111111";
when"0110"=>LED3<="1111111001111111";
when"0111"=>LED3<="1111111111111111";
when"1000"=>LED3<="1111111001111111";
when"1001"=>LED3<="1111110000111111";
when"1010"=>LED3<="1111100000011111";
when"1011"=>LED3<="1111000000001111";
when"1100"=>LED3<="1110000000000111";
when"1101"=>LED3<="1100000000000011";
when"1110"=>LED3<="1000000000000001";
when"1111"=>LED3<="1100110011001100";
whenothers=>NULL;
ENDCASE;
ENDPROCESS;--第三种花样
PROCESS(CLK)
VARIABLEQQ:
STD_LOGIC_VECTOR(3downto0);
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQQ<15THENQQ:
=QQ+1;
ELSEQQ:
="0000";
ENDIF;
ENDIF;
CASEQQIS
when"0000"=>LED4<="1010101010101010";
when"0001"=>LED4<="0101010101010101";
when"0010"=>LED4<="0011001100110011";
when"0011"=>LED4<="1100110011001100";
when"0100"=>LED4<="1110001110001110";
when"0101"=>LED4<="1111000011110000";
when"0110"=>LED4<="0000111100001111";
when"0111"=>LED4<="0111111101111111";
when"1000"=>LED4<="0011111001111111";
when"1001"=>LED4<="0001111100011111";
when"1010"=>LED4<="0000111100001111";
when"1011"=>LED4<="0001111111111000";
when"1100"=>LED4<="0000111111110000";
when"1101"=>LED4<="0001111111111000";
when"1110"=>LED4<="1111100001111101";
when"1111"=>LED4<="1000001111111100";
whenothers=>NULL;
ENDCASE;
ENDPROCESS;--第四种花样
ENDbehav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 彩灯 控制器 设计 任务书