基于VHDL语言的汽车尾灯的设计_第1页
基于VHDL语言的汽车尾灯的设计_第2页
基于VHDL语言的汽车尾灯的设计_第3页
基于VHDL语言的汽车尾灯的设计_第4页
基于VHDL语言的汽车尾灯的设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE11基于VHDL语言的汽车尾灯的设计长沙理工大学城南学院《EDA技术与运用》课程项目报告基于VHDL语言的汽车尾灯的设计

目录1.设计项目及问题分析 21.1设计项目 21.2项目分析 22.设计的目的及意义 32.1设计的目的 32.2设计的意义 33.设计步骤 43.1画出总体电路原理框图 43.2画出功能表 43.3编写VHDL程序代码 53.4用QuartusⅡ软件进行调试 63.5顶层模块图 74.波形仿真及分析 74.1波形仿真 74.2波形分析 75.总结 8

1.设计项目及问题分析1.1设计项目设计一个汽车尾灯的控制电路,用6只发光二极管模拟6盏汽车尾灯(汽车尾部左、右各3盏),用两个开关作为转弯控制信号(一个开关控制右转弯,另一个开关控制左转弯)。要求:当汽车往前行驶时(此时两个开关都未接通),6盏灯全灭。当汽车转弯时,若右转弯(即右转弯开关接通),右边3盏尾灯从左到右顺序亮灭,左边3盏灯全灭;若左转弯(即左转开关接通),左边3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。当左、右两个开关同时接通时,6盏尾灯同时明、暗闪烁。1.2项目分析用6只发光二极管(leftdeng0、leftdeng1、leftdeng2、righdeng0、righdeng1、righdeng2)模拟6个汽车尾灯(左右各3个),用两个开关(tleft、tright)作为汽车控制信号,分别为:前往行驶、左转弯、右转弯、和刹车。前往行驶时,6个汽车尾灯全灭;左转弯时,左边3个灯从右到左顺序亮灭,右边3个灯全灭;右转弯时,右边3个灯从左到右顺序亮灭,左边3个灯全灭;刹车时,6个灯同时明、暗闪烁。根据以上分析可以画出尾灯和汽车运行关系表如下所示:开关控制汽车运行状态左边灯右边灯tlefttrightleftdeng(0、1、2)rightdeng(0、1、2)00汽车前往行驶灯灭灯灭10汽车左转弯从右到左顺序亮灭灯灭01汽车右转弯灯灭从左到右亮灭11刹车6个灯同时明、暗闪烁通过以上分析,可以编写出VHDL语言程序代码,通过QuartusⅡ软件进行程序的调试和仿真。2.设计的目的及意义2.1设计的目的其一、设计一个能适应现代汽车智能化发展要求的汽车尾灯控制电路。改善以前的汽车尾灯控制系统,降低汽车尾灯控制器的生产成本。其二、学好VHDL这门硬件描述语言,加深对VHDL语言知识的理解和掌握,提高学习能力和创新能力,使自己适应不断发展的21世纪。2.2设计的意义随着(EDA)仿真技术的发展,数字系统的设计技术和设计工具发生了深刻的变化。利用硬件描述语言(VHDL)对数字系统的硬件电路进行描述是EDA的关键技术之一。VHDL语言是目前主流的硬件描述语言,它具有很强的电路描述和建模能力,具有与具体电路无关和与设计平台无关的特性,在语言易读性和层次化结构方面表现出强大的生命力和应用潜力。随着人们生活水平的提高,汽车的消费量越来越大。因为人们也越来越忙,不管是夜晚还是阴雨、大雾等天气原因的影响,人们都开着车在纵横交错的马路上行驶,所以人们对汽车安全行驶的要求也越来越高,汽车尾灯控制系统给大家带来了极大的方便。汽车尾灯控制系统是随着汽车智能化技术的发展而发展起来的,汽车尾灯一般是用于微处理器的硬件结构构成,正是因为硬件电路的局限性,不但不能随意的更改电路内部功能和性能,而且可靠性得不到保证,因此对汽车尾灯控制系统的发展带来一定的局限性,难以满足现代汽车的智能化发展。为了提高人们因夜晚或因天气原因在纵横交错的马路上驾驶的安全系数,也是为了减少交通事故的发生。我们采用了先进的EDA技术,QuartusⅡ工作平台和VHDL语言,设计了一种基于FPGA的汽车尾灯控制系统,并对系统进行了仿真机验证。用一片FPGA芯片实现了现代汽车智能化的尾灯控制系统。通过仿真及验证的结果分析,完全适应现代汽车智能化发展要求。不但简化了以前的汽车尾灯控制系统结构,大大降低了生产成本,而且提高了系统的先进性和可靠性。能实现控制器的系统编程。采用这种器件开发的数字系统其升级与改进非常方便。这一控制电路,结构简单、性能稳定、操作方便、抗干扰能力强。将它应用于现代汽车,不受黑夜或大雾、阴雨天气因素的影响,可以提高安全行驶,避免交通事故的发生。真正的让消费者驾驶汽车的方便和安全。3.设计步骤3.1画出总体电路原理框图通过1.2的项目分析,可以画出汽车尾灯控制电路的总体电路原理框图如下所示:3.2画出功能表根据设计项目要求和电路原理框图可以画出汽车尾灯控制逻辑功能表如下所示:开关控制三进制计数器6个指示灯tlefttrightQ1Q0Leftdeng(0、1、2)rightdeng(0、1、2)00XX000000100110111000000100000010000101101000000100001000010011XX1111113.3编写VHDL程序代码根据以上汽车尾灯控制逻辑功能表和控制电路原理框图可以编写出汽车尾灯控制电路的VHDL程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;useieee.STD_LOGIC_UNSIGNED.ALL;ENTITYweidengIS--实体port(clk,tright,tleft:INSTD_LOGIC;--端口说明rightdeng:OUTSTD_LOGIC_VECTOR(2DOWNTO0);leftdeng:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYweideng;ARCHITECTUREqicheOFweidengIS--结构体部分SIGNALleftd:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALrightd:STD_LOGIC_VECTOR(1DOWNTO0);BEGINcontrol:PROCESS(clk,tleft,tright)BEGINIFclk'EVENTANDclk='1'THENIFrightd="01"THEN--右信号rightd<="11";ELSErightd<=(rightd-1);ENDIF;IFleftd="01"THEN--左信号leftd<="11";ELSEleftd<=(leftd-1);ENDIF;ENDIF;ENDPROCESScontrol;proout:PROCESS(clk,tright,tleft,rightd,leftd)BEGINIFclk'EVENTANDclk='1'THENIFtright='1'THEN--右信号有效时leftdeng<="000";CASErightdIS--右边灯的亮灭状态WHEN"01"=>rightdeng<="001";WHEN"10"=>rightdeng<="010";WHEN"11"=>rightdeng<="100";WHENOTHERS=>rightdeng<="000";ENDCASE;ELSIFtright='0'THEN--右信号无效rightdeng<="000";--右边3个灯全灭ENDIF;IFtleft='1'THEN--左信号有效rightdeng<="000";CASEleftdIS--左边灯的亮灭状态WHEN"01"=>leftdeng<="100";WHEN"10"=>leftdeng<="010";WHEN"11"=>leftdeng<="001";WHENOTHERS=>leftdeng<="000";ENDCASE;ELSIFtleft='0'THEN--左信号无效leftdeng<="000";--左边3个灯全灭ENDIF;ENDIF;IFtleft='1'ANDtright='1'THEN--左右信号都有效时6个灯全亮leftdeng<="111";rightdeng<="111";ELSIFtright='0'ANDtleft='0'THEN--左右信号都无效时6个灯全灭leftdeng<="000";rightdeng<="000";ENDIF;ENDPROCESSproout;ENDqiche;3.4用QuartusⅡ软件进行调试首先是在桌面打开QuartusⅡ软件后选择File>>NewProjectWizard进入新建工程对话框>>单击Next进入新建工程路径、名称、顶层实体指定对话框(选择好保存路径、输入工程名为weideng),由于只是进行功能和时序仿真,所以直接单击Finish即可。其次是建立VHDL程序文件(选择File>>New打开新建文件对话框>>选择VHDLFile即可)。最后是输入汽车尾灯控制电路程序代码>>保存>>对该工程文件进行全程编译处理。如果在编译的过程中发现有错误,则找出并更正错误,直至编译成功为止。3.5顶层模块图4.波形仿真及分析4.1波形仿真先选择File>>NewOtherFiles>>VectorWaveformFile>>单击OK即可>>在name下单击鼠标右键>>Insert>>InsertNodoeorBus>>NodeFinder>>先在Filter:中选择Pins:all>>List单击“>>”符号添加所有引脚>>OK>>OK>>设置好电平后保存。再选择Processing>>SimulatorTool>>在Simulationmode:栏选择Functional(如果是进行时序仿真要选择Timing、进行功能仿真选择Functional)>>GenerateFunctionalSimulationNetlist>>start>>Report完成了功能仿真。进行时序仿真与功能仿真的步骤差不多,只是要在Simulationmode栏选择Timing就行了。4.2波形分析功能仿真的波形图如下所示:由上图仿真的波形可以看出:当左、右信号都无效时,则6个灯全灭;当左、右信号都有效时全亮;当左信号有效、右信号无效时,左边3个灯从右到左依次亮灭,右边灯全灭;当右信号有效、左信号无效时,右边3个灯从左到右依次亮灭,左边灯全灭;完全与功能表一致。5.总结通过设计汽车尾

温馨提示

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

评论

0/150

提交评论