您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > EDA课程设计彩灯控制器
沈阳理工大学EDA技术课程设计报告11设计目的熟练掌握EDA技术利用计算机方面的课程解决专业课程方面点具体问题,达到解决问题,完成课程设计任务,培养实践的目的。2设计要求和任务利用所学的EDA设计方法设计彩灯控制器,熟练使用使用QUARTUSII应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。功能要求:1.要有多种花型变化(至少4种).2.多种花型可以自动变换,循环往复.3.彩灯变换的快慢节拍可以选择.4.具有清零开关.3总体设计思路及原理描述3.1功能描述在电路中以1代表灯亮,以0代表灯灭,由0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。下面就以一个十六路彩灯控制系统的实现为例进行简单说明。此十六路彩灯控制系统设定有六种花样变化,这六种花样可以进行自动切换,并且每种花样可以选择不同的频率。3.2设计原理用VHDL进行设计,首先应该了解,VHDL语言一种全方位硬件描述语言,包括系统行为级,寄存传输级和逻辑门级多个设计层次。应充分利用DL“自顶向下”的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常沈阳理工大学EDA技术课程设计报告2有用它使得人们可以从简单的单元入手,逐渐构成庞大而复杂的系统。首先应进行系统模块的划分,规定每一模块的功能以及各个模块之间的接口。最终设计方案为:以一个十六路彩灯花样控制器、一个四频率输出分频器,一个四选一控制器和一个时间选择器总共四部分来完成设计。四选一控制器从分频器选择不同频率的时钟信号输送到彩灯花样控制器,从而达到控制彩灯闪烁速度的快慢,时间选择器控制每种速度维持的时间长短。整个十六路彩灯控制系统设计的模块图如图1所示图一4分层次方案设计及代码描述4.1子模块及其功能本次设计分为四个子模块,即十六路彩灯花样控制器、四频率输出分频器,四选一控制器和时间选择器,其子模块及其功能如下:沈阳理工大学EDA技术课程设计报告34.1.1四频率输出分频器在本次设计中,设计了六种花样,要求这六种花样以不同的频率显示,而只有一个输入的时钟信号,所以对所输入的时钟信号进行2分频,4分频,8分频,16分频,得到四种频率信号,CLKDIV模块用来完成此功能。4.1.2时间选择器时间选择器实际上是两个分频器,其中一个频率是另一个频率的两倍。本来这两个分频器是可以在上述的四频率输出器中实现的,但为了方便地为四选一控制器提供不同的时间选择条件,就将这两个分频器独立开来。这两个输出的时钟信号组合起来就可以为四选一控制器提供00,01,10,11四个时间选择条件,如下图三所示。图二4.1.3四选一控制器四选一控制器功能是从分频器中选择不同频率的时钟信号送给彩灯控制器,实现彩灯闪烁的频率变化。4.1.4彩灯控制器彩灯控制电路是整个设计的核心,它负责整个设计的输出效果即各种彩灯图案的样式变化。该程序充分地说明了用VHDL设计电路的“弹”性,即可通过改变程序中输出变量Q的位数来改变彩灯的数目。其中,P1进程对灯闪的速度控制有两种方式可改变灯闪的速度:一是改变外部时钟的赋值,二是改变信号U的位数。P2进程能进行彩灯的图案控制,改变s的位数即可改变要控制图案的数目,改变输出变量Q的组合即可变幻彩灯图案。最后,当各个模块均完成上述操作之后,即可利用MAXPLUS2的原理图输沈阳理工大学EDA技术课程设计报告4入,调用各个元器件(底层文件),以原理图的形式形成最后的十六路彩灯显示系统(顶层文件),并且进行仿真。仿真通过,即可下载到指定的CPLD芯片里面,并进行实际连线,进行最后的硬件测试。当然,可以将各个模块所生成的元件符号存放在元件库中,用以被其它人或其它的设计所重复调用,以简化后面的设计。4.2代码描述4.2.1时序控制电路部分程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitytimecontrolis--定义实体port(clk:instd_logic;--时钟信号clr:instd_logic;--复位信号opt:instd_logic;--快慢控制信号clkout:outstd_logic--输出时钟信号);endtimecontrol;architectureoneoftimecontrolissignalclk_tmp:std_logic;signalcounter:std_logic_vector(1downto0);--定义计数器beginprocess(clk,clr,opt)begin沈阳理工大学EDA技术课程设计报告5ifclr='0'then--清零clk_tmp='0';counter=00;elsifclk'eventandclk='1'thenifopt='0'then--四分频ifcounter=01thencounter=00;clk_tmp=notclk_tmp;elsecounter=counter+'1';endif;else--八分频ifcounter=11thencounter=00;clk_tmp=notclk_tmp;elsecounter=counter+'1';endif;endif;endif;endprocess;clkout=clk_tmp;--输出分频后的信号endarchitectureone;4.2.2显示控制电路部分程序如下:libraryieee;useieee.std_logic_1164.all;沈阳理工大学EDA技术课程设计报告6entityshowcontrolisport(clk:instd_logic;--输入时钟信号clr:instd_logic;--复位信号led:outstd_logic_vector(15downto0));--彩灯输出endshowcontrol;architectureone1ofshowcontrolistypestatesis--状态机状态列举(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);signalstate:states;beginprocess(clk,clr)beginifclr='0'thenstate=s0;led=0000000000000000;elsifclk'eventandclk='1'thencasestateiswhens0=state=s1;led=0000000000100001;whens1=state=s2;led=0001000100010001;whens2=state=s3;led=0010001000100010;whens3=state=s4;led=0011001100110011;whens4=state=s5;沈阳理工大学EDA技术课程设计报告7led=0100010001000100;whens5=state=s6;led=0101010101010101;whens6=state=s7;led=0110011001100110;whens7=state=s8;led=0111011101110111;whens8=state=s9;led=1000100010001000;whens9=state=s10;led=1001100110011001;whens10=state=s11;led=1010101010101010;whens11=state=s12;led=1011101110111011;whens12=state=s13;led=1100110011001100;whens13=state=s14;led=1101110111011101;whens14=state=s15;led=1110111011101110;whens15=state=s0;led=1111111111111111;whenothers=null;endcase;endif;endprocess;endarchitectureone1;沈阳理工大学EDA技术课程设计报告84.2.3顶层电路部分程序如下:libraryieee;useieee.std_logic_1164.all;entityrootisport(clk:instd_logic;clr:instd_logic;opt:instd_logic;led:outstd_logic_vector(15downto0));--八路彩灯输出endcolorled;architectureone3ofrootiscomponenttimecontrolis--定义元件:时序控制电路port(clk:instd_logic;clr:instd_logic;opt:instd_logic;clkout:outstd_logic);endcomponenttimecontrol;componentshowcontrolis--定义元件:显示电路port(clk:instd_logic;clr:instd_logic;led:outstd_logic_vector(15downto0));endcomponentshowcontrol;signalclk_tmp:std_logic;beginu1:timecontrolportmap(clk=clk,clr=clr,opt=opt,clkout=clk_tmp);--例化时序控制模块沈阳理工大学EDA技术课程设计报告9u2:showcontrolportmap(clk=clk_tmp,clr=clr,led=led);--例化显示电路模块endarchitectureone3;5各模块的时序仿真图5.1时序控制电路timecontrol的仿真图如下:图三功能:时序控制电路metronome的功能是,用OPT控制输入信号CKL_IN的快慢节拍。而CLR是控制开关。且从图中可以看出,当复位信号为高电平时,电路时钟输出清零,当快慢信号OPT为低电平时,时序控制电路四分频起作用,当快慢信号OPT为高电平时,时序控制电路八分频起作用,仿真结果符合电路要求。沈阳理工大学EDA技术课程设计报告105.2显示控制电路showcontrol的仿真图如下:图四功能:显示控制电路showcontrol的功能是控制花形的。且从图中可以看出,当复位信号有效时彩灯输出为零,否则,显示电路在十六种不同状态间转换。5.3顶层电路root系统的仿真图如下:沈阳理工大学EDA技术课程设计报告11图五功能:整个电路root系统是把showcontrol与timecontrol综合成一个电路。且从图中可以看出,从图中可以看出当OPT为高电平时彩灯状态转换慢,为低电平时转换要快,当复位信号有效时,所用输出都清零。6总结通过这次课程设计使我懂得了理论与实际相结合是很重要的,通过这次的课程设计,发现自己的实践经验还是不足的,以后多应该以理论为基础,然后应用到实践中来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在这次的课程设计里深入的接触了运用电子集成元器件制作多路彩灯的过程,并和同学一起讨论用软件制作出了这一个多路彩灯控制系统。正所谓“纸上谈兵终觉浅,觉知此事要躬行。”学习任何知识,都要进行实践,只有那样才能达到事半功倍的效果。沈阳理工大学EDA技术课程设计报告127参考文献《EDA技术与数字系统设计》邹彦主编电子工业出版社《EDA技术实用教程》,潘松、黄继业,科学出版社《数字电子技术基础》(第五版),阎石,高等教育出版社《电子设计自动化(EDA)手册》,王丹、童如松,电子
本文标题:EDA课程设计彩灯控制器
链接地址:https://www.777doc.com/doc-3915699 .html