基于VHDL设计的彩灯控制器四花样有音乐.doc
《基于VHDL设计的彩灯控制器四花样有音乐.doc》由会员分享,可在线阅读,更多相关《基于VHDL设计的彩灯控制器四花样有音乐.doc(25页珍藏版)》请在沃文网上搜索。
1、摘 要随着电子技术的发展,当前数字系统的设计正朝着速度快,容量大,体积小,重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的ASIC设计技术。目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下地逐层完成相应的描述,综合,优化,仿真与验证,直到生成器件。上述设计过程除了系统行为和功能描述以外,其余所有的设计过程几乎都可以用计算机来自动完成,也就是说做到了电子设计自动化(EDA)。这样做可以大大地缩短系统的设计周期,以适应当今品种多,批量小的电子市场的需求,提高产品的竞争能力。本文介绍了以VHDL为基础的彩灯控制系统的设计,实现了多种花型的循环变化,随着彩灯显示
2、图案的变化,发出不同的音响声,并且可以对彩灯变换频率进行人为设定。本设计简单可靠,有较高的灵活性及实用价值。关键词:EDA;VHDL;彩灯控制系统目 录数字系统设计任务书I摘 要II目 录III第1章 彩灯控制器原理11.1 彩灯控制器的设计目的11.2 彩灯控制器的设计要求11.3 彩灯控制器的设计原理2第2章 彩灯控制器的设计32.1 彩灯控制器的设计框图32.2 彩灯控制器模块设计42.2.1 模块功能描述42.2.2 时序控制模块42.2.3 显示控制模块6第3章 彩灯控制器系统的实现及仿真103.1 整体功能描述103.2 程序编译与仿真133.2.1 Xilinx的ISE软件的介绍
3、133.2.2 彩灯控制器的编译与仿真143.3 程序下载16总 结17参考文献18附 录19答辩记录及评分表2323第1章 彩灯控制器原理1.1 彩灯控制器的设计目的本程序以计算机为工作平台,综合运用EDA软件工具开发环境、用硬件描述语言VHDL为设计语言,以ASIC来实现载体的设计。通过在EDA中的编译和处理、仿真下载、调试分析,接受一次电子设计蓝领初步的设计训练,并使所学的知识和技能得到进一步巩固、深化和扩展,以达到可以运用EDA工具设计一些简单的电子产品,掌握使用EDA工具设计数字系统的设计思想和设计方法,为继续学习和认识电子设计知识打下良好的基础。培养利用EDA技术知识,解决电子设计
4、自动化中常见实际问题的能力,积累实际的EDA编程。通过本课程设计的学习,复习所学的专业知识,使课堂学习的理论知识应用于实践。培养综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。1.2 彩灯控制器的设计要求1、用EDA技术设计一个彩灯控制器,使彩灯(LED管)能连续发出六种以上不同的花型(自拟);2、随着彩灯显示图案的变化,发出不同的音响声。3、每两种花形变化的间隔为2秒;4、有复位的功能,通过CLR键来控制复位;5、有暂停功能,通过K1键来控制暂停和继续;1.3 彩灯控制器的设计原
5、理此设计的要求是连续发出四种以上的花型且显示不同花型的时候发出不同的响声。可以由此推测:如果要发出不同的响声,必定需要由不同的输出频率来实现,而显示部分可以使用计数扫描的方法得以实现,但是如果想听到清晰的声音,必然要加大输入频率,但输入频率的增加,必然导致显示部分花型变换的频率就会相应的增加,以致花型变换过快,显示不明显。如果利用分频器,实现频率的改变,既可以发出不同的声音,又可以满足花型变换过快的问题。所以此设计的核心是分频器的使用。分频器部分的设计是利用计数器实现分频,将控制器外接的频率分为几个我们预先设定的值。当计数器达到预先设定的值,即产生一个上升沿,从而实现分频。显示部分的设计是利用
6、分频器产生的低频信号记数,从而达到控制数码管显示时,不同花色之间变换的频率不至于太快。利用分频器输出的不同频率信号,可以在花型变换的时候控制扬声器发出不同的声音。综上所诉:这次的彩灯设计采用的是分模块来完成的,包括分频器、计数器、选择器、彩灯控制器。其中彩灯控制器是用来输出不同的花样,彩灯控制器的输出则是用一个32进制的计数器来控制,扬声器的输出时用不同的频率来控制,所以用了一个集成分频器来使输入的频率被分为几种不同的频率,不同频率的选择性的输出则是用一个4选一的选择器来控制。基于上述的介绍本次的彩灯控制采用的模式6来进行显示。 图1-1 模式6结构图第2章 彩灯控制器的设计2.1 彩灯控制器
7、的设计框图模块的设计使得程序得以实现,对于程序的理解和对模块的设计紧密的联系起来利用EDA技术方便快捷的实现了设计。用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统图2-1 彩灯控制器的设计框图2.2 彩灯控制器模块设计2.2.1 模块功能描述时序控制模块的功能是产生输入脉冲的分频脉冲信号和分频脉冲信号,以此控制十六路彩灯的快慢节奏变化。显示控制模块的功能是使电路产生六种花型并且循环显示,以此实现本次课程设计要求实现的多路彩灯控
8、制器的花型循环显示功能。模块的设计使得程序得以实现,对于程序的理解和对模块的设计紧密的联系起来利用EDA技术方便快捷的实现了设计。用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。2.2.2 时序控制模块 时序控制模块是本程序的时钟信号选择模块,它的功能是产生输入脉冲的分频脉冲信号和分频脉冲信号,以此控制彩灯的快慢节奏变化。时序控制模块在本电路中起着至关重要的
9、作用,它以彩灯闪动快慢节奏的变化实现了多路彩灯绚丽多彩的花型节奏变化。时序控制电路是整个电路中一个分模块,它的设计对彩灯控制器设计的顺利完成起着决定性的作用。以下是时序控制电路编译与仿真:1、时序控制模块文本输入截图:图2-2 时序控制模块文本输入截图有以下程序:IF CHOSE_KEY=1THENIF TEMP=011THENTEMP:=000;CLLK=NOT CLLK;ELSETEMP:=TEMP+1;END IF;ELSEIF TEMP=111THENTEMP:=000;CLLK=NOT CLLK;ELSETEMP:=TEMP+1;本段程序的作用是:当CHOSE_KEY=1时产生基准时
10、钟频率的14的时钟信号,否则产生基准时钟频率的18的时钟信号。本段简短的程序很轻松地实现了时钟频率的选择与变换,要想改变彩灯节奏的快慢,只需利用CHOSE_KEY选择开关置1或置0即可轻松实现基准时钟频率的14的时钟信号和基准时钟频率的18的时钟信号的转换,简单并且容易修改,为彩灯控制器的设计提供了更大的灵活性。2、时序控制模块波形仿真截图:图2-3 时序控制模块波形仿真2.2.3 显示控制模块显示控制模块是整个电路的显示控制模块。它的主要功能是使电路产生六种花型并且循环显示,以此实现本次课程设计要求实现的多路彩灯控制器的花型循环显示功能。显示控制模块应用VHDL语言设计了本次彩灯的六种循环花
11、型,显示控制电路是整个电路中另外一个分模块,它的出色设计直接决定着彩灯控制器花型循环的花样和质量。以下是显示控制电路编译与仿真:1、时序控制模块文本输入截图:图2-4 时序控制模块文本输入截图有部分程序如下:PROCESS(CLR,CLK)ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):=0001000100010001;CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101010101010;CONSTANT F3:STD_LOGIC_VECTOR(15 DOWNTO 0):=001100110011001
12、1;CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):=0100100100100100;CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):=1001010010100101;CONSTANT F6:STD_LOGIC_VECTOR(15 DOWNTO 0):=1101101101100110;本段程序的作用是定义六种花型,此六种花型可根据个人的喜好灵活进行调节和改变,这在很大程度上增加了程序本身的实用性,又由于是软件程序设计,下载到硬件上后LED灯的排列和摆设更不受程序的影响,可随意插放。以下程序:IF CLR=1 THEN
13、CURRENT_STATEFLOWER=ZZZZZZZZZZZZZZZZ;CURRENT_STATEFLOWER=F1; CURRENT_STATEFLOWER=F2; CURRENT_STATEFLOWER=F3;CURRENT_STATEFLOWER=F4;CURRENT_STATEFLOWER=F5;CURRENT_STATEFLOWER=F6;CURRENT_STATE=S1;其作用是:如果CLR=1,则模块正常进行工作,并且以下六种花型000100010001000110101010101010100011001100110011110110110110011010010100101
14、001010100100100100100实现顺序循环显示。如果想改变六种花型的循环顺序,只需修改部分状态即可,本程序有很大的灵活性。2、时序控制模块波形仿真截图:图2-5 时序控制模块波形仿真截图第3章 彩灯控制器系统的实现及仿真3.1 整体功能描述1、在时序控制电路SXKZ的设计中,利用计数器计数达到分频值时,对计数器进行清零,同时将输出信号反向,这就非常简洁地实现了对输入基准信号的分频,并且分频信号的占空比为0.5。2、在显示控制电路XSKZ的设计中,利用状态机非常简洁地实现了六种花型的循环变换,同时利用六个十六位常数的设计,可非常方便地设置和修改六种花型。3、对于顶层程序的设计,若为模
15、块较多的系统,最好使用文本的程序设计方式。但因本系统模块较少,既可使用文本的程序设计方式,也可以使用原理图的设计方式。彩灯显示控制电路是整个设计的核心 , 彩灯显示控制模块能进行彩灯的图案控制 ,它负责整个设计的输出效果即各种彩灯图案的样式变化。在电路中以 1 代表灯亮,以 0 代表灯灭,由 0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。该程序充分地说明了用 VHDL设计电路的简单易修改,即可通过适当地改变程序中输出变量来改变彩灯的花型。时序控制模块对灯闪的速度控制有两种速度:一是分频时钟脉冲 ,二是分频时钟脉冲。并且还可以通过改变的
16、时钟输入信号来产生更多的频率。最后 ,当各个模块均完成上述操作之后 ,即可利用MAXPLUS2的原理图输入 ,调用各个元器件(底层文件) ,以原理图的形式形成最后的十六路彩灯显示系统(顶层文件) ,并且进行仿真。仿真通过 ,即可下载到指定的 CPLD芯片里面 ,并进行实际连线 ,进行最后的硬件测试。当然 ,可以将各个模块所生成的元件符号存放在元件库中 ,用以被其它人或其它的设计所重复调用 ,以简化后面的设计。用VHDL进行设计 ,首先应该了解 ,VHDL语言一种全方位硬件描述语言 ,包括系统行为级 ,寄存传输级和逻辑门级多个设计层次。应充分利用“自顶向下” 的设计优点以及层次化的设计概层次概念
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 设计 彩灯 控制器 花样 音乐
