EDA汽车尾灯控制系统.docx

上传人:b****7 文档编号:26028117 上传时间:2023-06-17 格式:DOCX 页数:17 大小:166.18KB
下载 相关 举报
EDA汽车尾灯控制系统.docx_第1页
第1页 / 共17页
EDA汽车尾灯控制系统.docx_第2页
第2页 / 共17页
EDA汽车尾灯控制系统.docx_第3页
第3页 / 共17页
EDA汽车尾灯控制系统.docx_第4页
第4页 / 共17页
EDA汽车尾灯控制系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

EDA汽车尾灯控制系统.docx

《EDA汽车尾灯控制系统.docx》由会员分享,可在线阅读,更多相关《EDA汽车尾灯控制系统.docx(17页珍藏版)》请在冰豆网上搜索。

EDA汽车尾灯控制系统.docx

EDA汽车尾灯控制系统

EDA课程设计报告书

 

课题名称

汽车尾灯控制系统

姓名

学号

院系

专业

指导教师

 

年月日

设计任务及要求:

1.设计要求

(1)汽车正常使用是指示灯不亮。

(2)汽车右转时,右侧的一盏灯亮。

(3)汽车左转时,左侧的一盏灯亮。

(4)汽车刹车时,左右两侧的指示灯同时亮。

(5)汽车夜间行驶时,左右两侧的指示灯同时亮,供照明使用。

指导教师签名:

2011年月日

二、指导教师评语:

 

指导教师签名:

2011年月日

三、成绩

 

验收盖章:

2011年月日

1.引言

随着社会的发展,科学技术也在不断的进步,状态机的应用越来越广泛。

现代交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。

在本课程设计根据状态机原理[1]实现了汽车尾灯常用控制。

1.1设计目的

本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术[2]并掌握VHDL硬件描述语言的设计方法和思想。

以计算机组成原理为指导,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。

通过对实用汽车尾灯控制器[3]的设计,巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。

1.2设计的基本内容

根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA工具对各模块进行仿真验证。

汽车尾灯控制器的设计分为4个模块:

时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。

把各个模块整合后就形成了汽车尾灯控制器。

通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。

1.3EDA的介绍

1.3.1EDA技术的概念

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

1.3.2EDA技术的特点

利用EDA技术进行电子系统的设计,具有以下几个特点:

①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。

因此,EDA技术是现代电子设计的发展趋势。

1.3.3EDA设计流程

典型的EDA设计流程如下:

1、文本/原理图编辑与修改。

首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。

  2、编译。

完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。

  3、综合。

将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。

  4、行为仿真和功能仿真。

利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。

  5、适配。

利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。

适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。

  6、功能仿真和时序仿真。

7、下载。

如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。

8、硬件仿真与测试。

1.4硬件描述语言(VHDL)

1.4.1VHDL的介绍

VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)主要用于描述数字系统的结构,行为,功能和接口。

除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

这种将设计实体分成内外部分的概念是VHDL系统设计的基本

1.4.2VHDL语言的特点

1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。

2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。

3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。

4.可以进行从系统级到逻辑级的描述,即混合描述。

5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。

2.总体设计

2.1需求分析

根据现代交通规则,汽车尾灯控制器应满足以下基本要求:

1.汽车正常使用时指示灯不亮。

2.汽车右转时,右侧的一盏灯亮。

3.汽车左转时,左侧的一盏灯亮。

4.汽车刹车时,左右两侧的指示灯同时亮。

5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用。

2.2汽车尾灯控制器的工作原理

汽车尾灯控制器就是一个状态机的实例。

当汽车正常行驶时所有指示灯都不

亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。

通过设置系统的输入信号:

系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT和系统的输出信号:

汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。

 

图2.2整体组装设计原理图

2.3汽车运行状态表和总体框图

开关控制

汽车运行状态

右转尾灯

左转尾灯

S0S1S2

R1R2R3

L1L2L3

000

正常运行

灯灭

灯灭

001

左转弯

灯灭

按L1L2L3顺序循环点亮

010

右转弯

按R1R2R3顺序循环点亮

灯灭

011

临时刹车/检测

所有尾灯同时点亮

100

倒车

所有尾灯按照转弯次序点亮

101

晚上行车时

R3,L3一直点亮

汽车尾灯和汽车运行状态表1

 

图2.3汽车尾灯控制电路设计总体框图

3.详细设计

3.1各组成模块

实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。

汽车尾灯控制器有4个模块组成,分别为:

时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。

3.2时钟分频模块

整个时钟分频模块的工作框图如图3.2所示。

图3.2时钟分频模块工作框图

时钟分频模块由VHDL程序来实现,下面是其中的一段VHDL代码:

ARCHITECTUREARTOFSZIS

SIGNALCOUNT:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

COUNT<=COUNT+1;

ENDIF;

ENDPROCESS;

CP<=COUNT(3);

ENDART;

3.3汽车尾灯主控模块

汽车尾灯主控模块工作框图如图3.3所示

 

图3.3主控模块工作框图

汽车尾灯主控模块由VHDL程序来实现,下面是其中的一段VHDL代码:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCTRLIS

PORT

(left,right,brake:

instd_logic;

lfen,rten,lr:

outstd_logic);

endCTRL;

architectureaofcrtlIS

BEGIN

PROCESS(left,right)

variabletmp:

std_logic_vector(2downto0);

BEGIN

tmp:

=brake&left&right;

CASEtmpIS

 

WHEN"000"=>lfen<='0';

retn<='0';

lr<='0';

WHEN"001"=>lfen<='0';

retn<='1';

lr<='0';

WHEN"010"=>lfen<='1';

retn<='0';

lr<='0';

WHENothers=>lfen<='1';

retn<='1';

lr<='1';

endcase;

endprocess;

enda;

3.4左边灯控制模块

左边灯控制模块的工作框图如图3.4所示。

 

图3.4左边灯控制模块的工作框图

左边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:

ARCHITECTUREARTOFLCIS

BEGIN

LEDB<=BRAKE;

LEDN<=NIGHT;

PROCESS(CLK,LP,LR)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IF(LR='0')THEN

IF(LP='0')THEN

LEDL<='0';

ELSE

LEDL<='1';

ENDIF;

ELSE

LEDL<='0';

ENDIF;

ENDIF;

ENDPROCESS;

ENDART;

3.5右边灯控制模块

右边灯控制模块的工作框图如图3.5所示

 

图3.5右边灯控制模块的工作框图

右边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:

LIBRARYIEEE:

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYleftpIS

PORT

SIGNALtmp:

std_logic_vector(2downto0);

BEGIN

(leften,clk,lr:

instd_logic;

led2,led1,led0:

outstd_logic);

endleftp;

ARCHITECTUREaofleftpis

PROCESS(clk,leften,lr)

Begin

if(clk'eventandclk='1')then

iflr='0'then

ifleften='0'then

tmp<="000";

Else

if(tmp="000")then

Else

tmp<=tmp(1downto0)&'0';

endif;

endif;

Else

tmp<="111";

endif;

endif;

endprocess;

led2<=tmp

(2);

led1<=

(1);

led0<=(0);

enda;

4.系统仿真与调试

4.1分频模块仿真及分析

分频模块由VHDL程序实现后,其仿真图如图4.1所示

图4.1

图4.1分频模块时序仿真图

时钟分频把600ns的脉冲分对其仿真图进行仿真分析:

如图所示,首先生成一个600ns的时钟脉冲,通过成一个40ns的脉冲,实现了信号同步。

4.2汽车尾灯主控模块仿真及分析

汽车尾灯主控模块由VHDL程序实现后,其仿真图如图4.2所示。

 

 

图4.2主控模块时序仿真图

对时序仿真图进行分析:

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所示。

对时序仿真图进行分析:

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.3左边灯控制模块时序仿真图

图4.3左边灯控制模块时序仿真图

4.4右边灯控制模块仿真及分析

对时序仿真图进行分析:

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。

即没有灯亮。

右边灯控制模块由VHDL程序实现后,其仿真图如图4.4所示。

 

 

图4.4右边灯控制模块时序仿真图

4.5整个系统仿真及分析

按图2.3组装系统后的仿真图如下图4.5所示。

对时序仿真图进行分析:

RIGHT,LEFT,NIGHT,BRAKE为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。

RD1,RD2,RD3为输出信号,表示汽车右侧的三盏灯。

LD1,LD2,LD3为输出信号,表示汽车左侧的三盏灯。

如图所示:

当RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1时,LD2,RD2输出均为1,表示左,右两侧各有一盏灯亮。

当BRAKE为1时,LD3,RD3输出均为1,表示左,右两侧各有一盏灯亮。

 

图4.5整个系统仿真图

4.6总体设计电路图

 

图4.6总体设计电路图

心得与体会:

通过两星期的紧张工作,最后完成了我的设计任务——汽车尾灯控制器的设计。

通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。

本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。

它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。

希望学校以后多安排一些类似的实践环节,让同学们学以致用。

在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。

在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。

用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。

 

参考文献

[1]王爱英.计算机组成与结构.北京:

清华大学出版社,2001.2,

[2]黄仁欣.EDA技术实用教程.北京:

清华大学出版社,2006

[3]曹昕燕,聂春燕.EDA技术实验与课程设计.北京:

清华大学出版

社,2006.5

[4]杨亦华,延明.数字电路EDA入门.北京:

北京邮电大学出版社,2003

[5]彭容修,《数字电子技术基础》,武汉,武汉理工大学出版社,2005

[6]潘松,黄继业《EDA技术与VHDL》,北京,清华大学出版社,2006

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1