多路彩灯控制器 22.docx
《多路彩灯控制器 22.docx》由会员分享,可在线阅读,更多相关《多路彩灯控制器 22.docx(11页珍藏版)》请在冰豆网上搜索。
多路彩灯控制器22
EDA技术课程大作业
设计题目:
多路彩灯控制器
院系:
电子信息与电器工程系
学生姓名:
学号:
200902070038
专业班
2010年12月10日
多路彩灯控制器
1.设计背景和设计方案
1.1设计背景
在大型的节日晚会,娱乐场所,橱窗装饰中,多路彩灯被广泛的应用,它通过多路彩灯控制器控制对应的开关按钮,能够控制多个彩灯的输出状态,组合多种变幻的灯光闪烁,营造出良好的氛围。
1.2设计方案
多路彩灯控制器,能循环变化花型,可清零,可选择花型变化节奏。
彩灯控制器有16路发光二极管构成,当控制器开关打开时,能够在6种不同的彩灯花型之间进行循环变化,控制器具备符文清零的功能,一旦复位信号有效,不论控制器花型变化处于何种状态,都会无条件即刻清零,恢复到初始状态;节拍选择按钮,按下此按钮,多路彩灯控制器的花型变化的节奏减缓,放开此按钮,则节奏变换相对加快。
整个系统共有三个输入信号,分别为控制器快慢节奏控制信号OPT,复位清零信号CLR和时钟脉冲信号CLK,输出信号则是16路彩灯的输出状态LED[15…0]。
多路彩灯控制器有两个主要的电路模块组成:
时序控制电路模块和显示控制电路模块,时序控制电路根据输入信号的设置得到相应的输出信号,并将此信号作为显示控制电路的时钟信号,显示控制电路根据输入时钟信号的周期,有规律的输出预先设定的6中彩灯花型,从而使得多路彩灯控制器在一定的输入条件下提供符合设计要求的有效输出。
2.方案实施
2.1时序控制电路
在时序控制电路的模块CLR为复位清零信号,高电平有效,但一旦该信号有效,电路无条件复位为初始状态OPT为快慢节奏选择信号,低电平时节奏快,高电平时节奏慢,CLKOUT为输出信号,CLR信号有效时,CLKOUT输出为0,否则CLKOUT的周期随OPT信号的改变而改变。
时序控制电路的VHDL源程序如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitymetronomeis
port(
clk:
instd_logic;
clr:
instd_logic;
opt:
instd_logic;
clkout:
outstd_logic
);
endmetronome;
architecturertlofmetronomeis
signalclk_tmp:
std_logic;
signalcounter:
std_logic_vector(1downto0);
begin
process(clk,clr,opt)
begin
ifclr='1'then
clk_tmp<='0';
counter<="00";
elsifclk'eventandclk='1'then
ifopt='0'then
ifcounter="01"then
counter<="00";
clk_tmp<=notclk_tmp;
else
counter<=counter+'1';
endif;
else
ifcounter="11"then
counter<="00";
clk_tmp<=notclk_tmp;
else
counter<=counter+'1';
endif;
endif;
endif;
endprocess;
clkout<=clk_tmp;
endrtl;
运行结果:
时序控制电路所产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的1/4和1/8,输出时钟控制信号可以通过对输入时钟的计数来获得,当OPT为低电平是,输出每经过两个时钟周期进行翻转,实现四分频的快节奏,当OPT为高电平时,输出每经过四个时钟周期进行翻转,实现八分频的慢节奏。
波形图仿真
仿真结果:
当复位信号为高电平时,信号使能,使得电路不论处于何种状态或时钟周期的哪个位置,都即刻被复位清零。
图中,复位信号从时钟下降沿开始有效,输出信号不必等到时钟的上升沿就马上恢复为初始状态。
当快慢节奏选择信号OPT为低电平时,此时的时序控制电路起着四分频分频器的作用,每经过两个输入时钟周期,输出信号都进行翻转;当快慢节奏选择信号OPT为高电平时,时序控制控制电路类似于八分频分频器,每经过四个输入时钟周期,输出信号进行翻转;OPT信号取值不同时,对应的输出控制信号的周期也不相同,二者分别表现了两种频率不同的快慢周期信号。
2.2显示控制电路
显示控制电路的输入信号CLK和CLR的定义与是序控制电路一样,输出信号LED[15…0]能够循环输出16路彩灯6种不同状态的花型,对各种所对应的彩灯输出花型定义如下:
s0:
000000000000
s1:
010101010101
s2:
1010101010101010
s31000100010001000
s41100110011001100
s50011001100110011
s60001000100010001
当复位信号CLR有效时,彩灯恢复初始状态S0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应相应的输出花型,这里的时钟周期即时序控制电路模块产生的输出信号,它根据OPT信号的不同,取值得到两种快慢不同的时钟频率。
显示控制电路的VHDL源程序如下:
libraryieee;
useieee.std_logic_1164.all;
entityoutputis
port(
clk:
instd_logic;
clr:
instd_logic;
led:
outstd_logic_vector(15downto0)
);
endoutput;
architecturertlofoutputis
typestatesis
(s0,s1,s2,s3,s4,s5,s6);
signalstate:
states;
begin
process(clk,clr)
begin
ifclr='1'then
state<=s0;
led<="0000000000000000";
elsifclk'eventandclk='1'then
casestateis
whens0=>
state<=s1;
whens1=>
state<=s2;
led<="0101010101010101";
whens2=>
state<=s3;
led<="1010101010101010";
whens3=>
state<=s4;
led<="1000100010001000";
whens4=>
state<=s5;
whens5=>
state<=s6;
led<="0011001100110011";
whens6=>
state<=s1;
led<="0001000100010001";
endcase;
endif;
endprocess;
运行结果:
当复位信号CLR有效时,彩灯恢复初始状态S0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应相应的输出花型,这里的时钟周期即时序控制电路模块产生的输出信号,它根据OPT信号的不同,取值得到两种快慢不同的时钟频率。
波形图仿真:
仿真结果:
当复位清零信号有效时,彩灯输出为初始状态,按照预先定义的全0;否则,显示控制电路在6种不同的状态之间循环变化。
2.3多路彩灯控制器:
通过使用时序控制电路和显示控制电路这两个例化元件,将时序控制电路的输出作为显示控制电路的输入时钟信号,即可实现多路彩灯控制器。
如图:
顶层模块的设计VHDL源程序如下:
libraryieee;
useieee.std_logic_1164.all;
entitycolorledis
port(
clk:
instd_logic;
clr:
instd_logic;
opt:
instd_logic;
led:
outstd_logic_vector(15downto0)
);
endcolorled;
architecturertlofcolorledis
componentmetronomeis
port(
clk:
instd_logic;
clr:
instd_logic;
opt:
instd_logic;
clkout:
outstd_logic
);
endcomponentmetronome;
componentoutputis
port(
clk:
instd_logic;
clr:
instd_logic;
led:
outstd_logic_vector(15downto0)
);
endcomponentoutput;
signalclk_tmp:
std_logic;
begin
u1:
metronomeportmap(clk,clr,opt,clk_tmp);
u2:
outputportmap(clk_tmp,clr,led);
endrtl;
波形图访真:
2.3多路彩灯控制器复位功能波形:
当复位信号CLR为高电平有效时,不论16路彩灯输出处于何种状态,也不论在输入时钟信号的哪个位置,所有的输出都被清零,恢复为初始状态。
2.4多路彩灯控制器快慢节奏输出:
多路彩灯控制器快节奏输出波形图
多路彩灯控制器慢节奏输出波形图
由快慢节奏输出波形图可以看出,慢节奏输出的循环形式和快节奏输出时完全相同,二者之间唯一的不同是16路彩灯控制器在慢节奏输出时,要经过8个输入时钟周期才改变一次输出状态。
3.结果和结论
本次作业设计了几个基本模块的原理及其方案,通过模块间的特定形式的组成,构建了一个完整的16路彩灯控制器。
通过学习,掌握了N分频分频器的设计方法,并能够将其作为基本电路原件在各类数字电路中的灵活使用,为以后的学习打下了良好的基础。
4.参考文献
[1]孙俊逸,刘江海.EDA技术课程设计.华中科技大学出版社,2008年12月
[2]刘欲晓,方强.电子工业出版社.2009年2月