您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于VHDL语言的汽车尾灯的设计
基于VHDL语言的汽车尾灯的设计长沙理工大学城南学院《EDA技术与运用》课程项目报告基于VHDL语言的汽车尾灯的设计系别:水利计通系专业班级:通信1202班组长:罗华伟,201285250228成员:梁承武,201285250230李蕾,201285250229张蒙蒙,201285250222雷子夜,201285250227指导老师:单树民1目录1.设计项目及问题分析...................................................................................21.1设计项目..............................................................................................21.2项目分析..............................................................................................22.设计的目的及意义.......................................................................................32.1设计的目的..........................................................................................32.2设计的意义..........................................................................................33.设计步骤.........................................................................................................43.1画出总体电路原理框图...................................................................43.2画出功能表..........................................................................................53.3编写VHDL程序代码......................................................................53.4用QuartusⅡ软件进行调试...........................................................83.5顶层模块图..........................................................................................84.波形仿真及分析............................................................................................94.1波形仿真..............................................................................................94.2波形分析..............................................................................................95.总结................................................................................................................1021.设计项目及问题分析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汽车前往行驶灯灭灯灭310汽车左转弯从右到左顺序亮灭灯灭01汽车右转弯灯灭从左到右亮灭11刹车6个灯同时明、暗闪烁通过以上分析,可以编写出VHDL语言程序代码,通过QuartusⅡ软件进行程序的调试和仿真。2.设计的目的及意义2.1设计的目的其一、设计一个能适应现代汽车智能化发展要求的汽车尾灯控制电路。改善以前的汽车尾灯控制系统,降低汽车尾灯控制器的生产成本。其二、学好VHDL这门硬件描述语言,加深对VHDL语言知识的理解和掌握,提高学习能力和创新能力,使自己适应不断发展的21世纪。2.2设计的意义随着(EDA)仿真技术的发展,数字系统的设计技术和设计工具发生了深刻的变化。利用硬件描述语言(VHDL)对数字系统的硬件电路进行描述是EDA的关键技术之一。VHDL语言是目前主流的硬件描述语言,它具有很强的电路描述和建模能力,具有与具体电路无关和与设计平台无关的特性,在语言易读性和层次化结构方面表现出强大的生命力和应用潜力。随着人们生活水平的提高,汽车的消费量越来越大。因为人们也越来越忙,不管是夜晚还是阴雨、大雾等天气原因的影响,人们都开着车在纵横交错的马路上行驶,所以人们对汽车安全行驶的要求也越来越高,汽车尾灯控制系统给大家带来了极大的方便。汽车尾灯控制系统是随着汽车智能化技术的发展而发展起来4的,汽车尾灯一般是用于微处理器的硬件结构构成,正是因为硬件电路的局限性,不但不能随意的更改电路内部功能和性能,而且可靠性得不到保证,因此对汽车尾灯控制系统的发展带来一定的局限性,难以满足现代汽车的智能化发展。为了提高人们因夜晚或因天气原因在纵横交错的马路上驾驶的安全系数,也是为了减少交通事故的发生。我们采用了先进的EDA技术,QuartusⅡ工作平台和VHDL语言,设计了一种基于FPGA的汽车尾灯控制系统,并对系统进行了仿真机验证。用一片FPGA芯片实现了现代汽车智能化的尾灯控制系统。通过仿真及验证的结果分析,完全适应现代汽车智能化发展要求。不但简化了以前的汽车尾灯控制系统结构,大大降低了生产成本,而且提高了系统的先进性和可靠性。能实现控制器的系统编程。采用这种器件开发的数字系统其升级与改进非常方便。这一控制电路,结构简单、性能稳定、操作方便、抗干扰能力强。将它应用于现代汽车,不受黑夜或大雾、阴雨天气因素的影响,可以提高安全行驶,避免交通事故的发生。真正的让消费者驾驶汽车的方便和安全。3.设计步骤3.1画出总体电路原理框图通过1.2的项目分析,可以画出汽车尾灯控制电路的总体电路原理框图如下所示:53.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;6ENTITYweidengIS--实体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=01THEN--右信号rightd=11;ELSErightd=(rightd-1);ENDIF;IFleftd=01THEN--左信号leftd=11;ELSEleftd=(leftd-1);ENDIF;ENDIF;ENDPROCESScontrol;proout:PROCESS(clk,tright,tleft,rightd,leftd)7BEGINIFclk'EVENTANDclk='1'THENIFtright='1'THEN--右信号有效时leftdeng=000;CASErightdIS--右边灯的亮灭状态WHEN01=rightdeng=001;WHEN10=rightdeng=010;WHEN11=rightdeng=100;WHENOTHERS=rightdeng=000;ENDCASE;ELSIFtright='0'THEN--右信号无效rightdeng=000;--右边3个灯全灭ENDIF;IFtleft='1'THEN--左信号有效rightdeng=000;CASEleftdIS--左边灯的亮灭状态WHEN01=leftdeng=100;WHEN10=leftdeng=010;WHEN11=leftdeng=001;WHENOTHERS=leftdeng=000;ENDCASE;ELSIFtleft='0'THEN--左信号无效leftdeng=000;--左边3个灯全灭8ENDIF;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Ⅱ软件后选择FileNewProjectWizard进入新建工程对话框单击Next进入新建工程路径、名称、顶层实体指定对话框(选择好保存路径、输入工程名为weideng),由于只是进行功能和时序仿真,所以直接单击Finish即可。其次是建立VHDL程序文件(选
本文标题:基于VHDL语言的汽车尾灯的设计
链接地址:https://www.777doc.com/doc-7188345 .html