EDA课程设计汇本报告彩灯控制器
- 格式:doc
- 大小:187.50 KB
- 文档页数:21
EDA课程设计:八路彩灯控制器第一篇:EDA课程设计:八路彩灯控制器EDA课程设计设计题目:基于VHDL的8路彩灯控制器设计一、课程设计的目的1.熟悉QuartusⅡ软件的使用方法,使用VHDL 文本输入设计法进行任务设计。
2.增强自己实际动手能力,独立解决问题的能力。
3.通过课程设计对所学的知识进行更新及巩固.二、课程设计的基本要求本次课程设计是设计一个8路彩灯控制器,能够控制8路彩灯按照两种节拍,三种花型循环变化。
设计完成后,通过仿真验证与设计要求进行对比,检验设计是否正确。
三、课程设计的内容编写硬件描述语言VHDL程序,设计一个两种节拍、三种花型循环变化的8路彩灯控制器,两种节拍分别为0.25s和0.5s。
三种花型分别是:(1)8路彩灯分成两半,从左至右顺次渐渐点亮,全亮后则全灭。
(2)从中间到两边对称地渐渐点亮,全亮后仍由中间向两边逐次熄灭。
(3)8路彩灯从左至右按次序依次点亮,全亮后逆次序依次熄灭。
四、实验环境PC机一台;软件Quartu sⅡ6.0五、课程设计具体步骤及仿真结果1、系统总体设计框架结构分频模块:把时钟脉冲二分频,得到另一个时钟脉冲,让这两种时钟脉冲来交替控制花型的速度。
二选一模块:选择两种频率中的一个控制彩灯的花型。
8路彩灯的三种花型控制模块:整个系统的枢纽,显示彩灯亮的情况。
2、系统硬件单元电路设计1.分频模块设计实验程序:library ieee;use ieee.std_logic_1164.all;entity fenpin2 isport(clk:in std_logic;clkk:out std_logic);end fenpin2;architecture behav of fenpin2 is beginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' thenclkk1:= not clkk1;end if;clkk<=clkk1;end process;end behav;RTL电路图:波形图:2.二选一模块设计实验程序:library ieee;use ieee.std_logic_1164.all;entity mux21 is port(a,b,s:in std_logic;y:out std_logic);end mux21;architecture behave of mux21 is begin process(a,b,s)begin if s='0' then y<=a;else y<=b;end if;end process;end behave;RTL电路图:波形图:3.8路彩灯的三种花型控制模块设计程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity color8 is port(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end;architecture a of color8 is signal s:std_logic_vector(4 downto 0);begin process(s,clk)begin if rst='1' then s<=“00000”;elsif clk'event and clk= '1' then if s=“11111” thens<=“00000”;else s<=s+1;end if;case s is when “00000”=>q<=“00000000”;when“00001”=>q<=“10001000”;when“00010”=>q<=“11001100”;when“00011”=>q<=“11101110”;when “00100”=>q<=“11111111”;when “00101”=>q<=“00000000”;when“00110”=>q<=“00011000”;when“00111”=>q<=“00111100”;when“01000”=>q<=“01111110”;when“01001”=>q<=“11111111”;when“01010”=>q<=“11100111”;when“01011”=>q<=“11000011”;when“01100”=>q<=“10000001”;when“01101”=>q<=“00000000”;when“01110”=>q<=“10000000”;when“01111”=>q<=“11000000”;when“10000”=>q<=“11100000”;when“10001”=>q<=“11110000”;when“10010”=>q<=“11111000”;when“10011”=>q<=“11111100”;when“10100”=>q<=“11111110”;when“10101”=>q<=“11111111”;when“10110”=>q<=“11111110”;when“10111”=>q<=“11111100”;w hen“11000”=>q<=“11111000”;when“11001”=>q<=“11110000”;when“11010”=>q<=“11100000”;when“11011”=>q<=“11000000”;when“11100”=>q<=“10000000”;when“11101”=>q<=“00000000”;when others=>null;end case;end if;end process;end;RTL电路图:波形图:4.综合程序library ieee;use ieee.std_logic_1164.all;entity fenpin2 isport(clk:in std_logic;clkk:out std_logic);end fenpin2;architecture behav of fenpin2 is beginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' thenend if;clkk<=clkk1;end process;end behav;library ieee;use ieee.std_logic_1164.all;entity mux21 is port(a,b,s:in std_logic;y:out std_logic);end mux21;architecture behave of mux21 is begin process(a,b,s)begin if s='0' then y<=a;else y<=b;end if;end process;end behave;library ieee;clkk1:= not clkk1;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity color8 is port(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end;architecture a of color8 is signal s:std_logic_vector(4 downto 0);begin process(s,clk)begin if rst='1' then s<=“00000”;elsif clk'event and clk= '1' then if s=“11111” thens<=“00000”;else s<=s+1;end if;case s is when “00000”=>q<=“00000000”;when“00001”=>q<=“10001000”;when“00010”=>q<=“11001100”;when“00011”=>q<=“11101110”;when“00100”=>q<=“11111111”;when“00101”=>q<=“00000000”;when“00110”=>q<=“00011000”;when“00111”=>q<=“00111100”;when“01000”=>q<=“01111110”;when“01001”=>q<=“11111111”;when“01010”=>q<=“11100111”;when“01011”=>q<=“11000011”;when “01100”=>q<=“10000001”;when “01101”=>q<=“00000000”;when“01110”=>q<=“10000000”;when“01111”=>q<=“11000000”;when“10000”=>q<=“11100000”;when“10001”=>q<=“11110000”;when“10010”=>q<=“11111000”;when“10011”=>q<=“11111100”;when“10100”=>q<=“11111110”;when“10101”=>q<=“11111111”;when“10110”=>q<=“11111110”;when“10111”=>q<=“11111100”;when“11000”=>q<=“11111000”;when“11001”=>q<=“11110000”;when“11010”=>q<=“11100000”;when“11011”=>q<=“11000000”;when“11100”=>q<=“10000000”;when“11101”=>q<=“00000000”;when others=>null;end case;end if;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity balucaideng is port(clk,s,rst:in std_logic;q:out std_logic_vector(7 downto 0));end;architecture one of balucaideng issignal h0,h1:std_logic;component fenpin2port(clk:in std_logic;clkk:out std_logic);end component;component mux21 port(a,b,s:in std_logic;y:out std_logic);end component;component color8 port(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end component;begin u1: fenpin2 port map(clk=>clk,clkk=>h0);u2: mux21 port map(a=>h0,b=>clk,s=>s;y=>h1);u3: color8 port map(clk=>h1,rst=>rst,q=>q);end;波形图:六、实验总结第二篇:eda课程设计-彩灯控制器1.设计目的学习EDA开发软件和MAX+plus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。
设计报告课程名称EDA技术指导教师王春玲设计题目彩灯灯控系统设计班级2010级专业电子信息科学与技术院系物理与电子工程学院姓名罗小涛学号2010080088合作者孙洋洋·陈方胜摘要:该设计是以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主要,以原理图输入设计为辅的表达方式,以QuartusⅡ开发软件和EDA 试验箱为设计工具,阐述了彩灯控制器的工作原理和软硬件的实现方法。
它以按键控制彩灯工作模式。
并对所设计的控制器进行了时序仿真和编程下载进行硬件验证,顺利实现设计目标。
关键词:彩灯分频电路VHDL语言FPGA芯片有限状态机Abstract:this design based on field programmable logic devices (FPGA)to design the carrier, with hardware description language (VHDL) as the main, in principle diagram input design, supplemented by express way to Quartus development software and EDA test chamber for design tools, this paper expounds the working principle of lights controller hardware and software and the realization method of it buttons to control lights work mode and the design of controller on the timing simulation and programming download for hardware validation, smooth realization design goalKeywords:lights crossover circuit VHDL language FPGA chipfinite state machine1设计任务及要求1.1要有多重花型变化1.2多种花型可以自动变换,循环往复1.3彩灯变化的快慢节拍可以选择2 系统设计方案2.1 EDA技术简介EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD、CAM、CAT和CAE的概念发展而来的。
EDA课程设计--多路彩灯控制设计
项目简介:
本项目基于EDA工具(例如Altium Designer),设计实现了一种多路彩灯控制器。
该控制器可以控制多个LED灯的颜色和亮度,并可以通过外部输入信号进行控制。
项目要求:
- 实现8路彩灯控制,并且可以通过外部控制进行选择控制的灯数量。
- 支持控制彩灯的颜色和亮度。
- 支持外部输入信号,例如红外、蓝牙等。
- 设计具有过压、过流保护电路。
项目实现:
1. 硬件设计
- 选用STM32F030C8T6为控制器,实现外部输入信号检测、灯控制等功能
- 使用MAX7219为LED驱动芯片,支持SPI通信
- 具有功率PWM控制电路,用于调节彩灯的亮度
- 设有保护电路(包括过压、过流保护等)。
2. PCB设计
- 完成原理图设计,并将原理图转化为PCB设计
- 完成DSP设计、电源电路设计、外部输入检测电路设计、LED灯的连接及布局设计
- 设计阻止过压、过流电路,并进行分析和仿真,确保电路设计的可靠性和稳定性。
3. 程序设计
- 根据硬件设计,编写STM32程序,实现控制LED灯的亮度和颜色、接收和处理外部输入信号等功能
- 设计简单友好的用户界面,使得用户可以方便地选择和改变亮度和颜色控制方式。
4. 调试测试
- 在完成硬件设计、PCB设计、程序设计后,进行完整的测试来验证控制器的功能。
- 对控制器进行验证测试,确保它能稳定地运行,并且能够处理外部输入信号、选择和控制指定的彩灯。
课程设计报告—多路彩灯控制器一、项目介绍多路彩灯控制器是一款具有多种颜色控制功能的控制器,可以实现多种灯光图案的显示。
它的主要功能是控制多脚灯泡的变化和状态,使其产生不同颜色的灯光,构成不同的图案或者变换模式。
二、主要功能1.控制部件:该控制器采用通用数字微处理器作为控制元件,它可以控制多种灯光,包括白色、红色、绿色和蓝色等,还可以同时控制多个LED,实现不同灯光图案的显示。
2.控制算法:在算法上,多路彩灯控制器采用“时序控制”算法,它可以控制灯泡在某一秒内的时间序列,从而实现不同图案的表现效果。
3.连接部件:它还具有外界输入部件,可以连接电脑,便于使用者设计和控制灯光图案,也可以更改和重置控制器,以设计新的灯光图案。
三、困难点1.多灯光多变显示:多路灯光的多变显示要求控制器具有良好的时序管理能力,以及良好的判断力,能够实时根据外部特征环境、光源特性等,控制灯泡成某种特定的灯光图案。
2.多模式控制:多模式控制要求控制器具有嵌入式内部控制算法,以实现不同的相关控制功能。
3.可视化编程:多模式控制还要求可视化编程,使用者可以通过可视化编程界面来设计灯光图案。
四、实现方案1.硬件系统:由数字微处理器、多路输出控制器、LED灯光、外界输入部件(如按键、鼠标、USB 等)等组成。
2.控制软件:控制程序和用户界面设计,将硬件设计和实现,以及灯光显示软件结合起来,实现灯光图案的控制。
五、总结多路彩灯控制器的主要功能是控制灯泡在某一秒内的时序变化,以及实现多种灯光图案的显示。
它的实现方案主要由硬件系统、控制软件和外界输入组成,它的主要困难点包括多灯光多变显示、多模式控制和可视化编程等。
EDA课程设计报告——多路彩灯控制电路设计多路彩灯控制电路设计报告题目:多路彩灯控制电路设计要求:⑴要有6种花型变化。
⑵多种花型可以自动变化,循环往复。
⑶彩灯变化的快慢节拍可以选择。
⑷具有清零开关。
设计方案:根据系统设计要求,设计一个具有6种花型循环变化的彩灯控制器。
整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED[15..0],分别用于控制十六路彩灯。
据此,系统设计采用自顶向下的设计方法,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ。
模块划分:时序控制电路(SXKZ)显示控制电路(XSKZ)端口介绍:CLK_IN—控制彩灯节奏快慢的基准时钟信号CLR—系统清零信号CHOSE_KEY—彩灯节奏快慢选择开关LED[15..0]—16个输出信号设计过程:⒈时序控制模块(SXKZ)①新建一个VHD格式的文本编辑文件,保存—默认—命名②编写源程序,如下:时序控制模块源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SXKZ ISPORT(CHOSE_KEY : IN STD_LOGIC;CLK_ZN : IN S TD_LOGIC;CLR : IN STD_LOGIC;CLK : OUT STD_LOGIC);END SXKZ;ARCHITECTURE ART OF SXKZ ISSIGNAL CK : STD_LOGIC;BEGINPROCESS (CLK_ZN, CLR,CHOSE_KEY)V ARIABLE TEMP : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF CLR='1' THENCK<='0';TEMP:="000";ELSIF (CLK_ZN'EVENT AND CLK_ZN='1') THENIF (CHOSE_KEY='1')THENIF TEMP="011" THENTEMP:="000";CK<=NOT CK;ELSETEMP:=TEMP+1;END IF;ELSEIF TEMP="111" THENTEMP:="000";CK<=NOT CK;ELSETEMP:=TEMP+'1';END IF;END IF;END IF;END PROCESS;CLK<=CK;END ART;③检查错误,如图:④器件配置。
电子设计自动化大作业题目彩灯控制器的设计学院**学院班级电气**学号**********姓名********二O一二年十月三十一日彩灯控制器的设计一、彩灯控制器的设计要求设计能让一排彩灯(8只)自动改变显示花样的控制系统,发光二极管可作为彩灯用。
控制器应有两种控制方式:(1)规则变化。
变化节拍有0.5秒和0.x秒两种,交替出现,每种节拍可有4种花样,各执行一或二个周期后轮换。
(2)随机变化。
无规律任意变化。
二、彩灯控制器的设计原理本次彩灯控制器的设计包含几个主要模块,一是彩灯显示和扬声器的时序控制部分,二是发光二极管的动态显示和数码管的动态显示,本次设计中,二者的显示同步变化;三是扬声器的控制部分。
流程图如下所示:图 1 彩灯控制器的设计流程图彩灯控制器的设计核心主要是分频器的使用,显示部分的设计较简易。
分频的方法有很多种,本次设计之采用了其中较简易的一种,通过计数器的分频,将控制器外接的频率分为几个我们预先设定的值。
当计数器达到预先设定的值,即产生一个上升沿,从而实现分频。
扬声器通过不同的频率控制发出不同的声音。
同样发光二极管和数码管的显示速度也由其中分出来的一种频率控制(控制显示频率在1~4 之间为宜)。
通过使能端的控制可以控制不同的数码管显示预先设定的图案,数码管依次显示的图案为 AA、BB、CC,并随着发光二极管同步动态显示。
AA 为自左向右显示,BB 为自右向左显示,CC 从二边向中间再由中间向二边发散显示。
与此同时,显示不同的花型时扬声器发出不同的声音,代表不同的花型。
本次设计还带有复位功能,通过复位可以使彩灯控制器恢复到最初的状态。
三、程序设计和分析library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;建立设计库和标准程序包实体部分: entity pan isport(clk:in std_logic;clr:in std_logic;speak:out std_logic;led7s1:out std_logic_vector(6 downto 0);led7s2:out std_logic_vector(7 downto 0);led_selout:out std_logic_vector(7 downto 0);end entity;实体名为 pan,定义端口,输入端口为 clk 和 clr ,其中 clk 接脉冲信号,clr 接复位端;输出端口 speak 接扬声器,led7s1 接数码管的七段显示部分,led7s 接八个发光二极管,led_selout 接八个数码管的使能端,控制数码管的循环显示。
彩灯控制器课程设计eda一、课程目标知识目标:1. 让学生理解彩灯控制器的基本原理和EDA(电子设计自动化)软件的使用;2. 掌握彩灯控制器的电路设计、PCB布线及元件布局;3. 了解彩灯控制器的程序编写及调试方法。
技能目标:1. 培养学生运用EDA软件进行电路设计和PCB布线的能力;2. 培养学生编写彩灯控制程序,进行调试和优化的技能;3. 提高学生团队协作和解决问题的能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣和热情,激发创新意识;2. 培养学生严谨、细心的学习态度,养成良好的操作习惯;3. 增强学生的环保意识,关注电子产品对环境的影响。
课程性质:本课程属于电子技术实践课程,结合理论教学,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的电子技术基础知识,对实践操作有较高的兴趣,喜欢探索和挑战。
教学要求:教师需结合学生特点,采用循序渐进的教学方法,注重理论与实践相结合,提高学生的综合能力。
在教学过程中,关注学生的学习进度和需求,及时调整教学策略。
1. 彩灯控制器原理讲解:包括彩灯控制器的功能、工作原理及主要元件介绍,对应教材第3章;2. EDA软件操作:学习EDA软件的基本操作,如原理图绘制、PCB布线等,对应教材第4章;3. 彩灯控制器电路设计:根据原理图绘制PCB图,并进行元件布局,对应教材第5章;4. 彩灯控制程序编写:学习编写控制程序,实现彩灯的亮灭、闪烁等功能,对应教材第6章;5. 程序调试与优化:对编写好的程序进行调试,找出问题并进行优化,对应教材第7章;6. 实践操作:分组进行彩灯控制器的设计与制作,巩固所学知识,提高实际操作能力。
教学进度安排:第1周:彩灯控制器原理讲解;第2周:EDA软件操作学习;第3-4周:彩灯控制器电路设计;第5周:彩灯控制程序编写;第6周:程序调试与优化;第7周:实践操作。
教学内容确保科学性和系统性,结合教材章节进行有序安排,使学生能够逐步掌握彩灯控制器的设计与制作。
1设计目的熟练掌握EDA技术利用计算机方面的课程解决专业课程方面点具体问题,达到解决问题,完成课程设计任务,培养实践的目的。
2设计要求和任务利用所学的EDA设计方法设计彩灯控制器,熟练使用使用QUARTUSII应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。
功能要求:1.要有多种花型变化(至少4种).2.多种花型可以自动变换,循环往复.3.彩灯变换的快慢节拍可以选择.4.具有清零开关.3 总体设计思路及原理描述3.1功能描述在电路中以1 代表灯亮,以0 代表灯灭,由0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。
在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。
下面就以一个十六路彩灯控制系统的实现为例进行简单说明。
此十六路彩灯控制系统设定有六种花样变化,这六种花样可以进行自动切换,并且每种花样可以选择不同的频率。
3.2设计原理用VHDL进行设计,首先应该了解,VHDL语言一种全方位硬件描述语言,包括系统行为级,寄存传输级和逻辑门级多个设计层次。
应充分利用DL “自顶向下”的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常有用它使得人们可以从简单的单元入手,逐渐构成庞大而复杂的系统。
首先应进行系统模块的划分,规定每一模块的功能以及各个模块之间的接口。
最终设计方案为:以一个十六路彩灯花样控制器、一个四频率输出分频器,一个四选一控制器和一个时间选择器总共四部分来完成设计。
四选一控制器从分频器选择不同频率的时钟信号输送到彩灯花样控制器,从而达到控制彩灯闪烁速度的快慢,时间选择器控制每种速度维持的时间长短。
整个十六路彩灯控制系统设计的模块图如图1所示图一4分层次方案设计及代码描述4.1子模块及其功能本次设计分为四个子模块,即十六路彩灯花样控制器、四频率输出分频器,四选一控制器和时间选择器,其子模块及其功能如下:4.1.1四频率输出分频器在本次设计中,设计了六种花样,要求这六种花样以不同的频率显示,而只有一个输入的时钟信号,所以对所输入的时钟信号进行2 分频,4 分频,8分频,16分频,得到四种频率信号,CLKDIV模块用来完成此功能。
下载可编辑目录第一章绪论 (1)1.1 系统背景 (2)1.2 课程设计的主要内容和任务以及要达到的目标 (2)第二章系统电路设计 (3)2.1 系统总体设计框架结构 (3)2.1系统硬件 (3)第三章系统软件设计 (4)3.1 方案原理 (4)3.2 模块设计 (4)3.3 总体模块设计 (7)第四章实验结果和分析. (7)4.1实验仿真结果 (7)结束语 (9)附录 (10).专业 .整理 .下载可编辑第一章绪论1.1 系统背景20 世纪 90 年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD FPGA的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言 VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用 EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出 IC 版图或 PCB版图的整个过程的计算机上自动处理完成。
现在对 EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前 EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到 EDA技术。
《EDA技术》课程设计报告
学院:信息科学技术学院
专业:通信工程
班级:通信(2)班
姓名:肖强
学号:20081604B064
2011年06月26日
目录
摘要 (1)
一.设计目的 (1)
二.设计题目描述及要求 (1)
三.设计原理 (2)
3.1 方案论证 (4)
3.2 模块设计 (4)
3.2.1集成分频器模块 (4)
3.2.2 32进制计数器模块 (5)
3.2.3 彩灯控制模块 (6)
3.2.4 4选1选择器模块 (6)
3.2.5 4进制计数器模块 (7)
3.3 系统结构 (7)
四.总结 (8)
参考文献 (9)
附录一.编译 (10)
附录二.时序仿真 (10)
附录三.程序 (9)
摘要
循环彩灯的电路很多,循环方式更是五花八门,而且有专门的可编程彩灯集成电路。
绝大多数的彩灯控制电路都是用数字电路来实现的,例如,用中规模集成电路实现的彩灯控制电路主要用计数器,译码器,分配器和移位寄存器等集成。
本次设计的循环彩灯控制器就是用计数器和译码器来实现,本彩灯控制器能实现四种不同的花型,在呈现出不同花型的同时发出四种不同的声音,数码管用以标记当前呈现的是哪种花型。
[关键词]:计数器,二极管, 数码管,分频器
一.设计目的
学习EDA开发软件和MAX+plus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。
本次课程设计的主要目的是通过电子设计自动化的设计,掌握FPGA应用系统的开发过程,进一步理解FPGA应用系统的工作原理。
本课程设计设计了一个多路彩灯控制器,四种彩灯能循环变化,有清零开关,可以变化彩灯闪动频率即可以选择不同的节拍。
整个系统有三个输入信号,分别为音频输入脉冲信号clk2,复位清零信号CLR,彩灯输入控制脉冲clk1。
最后按照FPGA的开发流程和VHDL 语言建模、仿真、综合、下载、适配,用EDA6000实验箱上的FPGA系统实现了相应的功能。
通过这次课程设计更清楚的理解了VHDL程序的描述语言,能进行简单程序的编写和仿真。
二.设计题目描述和要求
1)设计一个彩灯控制器,使彩灯(LED管)能连续发出四种以上不同的显示形式;
2)随着彩灯显示图案的变化,发出不同的音响声。
3)扩充其它功能。
三.设计原理
3.1方案论证
彩灯设计总体采用分模块的方法来完成,包括分频器、32进制计数器、4进制计数器、4选1选择器、彩灯控制器五大部分。
其中彩灯控制器是用来控制8个LED,使其呈现出不同的花型,而彩灯控制器的输出则是由32进制计数器来控制。
扬声器输出不同的响声是通过加不同频率的麻涌信号来实现,不同频率的信号送至扬声器会发出不同的声音。
所以用了一个集成分频器来将输入的频率分成几种不同的频率。
不同频率的选择性输出则是由一个4选一的选择器来实现。
在现实不同花形的同时,伴随有不同的声音发出,而且通过数码管现实1、2、3、4,标志出所显示的是哪一种花型。
数码管的显示是由彩灯控制模块来控制。
3.2模块设计
3.2.1集成分频器模块
设计要求显示不同的彩灯的时候要伴随不同的音乐,所以设计分频器来用不同的频率控制不同的音乐输出。
模块说明:
Rst:输入信号复位信号用来复位集成分频器的输出使输出为“0”,及没有音乐输出,输入此信号后,彩灯从第一种花型开始顺序循环。
Clk:输入信号此信号即为分频输入的频率信号。
Clk_4、clk_6、clk_8、clk_10:输出信号即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/6分频输出、1/8分频输出、1/10分频输出。
图3-2-1 集成分频器
3.2.232进制计数器模块
32进制模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。
Rst:输入信号复位信号用来复位32进制使其输出为“00000”。
Clk:输入信号用来给模块提供工作频率。
Count_out[4..0]:输出信号即为32进制计数器的输出。
图3-2-2 32进制计数器。