汽车尾灯控制器(VHDL).doc_第1页
汽车尾灯控制器(VHDL).doc_第2页
汽车尾灯控制器(VHDL).doc_第3页
汽车尾灯控制器(VHDL).doc_第4页
汽车尾灯控制器(VHDL).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1引言随着集成电路和计算机技术的飞速发展,EDA技术应运而生,它是一种高级、快速、有效的电子设计自动化技术。EDA将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。运用EDA技术可以方便、快捷设计电路系统。 本文基于EDA系统,在Quartus II7.2软件平台上,完成了汽车尾灯电路的设计。采用VHDL硬件描述语言描述汽车尾灯电路,完成对电路的功能仿真。在设计过程中,重点探讨了汽车尾灯电路的设计思路和功能模块划分,通过分析仿真波形表明设计的汽车尾灯电路完成了预期的功能。2汽车尾灯控制器的设计过程2.1设计内容选用合适的可编程逻辑器件及外围电子元器件,设计一个汽车尾灯控制器,利用EDA软件(QUARTUS )进行编译及仿真,设计输入可采用VHDL硬件描述语言输入法和原理图输入法,并下载到EDA实验开发系统,连接外围电路,完成实际测试。2.2设计要求(1)汽车尾部左右两侧各有多盏指示灯。(2)汽车正常行驶时指示灯都不亮。(3)汽车右转弯时,右侧的一盏指示灯亮。(4)汽车左转弯时,左侧的一盏指示灯亮。(5)汽车刹车时,左右两侧的一盏指示灯同时亮。(6)汽车在夜间行驶时,左右两侧有指示灯同时一直亮,供照明使用。设计参数 尾部指示灯数 42.3汽车尾灯控制器的工作原理 汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮;当于大雾天行驶时右侧指示灯ldfoggy1和左侧指示灯ldfoggy2同时亮。通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night,雾灯信号foggy和系统的输出信号:汽车左侧4盏指示灯ldleft,dbrake1,dnight1,dfoggy1和汽车右侧4盏指示灯ldright,ldbrake2,ldnight2,ldfoggy2实现以上功能。系统的整体组装设计原理如图所示:汽车行驶信号主控模块左灯控制模块右灯控制模块显示时钟系统设计整体框图2.4方案选择与论证根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方案,它是由时钟分频模块、汽车尾灯主控模块、左边灯控制模块、右边灯控制模块四部分组成。2.5系统设计详述系统的输入信号包括:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。 系统的输入信号包括:汽车左侧4 盏指示灯LLED1,LLED2,LLED3,LLED4和汽车右侧4 盏指示灯RLED1,RLED2,RLED3,RLED4。 当汽车正常行驶时所有的指示灯都不亮,当汽车向左转时,汽车左边的指示灯LLED1亮,当汽车向右转时,汽车右边的指示灯RLED1亮,当汽车刹车时,左右的LLED2、RLED2亮,当汽车夜间行驶时,汽车左右的LLED3、LLED4、RLED3 、RLED4一直亮。2.6各组成模块原理及程序汽车尾灯主控模块VHDL程序(CTRL.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CTRL IS PORT(LEFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC; LP,RP,LR,BRAKE_LED,NIGHT_LED: OUT STD_LOGIC);END;ARCHITECTURE ART OF CTRL ISBEGIN NIGHT_LED=NIGHT; BRAKE_LEDLP=0;RP=0;LRLP=0;RP=1;LRLP=1;RP=0;LRLP=0;RP=0;LR=1; END CASE ; END PROCESS;END ART;功能:以LEFT、RIGHT、BRAKE、NIGHT为输入端口,高电平有效,LP、RP、LR、BRAKE_LED、NIGHT_LED 为输出端口。将NIGHT端的信号给NIGHT_LED,将BRAKE的信号给BRAKE_LED,用CASE语句来控制LP(左灯输入)、RP(右灯输入)、LR(左右同时输入),LEFT为高电平时,左模块工作,当RIGHT为高电平时,右模块工作,当LR为高电平时,左右灯都没有信号输入。从而实现对左右控制模块的控制。左边灯控制模块VHDL程序(LC.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LC ISPORT(CLK,LP,LR,BRAKE,NIGHT:IN STD_LOGIC;LEDL,LEDB,LEDN1, LEDN2:OUT STD_LOGIC);END;ARCHITECTURE ART OF LC ISBEGINLEDB=BRAKE;LEDN1=NIGHT;LEDN2=NIGHT;PROCESS(CLK,LP,LR)BEGIN IF CLKEVENT AND CLK=1 THEN IF(LR=0) THEN IF(LP=0)THENLEDL=0;ELSELEDL=1;END IF;ELSELEDL=0;END IF;END IF;END PROCESS;END ART;功能:以CLK、LP、LR、BRAKE、NIGHT为输入端口, 高电平有效, LEDL、LEDB、LEDN1、LEDN2 为输出端口。将BRAKE信号 给LEDB端口,NIGHT信号分别给LEDN1、LEDN2,当CLK的上升沿到来时,如果LR、LP都同时为低电平时,LEDL端口输出低电平,当LR为低电平LP为高电平时,LEDL输出高电平,当LR为高电平时,LEDL端口输出低电平。通过LEDL、LEDB、LEDN1、LEDN2的电平信号来控制汽车左边的尾灯。右边灯控制模块VHDL程序(RC.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY RC ISPORT(CLK,RP,LR,BRAKE,NIGHT:IN STD_LOGIC; LEDR,LEDB,LEDN1, LEDN2:OUT STD_LOGIC);END;ARCHITECTURE ART OF RC ISBEGIN LEDB=BRAKE; LEDN1=NIGHT;LEDN2=NIGHT; PROCESS(CLK,RP,LR) BEGIN IF CLKEVENT AND CLK=1THEN IF (LR=0) THEN IF (RP=0) THEN LEDR=0; ELSE LEDR=1; END IF; ELSE LEDR=0; END IF; END IF; END PROCESS;END ART;功能: 以CLK、RP、LR、BRAKE、NIGHT为输入端口, 高电平有效, LEDR、LEDB、LEDN1、LEDN2 为输出端口。将BRAKE信号 给LEDB端口,NIGHT信号分别给LEDN1、LEDN2,当CLK的上升沿到来时,如果LR、RP都同时为低电平时,LEDL端口输出低电平,当LR为低电平RP为高电平时,LEDL输出高电平,当LR为高电平时,LEDL端口输出低电平。通过LEDL、LEDB、LEDN1、LEDN2的电平信号来控制汽车右边的尾灯。时钟分频模块VHDL程序(SZ.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SZ IS PORT(CLK:IN STD_LOGIC; CP:OUT STD_LOGIC);END;ARCHITECTURE ART OF SZ IS SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN COUNT= COUNT + 1; END IF; END PROCESS; CP= COUNT(3);END ART;功能:这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号, CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。原理图仿真波形图EP2C5Q208C8管脚33CLK 34LEFT 35RIGHT 36BRAKE 39NIGHT 40LLED1 41LLED2 43LLED3 44LLED445RLED1 46RLED2 47RLED3 48RLED4 下载完成,连接到外围电路,进行实际测试。三、实验体会本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,由小组人员分工完成,即一人完成一个到多个模块,最后再合到一起完成顶层文件的设计。从局部到整体,不仅使得系统设计的思路清晰明了,减少了错误的产生,更方便了程序的调试以及系统功能的扩充。在设计过程中,能与同学相互交流讨论,分工合作,不仅降低了设计难度,缩短了设计周期,更是进一步培养了我们的团队合作精神。在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指导和同学们的帮助下,都顺利得以解决。这些经历使我得以积累

温馨提示

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

评论

0/150

提交评论