基于CPLD的彩灯控制器设计毕业设计.docx
《基于CPLD的彩灯控制器设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于CPLD的彩灯控制器设计毕业设计.docx(41页珍藏版)》请在冰豆网上搜索。
基于CPLD的彩灯控制器设计毕业设计
毕业设计
题目:
基于CPLD的彩灯控制器设计
诚信声明
本人声明:
1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;
2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;
3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。
作者签名:
日期:
年月日
毕业设计(论文)任务书
题目:
基于CPLD的彩灯控制器设计
姓名院专业班级学号
指导老师职称教研室主任
一、基本任务和设计要求:
1.基本任务
要求提出一种基于CPLD的LED控制方案,实现对LED灯的控制,以CPLD作为主控核心,显
示、驱动等模块组成核心控制模块。
在主控模块设有8个LED发光二极管,根据用户需要可以编写各种亮灯模式。
设计二种不同时间节拍,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭
2.设计要求:
1.设计思路清晰,给出整体设计方案;
2.熟悉彩灯控制器的设计,设计各种亮灯花型;
3.软/硬件编程,仿真,下载验证;
4.写出设计报告;
二、进度安排及完成时间:
第1周布置任务、下达设计任务书、具体安排
第2-3周查阅资料、撰写文献综述及开题报告
第4-5周原理框图、总体方案设计
第6-11周软、硬件部分设计
第12周硬件下载测试
第13-14周撰写毕业设计说明书
第15周指导老师检查毕业设计说明书
第16周修改、装订毕业设计说明书、指导老师评阅
第17周毕业答辩
基于CPLD的彩灯控制器的设计
[摘要]本文介绍了以VHDL为基础的八路彩灯控制系统,本系统设计主要包括:
时序控制模块,显示控制模块。
时序控制模块主要根据输入信号的不同频率,选择不同的时钟信号输送到彩灯显示控制模块,从而达到控制彩灯闪烁速度的快慢。
显示控制模块主要是通过状态机实现八路彩灯的四种大花型,二十九种状态的循环显示。
在设计中采用VHDL语言对时序控制模块和显示控制模块进行底层文件设计,然后通过调用底层文件完成八路彩灯控制器顶层文件的设计。
最后通过QuartusⅡ软件仿真,对各模块的波形仿真结果进行了分析,再通过硬件下载验证,完成了本次设计要求的各项指标。
关键词:
CPLD;VHDL;彩灯控制;时序控制模块;显示控制模块;
ThedesignofcoloredlanterncontrollerbasedonCPLD
[Abstract]:
Thisarticledescribeseight-waylightscontrolsystembasedontheVHDL,Thissystemisdesignedprimarilyinclude:
timingcontrolmodule,displaycontrolmodule.TimingControlModuleismainlybasedontheinputsignalsofdifferentfrequencies,differentclocksignalstothelanterndisplaycontrolmoduletocontrolspeedoflanternlight.Displaycontrolmoduleismainlythroughthestatemachineimplementationoffoureight-waylightspattern,accordingtocyclein29States.InthedesignofthelanguageusedforVHDLtimingcontrolmoduleandthedisplaycontrolmoduletotheunderlyingfile,andthendesigntheunderlyingfileiscompletebycallingeight-waycontrollerlanterndesigntop-levelfile.
FinallythroughQuartusIIsoftwareemulationofthemodule,andthewaveformsimulationresultsareanalyzed,andverifiedthroughhardwaredownloads,Completedthedesignrequirementsoftheindicators.
[Keywords]:
CPLD;VHDL;Lanterncontroller;Timingcontrolmodule;Displaycontrolmodule
第1章绪论
1.1彩灯控制器的简介
彩灯控制是以彩灯为主,从调光灯、触摸灯和延迟灯电子控制器到节能灯、遥控灯和自控方便灯电子控制器的专业设备,种类繁多。
目前市场上彩灯控制器的样式有可编程彩灯控制器、CEC电脑彩灯控制器、EPROM程控编码彩灯控制器,声控彩灯,音乐彩灯控制器,简易循环彩灯,红外线遥控彩灯控制器等。
目前应用最为广泛的是可编程彩灯控制器。
在编程器中编好各种彩灯花样变化的程序,经检查正确无误后送到可编程控制器中运行,控制器输出端就可以驱动多路彩灯点亮,其彩灯花样变化及各花样之间的转换均可实现自动完成,这就是可编程彩灯控制器的杰作,它使得彩灯变化更加丰富多彩漂亮迷人,这是迄今为止任何一种其他彩灯控制器所无法比拟的。
彩灯控制器技术在国外已经得到了广泛的应用,国内的应用正在渗透到传统的家电领域、通信领域、装饰领域及待开发的领域。
在装饰领域方面,采用彩灯控制电路,加强了人机联系,如会显示数字和汉字的大型彩灯组,从而有效的提高审美观念,为了方便使用者,更为人们所熟悉,大至工业领域,小到玩具、彩灯控制器的应用都十分广泛。
1.2EDA技术的发展
(1)20世纪70年代的计算机辅助设计CAD阶段
早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到发展的初级阶段.初级阶段的硬件设计大量选用中,小规模标准集成电路由于设计师对图形符号使用数量有限,因此传统的手工布图方法无法满足产品复杂性的要求,更不能满足工作效率的要求。
(2)20世纪80年代的计算机辅助工程设计CAE阶段
初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。
随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器,集成几十万直到上百万储存单元的随机存储器和只读存储器。
伴随着计算机和集成电路的发展,EDA技术进入到计算机辅助工程设计阶段。
20世纪80年代初推出的EDA工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题。
利用这些工具,设计师能在产品制作之前预知产品的功能与性能,能生成产品制造文件,使设计阶段对产品性能的分析前进了一大步。
(3)20世纪90年代电子系统设计自动化EDA阶段
为了满足千差万别的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上.微电子技术的发展,特别是可编程逻辑器件的发展,使得微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功能。
20世纪90年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品开发转向系统级电子产品开发。
1.3CPLD简介
CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。
是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。
其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
CPLD主要是由可编程逻辑宏单元(MC,MacroCell)围绕中心的可编程互连矩阵单元组成。
其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。
由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。
CPLD的基本特点:
具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。
几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。
CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。
经过几十年的发展,许多公司都开发出了CPLD可编程逻辑器件。
比较典型的就是Altera、Lattice、Xilinx世界权威公司的产品,这里给出常用芯片:
AlteraEPM7128S 、(PLCC84)LatticeLC4128V 、(TQFP100)XilinxXC95108(PLCC84)CPLD是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,CPLD芯片将EPROM中数据读入片内编程RAM中,配置完成后,CPLD进入工作状态。
掉电后,CPLD恢复成白片,内部逻辑关系消失,因此,CPLD能够反复使用。
CPLD的编程无须专用的CPLD编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改CPLD功能时,只需换一片EPROM即可。
这样,同一片CPLD,不同的编程数据,可以产生不同的电路功能。
因此,CPLD的使用非常灵活。
CPLD与FPGA的区别:
FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。
通常的分类方法是:
将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。
换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
③在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
⑤CPLD比FPGA使用起来更方便。
CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。
而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。
这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。
CPLD又可分为在编程器上编程和在系统编程两类。
FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
1.4VHDL简介
VHDL全英文是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。
1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
VHDL主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
应用VHDL进行工程设计的优点是多方面的。
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
1.5QuartusⅡ简介
QuartusII是Altera公司推出的CPLD/FPGA开发工具,QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:
(1)可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;
(2)芯片(电路)平面布局连线编辑;
(3)LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;
(4)功能强大的逻辑综合工具;
(5)完备的电路功能仿真与时序逻辑仿真工具;
(6)定时/时序分析与关键路径延时分析;
(7)可使用SignalTapII逻辑分析工具进行嵌入式的逻辑分析;
(8)支持软件源文件的添加和创建,并将它们链接起来生成编程文件;
(9)使用组合编译方式可一次完成整体设计流程;
(10)自动定位编译错误;
(11)高效的期间编程与验证工具;
(12)可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;
(13)能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。
QuartusII设计流程:
设计输入:
完成期间的硬件描述,包括文本编辑器、块与符号编辑器、MegaWizard插件管理器、约束编辑器和布局编辑器等工具;
综合:
包括分析和综合器以、辅助工具和RTL查看器等工具;
布局连线:
将设计综合后的网表文件映射到实体器件的过程,包括Fitter工具、约束编辑器、布局图编辑器、芯片编辑器和增量布局连线工具,时序分析;
仿真:
QuartusII提供了功能仿真和时序仿真两种工具;
器件编程与配置:
包括四种编程模式,即被动串行模式、JTAG模式、主动串行模式和插座内编程模式。
使用NewProjectWizard新建一个工程的过程:
(1)制定工程的文件存放目录、工程名以及最顶层的设计实体名,在默认情况下,工程名与最顶层的设计实体名是相同的。
(2)添加文件,包括最顶层的设计实体文件以及一些额外的电路模块描述文件或定制的功能库。
(3)选择目标芯片,具体芯片最好让编译器根据工程设计的实际情况自动选择。
(4)第三方EDA工具设定,包括设计输入与综合工具、仿真工具、时序分析工具等,默认为QuartusII自带的仿真器、综合器以及时序分析器。
(5)最后一步系统将整体工程的各项参数和设置总结并显示出来,这时即可完成工程的创建。
1.6课题发展现状和前景展望
随着国家经济的迅速发展,人民物质文化生活水平不断提高,对于装饰的
美化美观的的要求也越来越高。
城市的美化和日益激烈的广告竞争越来越受到社
会的关注,作为城市装饰和广告宣传的彩灯的需求量也越来越大。
近年来随着
科技的飞速发展,CPLD技术的应用正在不断地走向深入,同时自动控制系统日新月异更新。
过去彩灯控制器多采用EPROM和相应的逻辑电路来完成,也有采用一些专
用彩灯控制芯片的控制器所需的电路较多,制作不易改变,且所需控制的彩灯路数越多,扩展起来也比较繁杂;而后者由于电路已确定,控制方式不能任意改变,功能较为单一。
现在广告灯的主流产品采用LED或Neon发光体。
使用低成本CPLD技术和LED发光管组成的同步显示灯,灯板由六个像素组成,每个像素有红绿蓝三色,由LED发光管来实现,多灯可以长时间同步显示。
实现例如全亮,循环滚动等花色,同时编写了花色编排软件,可以对花色时间,颜色,类型等进行编排,导入单片机,编译烧录。
目前市场上彩灯控制器的样式有可编程彩灯控制器、CEC电脑彩灯控制器、EPROM程控编码彩灯控制器,声控彩灯,音乐彩灯控制器,简易循环彩灯,红外线遥控彩灯控制器。
这些控制装置均运用计算机技术、电子技术和声光技术,对被控灯光系统按设定的变化方案进行亮、灭灯控制,形成各种灯光图案,有时还配以和谐的音乐,达到令人叹为观止的光、声、色的综合艺术效果。
随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展。
可编程控制器集微电子技术,计算机技术于一体,在取代继电器控制系统,实现多种设备的自动控制中越来越显示出其突出的优点,受到广大用户的欢迎.将可编程控制器运用到彩灯中,组成可编程彩灯控制器,只要在编程器中编好各种彩灯花样变化的程序,经检查正确无误后送到可编程控制器中运行,控制器输出端就可以驱动多路彩灯点亮,其彩灯花样变化及各花样之间的转换均可实现自动完成,这就是可编程彩灯控制器的杰作,它使得彩灯变化更加丰富多彩漂亮迷人,这是迄今为止任何一种其他彩灯控制器所无法比拟的。
彩灯的发展趋势有:
(1)向高效节能方向发展
首先采用节能光源,然后是按照节能光的尺寸、形状,精心设计灯具的光学系统,真正的提高灯光的有效利用率。
如在射灯中选用光色好的高强度气体放电灯,可造成一个光学弥散、均匀柔和的照明环境,且灯具的保护角小、效率高,能较好地显示建筑物结构。
(2)向集成可调化方向发展技术的迅速发展
各种集成化装置和电子计算机控制系统对灯具和照明系统的应用取得了显著的进步。
如应用电子镇流器对灯具及照明系统进行调光、遥控、控制光色。
(3)向多功能小型化发展
随着紧凑型光源的发展镇流器等灯用电器配件的超小、超薄、各种新技术、新工艺的不断采用,现代灯具正在向小型、实用和多功能方向发展。
(4)向装配系列化转现代灯具的选型追求简洁明快
淘汰了过去一味追求表面华丽的造型及过分装饰的风格、既强调个性,又强调与背景环境的协调,还注重表现灯具材料的质感。
为了能保证照明条件和视觉的舒适感,灯具大都配有各种系列成套的配件选择,以使用户根据需要自我调节
第2章方案论证
2.1方案一
我们用VHDL语言设计了一个八路彩灯控制器,四种大花型包含二十九种状态循环变化,有清零开关,并且可以选择快慢两种节拍。
工作原理:
整个系统共有三个输入信号CLK,CLR和OPT,八路输出信号。
时钟信号CLK由外部输入到节拍发生器,节拍选择信号OPT先输入到控制器.再由控制器输出选择控制信号Y到节拍发生器,随时控制快慢节拍的转换。
节拍发生器产生的节拍信号分别输出到控制器、编码电路和驱动电路。
编码电路输出反馈信号给控制器,控制器输出信号控制编码电路的各个子模块交替工作,产生多种花型,再由驱动电路将信号输出到彩灯。
CLR为清零信号,由外部输入到控制器.CLK为0时,系统回到等待状态,彩灯全灭;CLK为1时.系统工作。
我们采取自顶向下的设计方法,将电路分为控制器和受控制器,各部分电路的作用如下:
1.受控电路包括节拍发生器、驱动电路和编码电路。
节拍发生器:
提供快、慢两种节拍。
驱动电路:
提供彩灯工作所需的电压及电流,隔离负载对编码电路的影响。
编码电路:
根据花型要求按节拍输出八位状态编码信号.以控制彩灯接规律亮灭。
2.控制器:
为节拍发生器和编码电路提供控制信号,同步整个系统的工作控制器通过控制编码电路中各个模块的交替工作来实现各个花型的转换。
2.2方案二
同样我们用VHDL语言设计了一个八路彩灯控制器,四种大花型循环变化,有清零开关,并且可以选择快慢两种节拍。
本控制电路采用VHDL语言设计。
运用自顶而下的设计思想,按功能逐层分割实现层次化设计。
根据多路彩灯控制器的设计原理,将整个控制器分为两个部分,分别为时序控制模块和显示控制模块。
时序控制模块实现的功能是产生1\4和1\8的时钟信号。
显示控制模块中实现的四种大花型分别为:
花型1:
彩灯从左至右逐个轮流点亮
S0:
00000000
S1:
10000000
S2:
01000000
S3:
00100000
S4:
00010000
S5:
00001000
S6:
00000100
S7:
00000010
S8:
00000001
花型2:
彩灯从右至左逐个轮流点亮
S9:
00000010
S10:
00000100
S11:
00001000
S12:
00010000
S13:
00100000
S14:
01000000
S15:
10000000
S16:
00000000
花型3:
从中间依次对称亮到两边
S17:
0001