小灯控制显示花形_第1页
小灯控制显示花形_第2页
小灯控制显示花形_第3页
小灯控制显示花形_第4页
小灯控制显示花形_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、黑龙江科技学院课程设计任务书一、设计题目: 二、设计的主要内容: 指导教师: 日 期: 教师评语: 评阅成绩: 评 阅 人: 日 期: 黑龙江科技学院课程设计任务书一、设计题目: 小灯控制显示花形 二、设计的主要内容:根据VHDL的基本原理,设计彩灯的显示,根据彩灯显示的时间不同,展现出不同的花形图。整体程序分为三个程序段完成,分别时许控制电路、显示控制电路和整体系统电路来完成。 指导教师: 郝维莱 日 期: 2009-12-24 教师评语: 评阅成绩: 评 阅 人: 日 期: 目录摘 要1第1章 概述21.1 程序设计概述21.2 程序设计需求分析2第2章 小灯控制显示花型设计思想32.1

2、小灯控制器的工作原理32.2设计方案4第3章 仿真结果与分析5第4章 结论与体会6参考文献7附:程序清单8摘 要随着科技的发展,在现代生活中,彩灯作为一种景观应用越来越多,我们经常见到的小灯一般都是经过程序变成变成我们所需要的景观的,本文给出一个事例的应用,表现出6种花形的显示。EDA技术的应用引起电子产品及系统开发的革命性变革,文章介绍了以VHDL为基础的彩灯控制电路程序及仿真波形,同时,研究了EDA技术在VHDL中的应用,回顾了VHDL的原理及应用。关键词:彩灯  EDA  VHDL 第1章 概述1.1 程序设计概述电子设计自动化技术EDA的发展给电子系统的设

3、计带来了革命性的变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。CPLD是新型的可编程逻辑器件,采用CPLD进行产品开发可以灵活地进行模块配置,大大缩短了产品开发周期,也有利于产品向小型化,集成化的方向发展。而VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。本文用CPLD芯片和VHDL语言设计了多路彩灯控制器。1.2 程序设计需求分析对彩灯而言,对动态灯光实时控制的装置很多,如电脑编程4路彩灯控制器、CEC电脑彩灯控制器、EPROM程控编码彩灯控制器和计算机灯光控制系统。这些控制装置均运用计算机技术、电子技术和声光

4、技术,对被控灯光系统按设定的变化方案进行亮、灭灯控制,形成各种灯光图案,有时还配以和谐的音乐,达到令人叹为观止的光、声、色的综合艺术效果。随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展,EDA(ElectronicDesign Automatic)技术的应用引起电子产品及系统开发的革命性变革。VHDL语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了

5、设计质量,减少了出错的机会。下面使用美国ALTERA公司的MAXPLUS平台上,使用VHDL硬件描述语言实现的彩灯控制电路。第2章 小灯控制显示花型设计思想2.1 小灯控制器的工作原理用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。在电路中以1代表灯亮,以0代表灯灭,由0、1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率

6、的花样功能显示。例如:十六位彩灯控制器的元件符号如图所示,Q15.0是彩灯控制器的输出端。reset是彩灯控制器的置位信号输入端,当置位信号reset=1时,彩灯状态会和s0相同;否则,当有时钟信号来临时,会根据程序设置显示出彩灯的亮灭状态。k是彩灯循环方式控制信号输入端,当k=0时,彩灯自左边第一个灯和中间分别向右边循环闪烁;当k=1时,彩灯自右边第一个灯和中间分别向左边循环闪烁;否则,彩灯会呈现熄灭状态。图2.1  彩灯控制器组成原理图2.2 设计方案根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏

7、快慢选择开关CHOSE_KEY;共有15个输出信号LED15.0,分别用于控制十六路彩灯。据此,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ,整个系统的组成原理图如图2.1所示。 第3章 仿真结果与分析时序控制电路SXKZ、显示控制电路XSKZ及整个电路系统CDKZQ的仿真图分别如图4.1、图4.2和图4.3所示。           图4.1  时序控制电路SXKZ仿真图     

8、  图4.2  显示控制电路XSKZ仿真图      图4.3  整个电路系统CDKZQ仿真图  第4章 结论与体会仿真通过,即可下载到指定的CPLD芯片里面,并进行实际连线,进行最后的硬件测试。当然,可以将各个模块所生成的元件符号存放在元件库中,以被其他人或其他的设计所重复调用,以简化后面的设计。与其它硬件设计方法相比,用VHDL进行工程设计的优点是多方面的:VHDL具有很强的行为描述能力,支持大规模设计的分解和已有设计的再利用,可读性好,易于修改和发现错误,可以使用仿真器对VHDL

9、源代码进行仿真,允许设计者不依赖于器件,容易发现设计中出现的问题,以便及时处理。能实现设计与工艺无关,可移植性好,上市时间快,成本低,ASI(:移植等优点。应用FPGA可以实现复杂电路的控制,本文只是应用其简单的控制设计的一个具体实现过程。 通过这次课程设计,不但从书本上了解了EDA的编程过程,同时也学会怎么编写VHDL语言,进一步的熟悉了EDA的编程。为以后能更好的运用EDA这个开发工具打下良好的基础,也为我以后的工作生活带来一定的帮助。参考文献 1 边计年,薛宏译。用VHDL设计电子线路。北京:清华大学出版社,2001 2 汉泽西,EDA技术及其应用。北京:北京航空航天

10、大学出版社,2004 3 潘松,王国栋。VHDL实用教程。成都:电子科技大学出版社,2000 4 VHDL语言100例详解。北京:清华大学出版社,1999 5 侯伯亨,顾新编。VHDL硬件描述语言与数字逻辑电路设计。西安:西安电子科技大学出版社,1999附:程序清单时序控制电路的VHDL源程序-SXKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SXKZ IS  PORT(

11、CHOSE_KEY:IN STD_LOGIC;       CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC;       CLK:OUT STD_LOGIC);END ENTITY SXKZ;ARCHITECTURE ART OF SXKZ IS  SIGNAL CLLK:STD_LOGIC

12、;  BEGIN    PROCESS(CLK_IN,CLR,CHOSE_KEY) IS    VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0);    BEGIN      IF CLR='1' THEN  -当CLR='1'时清零,否则正常工作&#

13、160;CLLK<='0'TEMP:="000"      ELSIF RISING_EDGE(CLK_IN) THEN        IF CHOSE_KEY='1' THEN           IF TEMP="011&quo

14、t; THEN            TEMP:="000"            CLLK<=NOT CLLK           ELSE     &

15、#160;      TEMP:=TEMP+'1'          END IF;- 当CHOSE_KEY='1'时产生基准时钟频率的1/4的时钟信号,否则产生基准时钟-频率的1/8的时钟信号        ELSE       

16、60;  IF TEMP="111" THEN             TEMP:="000"             CLLK<=NOT CLLK        

17、   ELSETEMP:=TEMP+'1'          END IF;        END IF;     END IF;   END PROCESS;   CLK<=CLLK;END ARCHITE

18、CTURE ART;显示控制电路的VHDL源程序-XSKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XSKZ IS  PORT(CLK:IN STD_LOGIC;        CLR:IN STD_LOGIC;        LED:OUT STD_LOGIC_VECTOR(

19、15 DOWNTO 0);END ENTITY XSKZ;ARCHITECTURE ART OF XSKZ ISTYPE STATE IS(S0,S1,S2,S3,S4,S5,S6);  SIGNAL CURRENT_STATE:STATE;  SIGNAL FLOWER:STD_LOGIC_VECTOR(15 DOWNTO 0);  BEGIN  PROCESS(CLR,CL

20、K) IS   CONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):="0001000100010001"    CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):="1010101010101010"    CONSTANT F3:STD_LOGIC_VECTOR(15 DOWNTO

21、0;0):="0011001100110011"    CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):="0100100100100100"    CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):="1001010010100101"    CONSTANT F6:STD_L

22、OGIC_VECTOR(15 DOWNTO 0):="1101101101100110"-六种花型的定义    BEGIN     IF CLR='1' THEN       CURRENT_STATE<=S0;     ELSIF RISING_EDGE(CLK) THEN 

23、      CASE CURRENT_STATE IS         WHEN S0=>             FLOWER<="ZZZZZZZZZZZZZZZZ"       

24、60;     CURRENT_STATE<=S1;         WHEN S1=>             FLOWER<=F1;             CURRE

25、NT_STATE<=S2;   WHEN S2=>             FLOWER<=F2;             CURRENT_STATE<=S3;         WHEN

26、 S3=>             FLOWER<=F3;             CURRENT_STATE<=S4;         WHEN S4=>    &

27、#160;        FLOWER<=F4;             CURRENT_STATE<=S5;         WHEN S5=>          

28、60;  FLOWER<=F5; CURRENT_STATE<=S6;         WHEN S6=>             FLOWER<=F6;             CUR

29、RENT_STATE<=S1;     END CASE;   END IF;  END PROCESS;  LED<=FLOWER;END ARCHITECTURE ART;整个电路系统的VHDL源程序-CDKZQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CDKZQ IS  PORT(CLK_IN:IN STD_LOGIC;        CLR:IN STD_LOGIC;        CHOSE_KEY:IN STD_LOGIC;        LED:OUT&#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论