《基于CPLD的彩灯控制器设计毕业设计.pdf》由会员分享,可在线阅读,更多相关《基于CPLD的彩灯控制器设计毕业设计.pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕毕业业设设计计题目:基于 CPLD 的彩灯控制器设计诚信声明本人声明:1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。作者签名:日期:年月日毕毕业业设设计计(论论文文)任任务务书书题目:基于 CPLD 的彩灯控制器设计姓名院专业班级学号指导老师职称教研室主任一、基本任务和设计要求:1.基本任务要求提出一种基于 CPLD 的 LED 控制方案,实现对
2、LED 灯的控制,以 CPLD 作为主控核心,显示、驱动等模块组成核心控制模块。在主控模块设有 8 个 LED 发光二极管,根据用户需要可以编写各种亮灯模式。设计二种不同时间节拍,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭 2.设计要求:1.设计思路清晰,给出整体设计方案;2.熟悉彩灯控制器的设计,设计各种亮灯花型;3.软/硬件编程,仿真,下载验证;4.写出设计报告;二、进度安排及完成时间:第 1 周布置任务、下达设计任务书、具体安排第 2-3 周查阅资料、撰写文献综述及开题报告第 4-5 周原理框图、总体方案设计第 6-11 周软、硬件部分设计
3、第 12 周硬件下载测试第 13-14 周撰写毕业设计说明书第 15 周指导老师检查毕业设计说明书第 16 周修改、装订毕业设计说明书、指导老师评阅第 17 周毕业答辩目录摘要.IAbstract.II第 1 章绪论.11.1 彩灯控制器的简介.11.2 EDA 技术的发展.11.3 CPLD 简介.21.4 VHDL 简介.41.5 Quartus简介.51.6 课题发展现状和前景展望.6第 2 章 方案论证.82.1 方案一.82.2 方案二.82.3 最佳方案选择.10第 3 章 模块设计及其功能.113.1 模块功能描述.113.2 时序控制模块.113.2.1.时序控制模块部分程序:
4、.123.2.2 时序控制模块波形仿真截图:.133.2.3.时序控制电路生成元器件符号:.133.3 显示控制模块.133.3.1 显示控制电路部分程序:.153.3.2 显示控制模块波形仿真截图:.163.3.3 显示控制电路生成生成元器件符号:.17第 4 章八路彩灯控制系统的实现.184.1 整体功能描述.184.2 设计原理.184.3 程序编译与仿真.194.3.1 顶层模块设计程序:.194.3.2 八路彩灯控制仿真波形:.214.3.3 八路彩灯生成元器件符号:.214.4、管脚分配.224.5 硬件测试.234.6 本章小结.23第 5 章 总 结.25致谢.26参考文献.2
5、7附录管脚设定和元器件清单.28基于 CPLD 的彩灯控制器设计基于 CPLD 的彩灯控制器的设计摘摘要要本文介绍了以 VHDL 为基础的八路彩灯控制系统,本系统设计主要包括:时序控制模块,显示控制模块。时序控制模块主要根据输入信号的不同频率,选择不同的时钟信号输送到彩灯显示控制模块,从而达到控制彩灯闪烁速度的快慢。显示控制模块主要是通过状态机实现八路彩灯的四种大花型,二十九种状态的循环显示。在设计中采用 VHDL 语言对时序控制模块和显示控制模块进行底层文件设计,然后通过调用底层文件完成八路彩灯控制器顶层文件的设计。最后通过 Quartus软件仿真,对各模块的波形仿真结果进行了分析,再通过硬
6、件下载验证,完成了本次设计要求的各项指标。关键词关键词:CPLD;VHDL;彩灯控制;时序控制模块;显示控制模块;I基于 CPLD 的彩灯控制器设计The design of colored lantern controller based onThe design of colored lantern controller based onCPLDCPLDAbstract:Abstract:This article describes eight-way lights control system based on the VHDL,This system is designed prima
7、rily include:timing control module,display controlmodule.Timing Control Module is mainly based on the input signals of differentfrequencies,different clock signals to the lantern display control module to controlspeed of lantern light.Display control module is mainly through the state machineimpleme
8、ntation of four eight-way lights pattern,according to cycle in 29 States.In thedesign of the language used for VHDL timing control module and the display controlmodule to the underlying file,and then design the underlying file is complete bycalling eight-way controller lantern design top-level file.
9、Finally through QuartusII software emulation of the module,and the waveformsimulation results are analyzed,and verified through hardware downloads,Completedthe design requirements of the indicators.KeyKey wordswords:CPLD;VHDL;Lantern controller;Timing control module;Displaycontrol moduleII第 1 章绪论1.1
10、 彩灯控制器的简介彩灯控制是以彩灯为主,从调光灯、触摸灯和延迟灯电子控制器到节能灯、遥控灯和自控方便灯电子控制器的专业设备,种类繁多。目前市场上彩灯控制器的样式有可编程彩灯控制器、CEC 电脑彩灯控制器、EPROM 程控编码彩灯控制器,声控彩灯,音乐彩灯控制器,简易循环彩灯,红外线遥控彩灯控制器等。目前应用最为广泛的是可编程彩灯控制器。在编程器中编好各种彩灯花样变化的程序,经检查正确无误后送到可编程控制器中运行,控制器输出端就可以驱动多路彩灯点亮,其彩灯花样变化及各花样之间的转换均可实现自动完成,这就是可编程彩灯控制器的杰作,它使得彩灯变化更加丰富多彩漂亮迷人,这是迄今为止任何一种其他彩灯控制
11、器所无法比拟的。彩灯控制器技术在国外已经得到了广泛的应用,国内的应用正在渗透到传统的家电领域、通信领域、装饰领域及待开发的领域。在装饰领域方面,采用彩灯控制电路,加强了人机联系,如会显示数字和汉字的大型彩灯组,从而有效的提高审美观念,为了方便使用者,更为人们所熟悉,大至工业领域,小到玩具、彩灯控制器的应用都十分广泛。1.2 EDA 技术的发展(1)20 世纪 70 年代的计算机辅助设计 CAD 阶段早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到发展的初级阶段.初级阶段的硬件设计大量选用中,小规模标准集成电路 由于设计师对图形符号使用数量有限,因此传统的手工布图
12、方法无法满足产品复杂性的要求,更不能满足工作效率的要求。(2)20 世纪 80 年代的计算机辅助工程设计 CAE 阶段初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器,集成几十万直到上百万储存单元的随机存储器和只读存储器。伴随着计算机和集成电路的发展,EDA 技术进入到计算机辅助工程设计阶段。20 世纪 80 年代初推出的 EDA 工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题。利用这些工具,设计师能在产品制作之前预知产品的功能与性能,能生成产品制造文件,使设计阶
13、段对产品性能的分析前进了一大步。(3)20 世纪 90 年代电子系统设计自动化 EDA 阶段为了满足千差万别的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上.微电子技术的发展,特别是可编程逻辑器件的发展,使得微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功能。20 世纪 90 年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品开发转向系统级电子产品开发。1.3 CPLD 简介CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从 PAL和 GAL 器件
14、发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。CPLD 主要是由可编程逻辑宏单元(MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。其中 MC 结构较复杂,并具有复杂的I/O 单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD 内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式
15、互连结构时序不完全预测的缺点。CPLD 的基本特点:具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在 10,000 件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD 器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。经过几十年的发展,许多公司都开发出了CPLD 可编程逻辑器件。比较典型的就是 Altera、Lattice、Xilinx 世界权威公司
16、的产品,这里给出常用芯片:Altera EPM7128S、(PLCC84)Lattice LC4128V、(TQFP100)XilinxXC95108(PLCC84)CPLD 是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,CPLD 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,CPLD 进入工作状态。掉电后,CPLD 恢复成白片,内部逻辑关系消失,因此,CPLD 能够反复使用。CPLD 的编程无须专用的 CPLD 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修
17、改CPLD 功能时,只需换一片 EPROM 即可。这样,同一片CPLD,不同的编程数据,可以产生不同的电路功能。因此,CPLD 的使用非常灵活。CPLD 与 FPGA 的区别:FPGA 与 CPLD 的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:将以乘积项结构方式构成逻辑行为的器件称为 CPLD,如 Lattice 的 ispLSI 系列、Xilinx 的 XC9500 系列、Altera 的 MAX7000S系列和 Lattice(原 Vantis)的 Mach 系列等。将以查表法结构方式构成逻辑行为的器件称为 FPGA,如 Xilinx 的 SPARTAN 系列、Alter
18、a 的 FLEX10K 或 ACEX1K系列等。尽管 FPGA 和 CPLD 都是可编程 ASIC 器件,有很多共同特点,但由于CPLD 和 FPGA 结构上的差异,具有各自的特点:CPLD 更适合完成各种算法和组合逻辑,FPGA 更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。CPLD 的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA 的分段式布线结构决定了其延迟的不可预测性。在编程上 FPGA 比 CPLD 具有更大的灵活性。CPLD 通过修改具有固定内连电路的逻辑功能来编程,FPGA 主要通过改变内部连线的
19、布线来编程;FPGA 可在逻辑门下编程,而 CPLD 是在逻辑块下编程。FPGA 的集成度比 CPLD 高,具有更复杂的布线结构和逻辑实现。CPLD 比 FPGA 使用起来更方便。CPLD 的编程采用 E2PROM 或FASTFLASH 技术,无需外部存储器芯片,使用简单。而 FPGA 的编程信息需存放在外部存储器上,使用方法复杂。CPLD 的速度比 FPGA 快,并且具有较大的时间可预测性。这是由于 FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。在编程方式上,CPLD主要是基于 E2PROM或FLASH存储器编程,编程次数可达
20、1 万次,优点是系统断电时编程信息也不丢失。CPLD 又可分为在编程器上编程和在系统编程两类。FPGA 大部分是基于 SRAM 编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入 SRAM 中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。CPLD 保密性好,FPGA 保密性差。一般情况下,CPLD 的功耗要比 FPGA 大,且集成度越高越明显。1.4 VHDL 简介VHDL 全英文是 Very-High-Speed Integrated Circuit HardwareDescriptionLanguage,诞生于 1982 年。1987
21、 年底,VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言。自 IEEE 公布了 VHDL 的标准版本,IEEE-1076(简称 87 版)之后,各EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,即IEEE 标准的 1076-1993 版本,(简称 93 版)。现在,VHDL 和 Verilog作为 IEEE的工业标准硬件描
22、述语言,又得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL 于 Verilog语言将承担起大部分的数字系统设计任务。VHDL 主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可
23、以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。应用 VHDL 进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有
24、多人甚至多个代发组共同并行工作才能实现。(4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转变成门级网表。(5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。1.5 Quartus简介Quartus II 是 Altera 公司推出的 CPLD/FPGA 开发工具,Quartus II 提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:(1)可利用原理图、结构框图、VerilogHDL、AHDL 和 VHDL 完成电路描述,
25、并将其保存为设计实体文件;(2)芯片(电路)平面布局连线编辑;(3)LogicLock 增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;(4)功能强大的逻辑综合工具;(5)完备的电路功能仿真与时序逻辑仿真工具;(6)定时/时序分析与关键路径延时分析;(7)可使用 SignalTap II逻辑分析工具进行嵌入式的逻辑分析;(8)支持软件源文件的添加和创建,并将它们链接起来生成编程文件;(9)使用组合编译方式可一次完成整体设计流程;(10)自动定位编译错误;(11)高效的期间编程与验证工具;(12)可读入标准的 EDIF 网表文件、VHDL 网表文件和 Ve
26、rilog网表文件;(13)能生成第三方 EDA 软件使用的 VHDL 网表文件和 Verilog网表文件。Quartus II 设计流程:设计输入:完成期间的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard 插件管理器、约束编辑器和布局编辑器等工具;综合:包括分析和综合器以、辅助工具和 RTL 查看器等工具;布局连线:将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具,时序分析;仿真:Quartus II 提供了功能仿真和时序仿真两种工具;器件编程与配置:包括四种编程模式,即被动串行模式、JTAG模式、主动串
27、行模式和插座内编程模式。使用 New Project Wizard新建一个工程的过程:(1)制定工程的文件存放目录、工程名以及最顶层的设计实体名,在默认情况下,工程名与最顶层的设计实体名是相同的。(2)添加文件,包括最顶层的设计实体文件以及一些额外的电路模块描述文件或定制的功能库。(3)选择目标芯片,具体芯片最好让编译器根据工程设计的实际情况自动选择。(4)第三方EDA 工具设定,包括设计输入与综合工具、仿真工具、时序分析工具等,默认为 Quartus II 自带的仿真器、综合器以及时序分析器。(5)最后一步系统将整体工程的各项参数和设置总结并显示出来,这时即可完成工程的创建。1.6 课题发展
28、现状和前景展望随着国家经济的迅速发展,人民物质文化生活水平不断提高,对于装饰的美化美观的的要求也越来越高。城市的美化和日益激烈的广告竞争越来越受到社会的关注,作为城市装饰和广告宣传的彩灯的需求量也越来越大。近年来随着科技的飞速发展,CPLD 技术的应用正在不断地走向深入,同时自动控制系统日新月异更新。过去彩灯控制器多采用 EPROM 和相应的逻辑电路来完成,也有采用一些专用彩灯控制芯片的控制器所需的电路较多,制作不易改变,且所需控制的彩灯路数越多,扩展起来也比较繁杂;而后者由于电路已确定,控制方式不能任意改变,功能较为单一。现在广告灯的主流产品采用 LED 或 Neon 发光体。使用低成本CP
29、LD 技术和 LED 发光管组成的同步显示灯,灯板由六个像素组成,每个像素有红绿蓝三色,由 LED 发光管来实现,多灯可以长时间同步显示。实现例如全亮,循环滚动等花色,同时编写了花色编排软件,可以对花色时间,颜色,类型等进行编排,导入单片机,编译烧录。目前市场上彩灯控制器的样式有可编程彩灯控制器、CEC电脑彩灯控制器、EPROM 程控编码彩灯控制器,声控彩灯,音乐彩灯控制器,简易循环彩灯,红外线遥控彩灯控制器。这些控制装置均运用计算机技术、电子技术和声光技术,对被控灯光系统按设定的变化方案进行亮、灭灯控制,形成各种灯光图案,有时还配以和谐的音乐,达到令人叹为观止的光、声、色的综合艺术效果。随着
30、电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展。可编程控制器集微电子技术,计算机技术于一体,在取代继电器控制系统,实现多种设备的自动控制中越来越显示出其突出的优点,受到广大用户的欢迎.将可编程控制器运用到彩灯中,组成可编程彩灯控制器,只要在编程器中编好各种彩灯花样变化的程序,经检查正确无误后送到可编程控制器中运行,控制器输出端就可以驱动多路彩灯点亮,其彩灯花样变化及各花样之间的转换均可实现自动完成,这就是可编程彩灯控制器的杰作,它使得彩灯变化更加丰富多彩漂亮迷人,这是迄今为止任何一种其他彩灯控制器所无法比拟的。彩灯的发展趋势有:(1)向高效节能方向发展首先采用节能光源,然
31、后是按照节能光的尺寸、形状,精心设计灯具的光学系统,真正的提高灯光的有效利用率。如在射灯中选用光色好的高强度气体放电灯,可造成一个光学弥散、均匀柔和的照明环境,且灯具的保护角小、效率高,能较好地显示建筑物结构。(2)向集成可调化方向发展技术的迅速发展各种集成化装置和电子计算机控制系统对灯具和照明系统的应用取得了显著的进步。如应用电子镇流器对灯具及照明系统进行调光、遥控、控制光色。(3)向多功能小型化发展随着紧凑型光源的发展镇流器等灯用电器配件的超小、超薄、各种新技术、新工艺的不断采用,现代灯具正在向小型、实用和多功能方向发展。(4)向装配系列化转现代灯具的选型追求简洁明快淘汰了过去一味追求表面
32、华丽的造型及过分装饰的风格、既强调个性,又强调与背景环境的协调,还注重表现灯具材料的质感。为了能保证照明条件和视觉的舒适感,灯具大都配有各种系列成套的配件选择,以使用户根据需要自我调节第 2 章 方案论证2.1 方案一我们用VHDL语言设计了一个八路彩灯控制器,四种大花型包含二十九种状态循环变化,有清零开关,并且可以选择快慢两种节拍。工作原理:整个系统共有三个输入信号CLK,CLR和OPT,八路输出信号。时钟信号CLK由外部输入到节拍发生器,节拍选择信号OPT先输入到控制器再由控制器输出选择控制信号Y到节拍发生器,随时控制快慢节拍的转换。节拍发生器产生的节拍信号分别输出到控制器、编码电路和驱动
33、电路。编码电路输出反馈信号给控制器,控制器输出信号控制编码电路的各个子模块交替工作,产生多种花型,再由驱动电路将信号输出到彩灯。CLR为清零信号,由外部输入到控制器CLK为0时,系统回到等待状态,彩灯全灭;CLK为1时系统工作。我们采取自顶向下的设计方法,将电路分为控制器和受控制器,各部分电路的作用如下:1受控电路包括节拍发生器、驱动电路和编码电路。节拍发生器:提供快、慢两种节拍。驱动电路:提供彩灯工作所需的电压及电流,隔离负载对编码电路的影响。编码电路:根据花型要求按节拍输出八位状态编码信号 以控制彩灯接规律亮灭。2.控制器:为节拍发生器和编码电路提供控制信号,同步整个系统的工作控制器通过控
34、制编码电路中各个模块的交替工作来实现各个花型的转换。2.2 方案二同样我们用 VHDL 语言设计了一个八路彩灯控制器,四种大花型循环变化,有清零开关,并且可以选择快慢两种节拍。本控制电路采用 VHDL 语言设计。运用自顶而下的设计思想,按功能逐层分割实现层次化设计。根据多路彩灯控制器的设计原理,将整个控制器分为两个部分,分别为时序控制模块和显示控制模块。时序控制模块实现的功能是产生1和的时钟信号。显示控制模块中实现的四种大花型分别为:花型 1:彩灯从左至右逐个轮流点亮S0:00000000S1:10000000S2:01000000S3:00100000S4:00010000S5:000010
35、00S6:00000100S7:00000010S8:00000001花型 2:彩灯从右至左逐个轮流点亮S9:00000010S10:00000100S11:00001000S12:00010000S13:00100000S14:01000000S15:10000000S16:00000000花型 3:从中间依次对称亮到两边S17:00010000S18:00011000S19:00111000S20:00111100S21:01111100S22:01111110S23:11111110S24:11111111花型 4:从左对称亮到右边S25:10001000S26:11001100S27:
36、11101110S28:11111111整个电路仅有时序控制和显示控制两个模块。2.3 最佳方案选择方案一总体由受控电路和控制器组成,而受控电路又包括节拍发生器,驱动电路和编码电路。它将花型控制与节拍控制两种功能融合在一起,是考虑到只要计数器就可以实现其全部功能,且原理相对简单。如此设计,其优点在于:设计思想比较简单,元件种类使用少,充分利用了各种元件,且因熟悉,比较易于组装电路;缺点则是:中间单元电路连线过多,容易出错,且可能出现线与关系;分析电路时不易弄清楚,不易于电路的修改。方案二由时序控制电路和显示控制电路组成,电路组成较方案一简单。且检查电路时易于分析修改,虽然原理相对复杂,但单元电
37、路模块少,而且方案二程序编写简单易懂,并能够灵活地添加或删减程序实现多种花型的变化,有很大的灵活性。因此,我们选择了方案二进行进一步的设计。第3章 模块设计及其功能模块设计及其功能本次设计分为两个子模块,即八路彩灯时序控制模块和八路彩灯显示控制模块。3.1 模块功能描述时序控制模块的功能是产生输入脉冲的分频脉冲信号和分频脉冲信号,以此控制八路彩灯的快慢节奏变化。显示控制模块的功能是使电路产生四种花型并且循环显示,以此实现本次设计要求实现的多路彩灯控制器的花型循环显示功能。模块的设计使得程序得以实现,对于程序的理解和对模块的设计紧密的联系起来利用 EDA 技术方便快捷的实现了设计。用VHDL 进
38、行设计,首先应该理解,VHDL 语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用 VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。3.2 时序控制模块时序控制模块是本程序的时钟信号选择模块,它的功能是产生输入脉冲的分频脉冲信号和分频脉冲信号,以此控制八路彩灯的快慢节奏变化。时序控制模块在本电路中起着至关重要的作用,它以彩灯闪动快慢节奏的变化实现了多路彩灯绚丽多彩的花型节奏变化。时序控制电路是整个电路中一个分模块,它的设计对八路彩灯控制器设计的顺利
39、完成起着决定性的作用。时序控制模块:CLK 为输入时钟信号,电路在时钟上升沿变化;CLR 为复位清零信号,高电平有效,一旦有效时,电路无条件的回到初始状态;OPT 为频率快慢选择信号,低电平节奏快,高电平节奏慢;CLKOUT 为输出信号,CLR有效时输出为零,否则,随 OPT 信号的变化而改变。我们使得时序控制电路所产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的和,因而输出时钟控制信号可以通过对输入时钟的计数来获得。当 OPT 为低电平时,输出每经过两个时钟周期进行翻转,实现四分频的快节奏;当 OPT 为高电平时,输出每经过四个时钟周期进行翻转,实现把八分频的慢节奏。3.2.1.时序
40、控制模块部分程序:elsif clkevent and clk=1 thenifopt=0 then-四分频,快节奏if counter=01 thencounter=00;clk_tmp=not clk_tmp;elsecounter=counter+1;end if;else-八分频,慢节奏if counter=11 thencounter=00;clk_tmp=not clk_tmp;elsecounter=counter+1;end if;本段程序的作用是:当 OPT 为0时产生基准时钟频率的的时钟信号,否则产生基准时钟频率的的时钟信号。本段简短的程序很轻松地实现了时钟频率的选择与变换
41、,要想改变彩灯节奏的快慢,只需利用 OPT 选择开关置 0 或置 1 即可轻松实现基准时钟频率的的时钟信号和基准时钟频率的的时钟信号的转换,简单并且容易修改,为八路彩灯控制器的设计提供了更大的灵活性。3.2.2 时序控制模块波形仿真截图:图 3.1 时序控制模块波形仿真图从图中可以看出,当复位信号为高电平时,电路时钟输出清零,当快慢信号OPT为低电平时,时序控制电路四分频起作用,当快慢信号 OPT 为高电平时,时序控制电路八分频起作用,仿真结果符合电路要求。3.2.3.时序控制电路生成元器件符号:图 3.2 时序控制电路生成元器件图3.3 显示控制模块显示控制模块是整个电路的花型显示控制模块。
42、它的主要功能是使电路产生四种大花型,二十九种状态并且循环显示,以此实现本次设计要求实现的多路彩灯控制器的花型循环显示功能。显示控制模块应用 VHDL 语言设计了本次八路彩灯的多种循环花型,显示控制电路是整个电路中另外一个分模块,它的出色设计直接决定着八路彩灯控制器花型循环的花样和质量。显示控制电路的模块输入信号 clk 和 clr 的定义与时序控制电路一样,输入信号 led7.0能够循环输出 8 路彩灯 8 种不同状态的花型。对状态的所对应的彩灯输出花型定义如下:S0:00000000S1:10000000S2:01000000S3:00100000S4:00010000S5:00001000
43、S6:00000100S7:00000010S8:00000001S9:00000010S10:00000100S11:00001000S12:00010000S13:00100000S14:01000000S15:10000000S16:00000000S17:00010000S18:00011000S19:00111000S20:00111100S21:01111100S22:01111110S23:11111110S24:11111111S25:10001000S26:11001100S27:11101110S28:11111111多路彩灯在多种花型之间的转换可以通过状态机实现,当复位信
44、号 clr 有效时,彩灯恢复初始状态 s0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应输出的花型,这里的时钟周期即时序控制电路模块产生的输出信号,它根据 opt 信号的不同取值得到两种快慢不同的时钟频率。S4 CLRS1S0S5S6S27S7S2S3S28S26S9S10S12S14S13S8S25.图 3.3 多种花型的状态机实现本段程序的作用是定义二十九花型状态,此二十九种花型可根据个人的喜好灵活进行调节和改变,这在很大程度上增加了程序本身的实用性,又由于是软件程序设计,下载到硬件上后 LED 灯的排列和摆设更不受程序的影响,可随意插放。3.3.1 显示控制电路部分程序:if
45、 clr=1thenstate=s0;ledstatestate=s2;ledstate=s3;ledstate=s4;ledstate=s5;ledstate=s6;ledstate=s7;ledstate=s8;ledstate=s9;led=00000001;其作用是:如果 CLR=1则模块正常进行工作,并且以下四种花型二十九种状态0000000010000000010000000010000000010000000010000000010000000010000000010000001000000100000100000010000001000000100000000000000000
46、0100000001100000111000001111000111110001111110111111101111111110001000110011001110111011111111实现顺序循环显示。如果想改变多种花型的循环顺序,只需修改部分状态即可,本程序有很大的灵活性。3.3.2 显示控制模块波形仿真截图:图 3.4 显示控制模块波形仿真图当复位信号有效时彩灯输出为零,否则,显示电路在二十九种不同状态间转换。3.3.3 显示控制电路生成生成元器件符号:图 3.5 显示控制电路生成元器件符号第 4 章八路彩灯控制系统的实现4.1 整体功能描述 1,在时序控制电路 metronome 的
47、设计中,利用计数器计数达到分频值时,对计数器进行清零,同时将输出信号反向,这就非常简洁地实现了对输入基准信号的分频,并且分频信号的占空比为 0.5。2,在显示控制电路 output 的设计中,利用状态机非常简洁地实现了四种大花型的循环变换,同时利用二十九个八位常数的设计,可非常方便地设置和修改四种大花型。3,对于顶层程序的设计,若为模块较多的系统,最好使用文本的程序设计方式。但因本系统模块较少,既可使用文本的程序设计方式,也可以使用原理图的设计方式。彩灯显示控制电路是整个设计的核心,彩灯显示控制模块能进行彩灯的图案控制,它负责整个设计的输出效果即各种彩灯图案的样式变化。在电路中以 1代表灯亮,
48、以 0 代表灯灭,由 0,1 按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。该程序充分地说明了用 VHDL 设计电路的简单易修改,即可通过适当地改变程序中输出变量来改变彩灯的花型。时序控制模块对灯闪的速度控制有两种速度:一是分频时钟脉冲,二是分频时钟脉冲。并且还可以通过改变 CLK 的时钟输入信号来产生更多的频率。最后,当各个模块均完成上述操作之后,即可利用QuartusII 的原理图输入,调用各个元器件(底层文件),以原理图的形式形成最后的十六路彩灯显示系统(顶层文件),并且进行仿真。仿真通过,即可下载到指定的 CPLD 芯片里面,并进行
49、实际连线,进行最后的硬件测试。当然,可以将各个模块所生成的元件符号存放在元件库中,用以被其它人或其它的设计所重复调用,以简化后面的设计。4.2 设计原理用VHDL进行设计,首先应该了解,VHDL语言一种全方位硬件描述语言,包括系统行为级,寄存传输级和逻辑门级多个设计层次。应充分利用 VHDL“自顶向下”的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常有用它使得人们可以从简单的单元入手,逐渐构成庞大而复杂的系统。根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号 CLK,系统清零信号 CLR,彩灯节奏快慢选择开关 OPT;共有八个输出信号 LED7.0
50、,分别用于控制八路彩灯。据此,我们可以将整个彩灯控制电路COTOP 分为两大部分:时序控制电路metronome 和显示控制电路 output。系统的工作原理如下:时序控制电路 metronome 根据输入信号 CLK,CLR,OPT 产生的符合一定要求的、供显示控制电路output 使用的控制时钟信号,而显示控制电路output则根据时序控制电路 metronome 输入的控制时钟信号,输出四种大花型循环变化的、控制八路彩灯工作的控制信号,这些控制信号加上驱动电路一起控制彩灯工作。首先应进行系统模块的划分,规定每一模块的功能以及各个模块之间的接口。最终设计方案由一个八路彩灯花样循环显示控制器