EDA汽车尾灯控制器的设计Word格式.docx
- 文档编号:18094687
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:19
- 大小:372.27KB
EDA汽车尾灯控制器的设计Word格式.docx
《EDA汽车尾灯控制器的设计Word格式.docx》由会员分享,可在线阅读,更多相关《EDA汽车尾灯控制器的设计Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
1实验目地
《EDA技术》是电子信息工程专业的一门专业课,该门课程具有很强的理论及实践性。
通过对该课程的学习,使学生掌握相关基本概念、基本理论和基本技能,为今后从事相应的生产设计和科研工作打下一定的基础。
除课程的理论教学和实验教学外,课程设计也是一个必要和重要的实践教学环节。
通过该课程设计,让学生掌握EDA的基本方法,熟悉VHDL语言和一种EDA软件(QUARTUSII),并能利用EDA软件设计一个电子技术综合问题,进一步培养学生分析解决工程实际问题的能力,为以后的毕业设计和进行工程实际问题的研究打下设计基础。
1.1设计的目的
其一、设计一个能适应现代汽车智能化发展要求的汽车尾灯控制电路。
改善以前的汽车尾灯控制系统,降低汽车尾灯控制器的生产成本。
其二、学好VHDL这门硬件描述语言,加深对VHDL语言知识的理解和掌握,提高学习能力和创新能力,使自己适应不断发展的21世纪。
1.2设计的基本内容
根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA工具对各模块进行仿真验证。
汽车尾灯控制器的设计分为4个模块:
时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。
把各个模块整合后就形成了汽车尾灯控制器。
通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。
2EDA、VHDL简介
2.1EDA技术
EDA技术的概念
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的特点
利用EDA技术进行电子系统的设计,具有以下几个特点:
①用软件的方式设计硬件;
②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;
③设计过程中可用有关软件进行各种仿真;
④系统可现场编程,在线升级;
⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
EDA设计流程
典型的EDA设计流程如下:
1、文本/原理图编辑与修改。
首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。
2、编译。
完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。
3、综合。
将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。
4、行为仿真和功能仿真。
利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。
5、适配。
利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。
适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。
6、功能仿真和时序仿真。
7、下载。
如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。
8、硬件仿真与测试。
2.2硬件描述语言(VHDL)
VHDL简介
VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
VHDL语言的特点
1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。
2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。
3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。
4.可以进行从系统级到逻辑级的描述,即混合描述。
5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。
3汽车尾灯控制器的设计过程
3.1系统需求分析
根据现代交通规则,汽车尾灯控制器应满足以下基本要求:
1.汽车正常使用是指示灯不亮
2.汽车右转时,右侧的一盏灯亮
3.汽车左转时,左侧的一盏灯亮
4.汽车刹车时,左右两侧的指示灯同时亮
5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用
3.2汽车尾灯控制器的工作原理
汽车尾灯控制器就是一个状态机的实例。
当汽车正常行驶时所有指示灯都不亮;
当汽车向右转弯时,汽车右侧的指示灯RD1亮;
当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;
当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;
当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。
通过设置系统的输入信号:
系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT和系统的输出信号:
汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。
系统的整体组装设计原理如图3.1(a)以及系统设计整体框图如图3.1(b)所示。
图3.1(a)系统的整体组装设计原理
图3.1(b)
汽车尾灯主控模块
VHDL程序(CTRL.VHD)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYCTRLIS
PORT(LEFT,RIGHT,BRAKE,NIGHT:
INSTD_LOGIC;
LP,RP,LR,BRAKE_LED,NIGHT_LED:
OUTSTD_LOGIC);
END;
ARCHITECTUREARTOFCTRLIS
BEGIN
NIGHT_LED<
=NIGHT;
BRAKE_LED<
=BRAKE;
PROCESS(LEFT,RIGHT)
VARIABLETEMP:
STD_LOGIC_VETOR(1DOWNTO0);
TEMP:
=LEFT&
RIGHT;
CASETEMPIS
WHEN"
00"
=>
LP<
='
0'
;
RP<
LR<
01"
1'
10"
WHENOTHERS=>
ENDCASE;
ENDPROCESS;
ENDART;
3.3各组成模块原理及程序
汽车尾灯控制器有4个模块组成,分别为:
时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。
时钟分频模块
整个时钟分频模块的工作框图如图3.2。
图3.2时钟分频模块工作框图
时钟分频模块由VHDL程序来实现,下面是其中的一段VHDL代码:
PROCESS(CLK)
BEGIN
IFCLK'
EVENTANDARCHITECTUREARTOFSZIS
SIGNALCOUNT:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
CLK='
THEN
COUNT<
=COUNT+1;
ENDIF;
CP<
=COUNT(3);
汽车尾灯主控模块工作框图如图3.3(a)所示以及工作原理框图3.3(b)。
图3.3(a)主控模块工作框图
图3.3(b)主控模块工作原理框图
数据入口:
RIGHT:
右转信号;
LEFT:
左转信号;
BRAKE:
刹车信号;
NIGHT:
夜间行驶信号;
数据出口:
LP:
左侧灯控制信号;
RP:
右侧灯控制信号;
LR:
错误控制信号;
BRAKE_LED:
刹车控制信号;
NIGHT_LED:
夜间行驶控制信号;
汽车尾灯主控模块由VHDL程序来实现,下面是其中的一段VHDL代码:
PROCESS(LEFT,RIGHT)
STD_LOGIC_VECTOR(1DOWNTO0);
=LEFT&
RIGHT;
CASETEMPIS
=>
WHENOTHERS=>
ENDCASE;
左边灯控制模块
左边灯控制模块的工作框图如图3.4(a)所示以及工作原理框图3.4(b)。
图3.4(a)左边灯控制模块的工作框图
图3.4(b)左边灯控制模块的工作原理框图
CLK:
时钟控制信号;
LEDL:
左侧LD1灯控制信号;
左侧LD2灯控制信号;
LEDN:
左侧LD3灯控制信号;
左边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:
ARCHITECTUREARTOFLCIS
LEDB<
LEDN<
PROCESS(CLK,LP,LR)
EVENTANDCLK='
THEN
IF(LR='
)THEN
IF(LP='
LEDL<
ELSE
LEDL<
ENDPROCESS;
右边灯控制模块
右边灯控制模块的工作框图如图3.5(a)所示以及工作原理框图3.5(b)。
图3.5(a)右边灯控制模块的工作框图
图3.5(b)右边灯控制模块的工作原理框图
LEDR:
右侧RD1灯控制信号;
LEDB:
右侧RD2灯控制信号;
右侧RD3灯控制信号;
右边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:
ARCHITECTUREARTOFRCIS
PROCESS(CLK,RP,LR)
IF(LR='
IF(RP='
LEDR<
='
4系统仿真
4.1分频模块仿真及分析
分频模块由VHDL程序实现后,其功能仿真如图4.1(a)所示已经时序仿真仿真图如图4.1(b)所示。
图4.1(a)分频模块功能仿真图
图4.1(b)分频模块时序仿真图
对其仿真图进行仿真分析:
如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。
4.2汽车尾灯主控模块仿真及分析
汽车尾灯主控模块由VHDL程序实现后,其功能仿真图如图4.2(a)所示以及时序仿真如图4.2(b)所示。
图4.2(a)主控模块功能仿真图
图4.2(b)主控模块时序仿真图
对时序仿真图进行分析:
RIGHT,LEFT,NIGHT,BRAKE为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。
RP,LP,NIGHT_LED,BRAKE_LED为输出信号。
如图所示:
当RIGHT为1时,产生一个RP为1的信号脉冲输出,当LEFT为1时,产生一个LP为1的信号脉冲输出,当NIGHT为1时,产生一个NIGHT_LED为1的信号脉冲输出。
当BRAKE为1时,产生一个BRAKE_LED为1的信号脉冲输出。
4.3左边灯控制模块仿真及分析
左边灯控制模块由VHDL程序实现后,其功能仿真图如图4.3(a)所示以及时序仿真如图4.3(b)所示。
图4.3(a)左边灯控制模块功能仿真图
图4.3(b)左边灯控制模块时序仿真图
LP,LR,NIGHT,BRAKE为输入信号,LP为1表示左转,LR为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。
LEDL,LEDB,LEDN为输出信号,表示汽车左侧的三盏灯。
当LP为1时,LEDL输出为1表示左侧灯亮,当BRAKE为1时,LEDB输出为1表示左侧灯亮,当NIGHT为1时,LEDN输出为1表示左侧灯亮。
当LR为1时,左侧三盏灯输出均为0。
即没有灯亮。
4.4右边灯控制模块仿真及分析
右边灯控制模块由VHDL程序实现后,其功能仿真图如图4.4(a)所示以及时序仿真如图4.4(b)所示。
图4.4(a)右边灯控制模块功能仿真图
图4.4(b)右边灯控制模块时序仿真图
RP,LR,NIGHT,BRAKE为输入信号,LR为1表示左转,RP为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。
LEDR,LEDB,LEDN为输出信号,表示汽车右侧的三盏灯。
当RP为1时,LEDR输出为1表示右侧灯亮,当BRAKE为1时,LEDB输出为1表示右侧灯亮,当NIGHT为1时,LEDN输出为1表示右侧灯亮。
当LR为1时,右侧三盏灯输出均为0。
4.5整个系统仿真及分析
按图3.1组装系统后的功能仿真如图4.5(a)所示以及时序仿真如图4.5(b)所示。
图4.5(a)整个系统功能仿真图
图4.5(b)整个系统时序仿真图
RD1,RD2,RD3为输出信号,表示汽车右侧的三盏灯。
LD1,LD2,LD3为输出信号,表示汽车左侧的三盏灯。
当RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1时,LD2,RD2输出均为1,表示左,右两侧各有一盏灯亮。
当BRAKE为1时,LD3,RD3输出均为1,表示左,右两侧各有一盏灯亮。
各个模块的功能:
1.时钟分频模块功能:
这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号,CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。
再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。
2.汽车尾灯主控模块功能:
该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;
当输入为右转信号时,输出右侧灯控制信号;
当同时输入LEFT和RIGHT信号时,输出错误控制信号。
当输入为刹车信号时,输出刹车控制信号;
当输入为夜间行驶信号时,输出为夜间行驶控制信号。
3.左边灯控制模块作用:
本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。
当错误控制信号出现时,LD1灯不亮。
4.右边灯控制模块作用:
本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁。
当错误控制信号出现时,RD1灯不亮。
拼脚引用:
输入:
开关
引脚
BRAKE
SW1
32
LEFT
SW2
33
RIGHT
SW3
36
BIGHT
SW4
37
输出:
LD1
LD2
LD3
RD1
RD2
RD3
D112
D111
D110
D103
D102
D101
31
30
29
20
19
18
实验现象:
1.汽车尾部左右两侧各有多盏指示灯。
2.汽车正常行驶时指示灯都不亮。
3.汽车右转弯时,右侧的一盏指示灯亮。
4.汽车左转弯时,左侧的一盏指示灯亮。
5.汽车刹车时,左右两侧的一盏指示灯同时亮。
6.汽车在夜间行驶时,左右两侧有指示灯同时一直亮,供照明使用。
总结体会
通过本次课程设计,我们对EDA技术有了更深的了解,初步学会了采用自顶向下的系统设计方法设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。
此外,我们还进一步熟悉了MAX+PLUSII这款软件的使用,深刻体会到了用软件实现硬件设计的便捷与优越。
本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。
它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,由小组人员分工完成,即一人完成一个到多个模块,最后再合到一起完成顶层文件的设计。
从局部到整体,不仅使得系统设计的思路清晰明了,减少了错误的产生,更方便了程序的调试以及系统功能的扩充。
在设计过程中,能与同学相互交流讨论,分工合作,不仅降低了设计难度,缩短了设计周期,更是进一步培养了我们的团队合作精神。
在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。
稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。
这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指导和同学们的帮助下,都顺利得以解决。
这些经历使我得以积累了一定的经验,相信对以后学习设计工作也会有一定的帮助!
指导老师意见
参考书目
[1]黄正瑾,《系统编程技术及其应用》,南京,东南大学出版社,1997年
[2]潘松,黄继业,《EDA实用教程》,北京,科学出版社,2002年
[3]郑家龙,王小海,《集成电子技术基础教程》,北京,高等教育出版社,2002年
[4]卢杰,赖毅,《VHDL与数字电路设计》,北京,科学出版社,2001年
[5]张明,《VerilogHDL实用教程》,成都,电子科技大学出版社,1999年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 汽车 尾灯 控制器 设计