EDA汽车尾灯控制器设计Word下载.docx
《EDA汽车尾灯控制器设计Word下载.docx》由会员分享,可在线阅读,更多相关《EDA汽车尾灯控制器设计Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高分析、解决EDA技术实际问题的独立工作能力。
二、设计的内容及要求
一、设计内容
设计一个汽车尾灯控制器,利用EDA软件(MAX+plusII)进行编译及仿真,设计输入可采用VHDL硬件描述语言输入法和原理图输入法,通过仿真查看设计的可行性,因条件有限,只能进行简单的仿真实验。
二、设计要求
(1)汽车尾部左右双侧各有多盏指示灯。
(2)汽车正常行驶时指示灯都不亮。
(3)汽车右转弯时,右边的一盏指示灯亮。
(4)汽车左转弯时,左侧的一盏指示灯亮。
(5)汽车刹车时,左右双侧的一盏指示灯同时亮。
(6)汽车在夜间行驶时,左右双侧有指示灯同时一直亮,供照明利用。
三、指导教师评语
四、成绩
指导教师(签章)
年月日
汽车尾灯控制器设计
1.引言
随着集成电路和运算机技术的飞速进展,EDA技术应运而生,它是一种高级、快速、有效的电子设计自动化技术。
EDA将大量的电路功能集成到一个芯片中,而且能够由用户自行设计逻辑功能,提高了系统的集成度和靠得住性。
运用EDA技术能够方便、快捷设计电路系统。
本文基于EDA系统,在MAX+plusII软件平台上,完成了汽车尾灯电路的设计。
采用VHDL硬件描述语言描述汽车尾灯电路,完成对电路的功能仿真。
在设计进程中,重点探讨了汽车尾灯电路的设计思路和功能模块划分,通过度析仿真波形表明设计的汽车尾灯电路完成了预期的功能。
2.汽车尾灯控制器的设计进程
设计内容
设计要求
(6)汽车在夜间行驶时,左右双侧有指示灯同时一直亮,供照明利用
汽车尾灯控制器的工作原理
汽车尾灯控制器就是一个状态机的实例。
当汽车正常行驶时所有指示灯都不亮;
当汽车向右转弯时,汽车右边的指示灯ldright亮;
当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;
当汽车刹车时,汽车右边的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;
当汽车在夜间行驶时,汽车右边的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮;
当于大雾天行驶时右边指示灯ldfoggy1和左侧指示灯ldfoggy2同时亮。
通过设置系统的输入信号:
系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night,雾灯信号foggy和系统的输出信号:
汽车左侧4盏指示灯ldleft,dbrake1,dnight1,dfoggy1和汽车右侧4盏指示灯ldright,ldbrake2,ldnight2,ldfoggy2实现以上功能。
系统的整体组装设计原理如图所示:
方案选择与论证
按照系统设计要求,系统设计采用自顶向下的设计方式,顶层设计采用原理图设计方案,它是由时钟分频模块、汽车尾灯主控模块、左侧灯控制模块、右边灯控制模块四部份组成。
系统设计详述
系统的输入信号包括:
系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。
汽车左侧4盏指示灯LLED1,LLED2,LLED3,LLED4和汽车右边4盏指示灯RLED1,RLED2,RLED3,RLED4。
当汽车正常行驶时所有的指示灯都不亮,当汽车向左转时,汽车左侧的指示灯LLED1亮,当汽车向右转时,汽车右边的指示灯RLED1亮,当汽车刹车时,左右的LLED二、RLED2亮,当汽车夜间行驶时,汽车左右的LLED3、LLED4、RLED3、RLED4一直亮。
各组成模块原理及程序
2.6.1汽车尾灯主控模块
数据入口:
RIGHT:
右转信号;
LEFT:
左转信号;
BRAKE:
刹车信号;
NIGHT:
夜间行驶信号;
数据出口:
LP:
左侧灯控制信号;
RP:
右边灯控制信号;
LR:
错误控制信号;
BRAKE_LED:
刹车控制信号;
NIGHT_LED:
夜间行驶控制信号;
VHDL程序()
LIBRARYIEEE;
USECTRLIS
PORT(LEFT,RIGHT,BRAKE,NIGHT:
INSTD_LOGIC;
LP,RP,LR,BRAKE_LED,NIGHT_LED:
OUTSTD_LOGIC);
ENDENTITYCTRL;
ARCHITECTUREARTOFCTRLIS
BEGIN
NIGHT_LED<
=NIGHT;
BRAKE_LED<
=BRAKE;
PROCESS(LEFT,RIGHT)
VARIABLETEMP:
STD_LOGIC_VECTOR(1DOWNTO0);
TEMP:
=LEFT&
RIGHT;
CASETEMPIS
WHEN"
00"
=>
LP<
='
0'
;
RP<
LR<
--当汽车直行时,左右灯都不亮
01"
1'
--当汽车右拐时,右拐指示灯亮
WHEN"
10"
--当汽车左拐时,左指示灯亮
WHENOTHERS=>
--当汽车刹车时,左右灯都亮
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREART;
功能:
该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;
当输入为右转信号时,输出右边灯控制信号;
当同时输入LEFT和RIGHT信号时,输犯错误控制信号。
当输入为刹车信号时,输出刹车控制信号;
当输入为夜间行驶信号时,输出为夜间行驶控制信号。
2.6.2左侧灯控制模块
CLK:
时钟控制信号;
LEDL:
左侧LD1灯控制信号;
LEDB:
左侧LD2灯控制信号;
LEDN:
左侧LD3灯控制信号;
USELCIS
PORT(CLK,LP,LR,BRAKE,NIGHT:
LEDL,LEDB,LEDN:
ENDENTITYLC;
ARCHITECTUREARTOFLCIS
LEDB<
LEDN<
PROCESS(CLK,LP,LR)
BEGIN
IFCLK'
EVENTANDCLK='
THEN--时钟上升沿有效
IF(LR='
)THEN--没有刹车信号时
IF(LP='
)THEN--没有左拐信号时
LEDL<
--左信号灯不亮
ELSE--相反情形
ENDIF;
ELSE
LEDL<
本程序用于控制左侧灯的亮、灭和闪烁情形,那时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。
当错误控制信号出现时,LD1灯不亮。
2.6.3右边灯控制模块
LEDR:
右边RD1灯控制信号;
右边RD2灯控制信号;
右边RD3灯控制信号;
USERCIS
PORT(CLK,RP,LR,BRAKE,NIGHT:
LEDR,LEDB,LEDN:
ENDENTITYRC;
ARCHITECTUREARTOFRCIS
PROCESS(CLK,RP,LR)
THEN--检测时钟上升沿
)THEN
IF(RP='
LEDR<
本描述用于控制右边灯的亮、灭和闪烁情形,那时钟上升沿信号和右边灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右边相应的灯亮或出现闪烁。
当错误控制信号出现时,RD1灯不亮。
2.6.4时钟分频模块
USESZIS
PORT(CLK:
--时钟输入
CP:
ENDENTITYSZ;
ARCHITECTUREARTOFSZIS
SIGNALCOUNT:
STD_LOGIC_VECTOR(7DOWNTO0);
--概念八位标准逻辑位矢量数据类型
PROCESS(CLK)
COUNT<
=COUNT+1;
CP<
=COUNT(3);
--输出第五位
这块的功能是对左右两边的LLED一、RLED1的闪烁时刻距离,以CLK为输入信号,CP为输出信号,在程序中概念一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。
再将CP的电平信号别离和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED一、RLED1,实现左右转的指示功能。
2.6.5原理图
顶层文件VHDL程序()
Libraryieee;
Usetpis
Port(clk:
instd_logic;
Left:
Right:
Brake:
Night:
Ld1,ld2,ld3:
outstd_logic;
Rd1,rd2,rd3:
outstd_logic);
End;
Architecturebhoftpis
Componentszis
Cp:
Endcomponent;
Componentctrlis
Port(left,right,brake,night:
Lp,rp,lr,brake_led,night_led:
Componentlcis
Port(clk,lp,lr,brake,night:
Ledl,ledb,ledn:
Componentrcis
Port(clk,rp,lr,brake,night:
Ledr,ledb,ledn:
Signaltmp0,tmp1,tmp2,tmp3,tmp4:
std_logic;
Signalerr0,err1,err2,err3,err4,err5:
signalbm:
Begin
U1:
szportmap(clk,bm);
U2:
ctrlportmap(left,right,brake,night,tmp0,tmp1,tmp2,tmp3,tmp4);
U3:
lcportmap(clk,tmp0,tmp2,tmp3,tmp4,err0,err1,err2);
U4:
rcportmap(clk,tmp1,tmp2,tmp3,tmp4,err3,err4,err5);
Ld1<
=err0andbm;
Ld2<
=err1;
Ld3<
=err2;
Rd1<
=err3andbm;
Rd2<
=err4;
Rd3<
=err5;
整体仿真波形图
分析整体仿真图:
输入刹车信号一直为高电平,输出LD2灯和RD2灯也为长亮;
左转信号为高电平时,LD1灯闪烁,右转信号为高电平时,RD1灯闪烁;
当左转信号和右转信号同时为高电平时,LD1灯和RD1灯都不亮;
夜间行驶信号为高电平时,LD3灯和RD3灯同时亮。
波形仿真结果知足预期的功能。
3.心得体会
通过本次课程设计,咱们对EDA技术有了更深的了解,初步学会了采用自顶向下的系统设计方式设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。
另外,咱们还进一步熟悉了MAX+PLUSII这款软件的利用,深刻体会到了用软件实现硬件设计的便捷与优越。
本次课程设计不仅培育了咱们实际操作能力,也培育了咱们灵活运用讲义知识,理论联系实际,分析问题和解决问题的能力。
它不单单是一个学习新知识新方式的好机缘,同时也是对我所学知识的一次综合的查验和温习,使我明白了自己的缺点所在,从而查漏补缺。
本设计采用自顶向下设计方式,底层为一些具有独立功能的小模块,由小组人员分工完成,即一人完成一个到多个模块,最后再合到一路完成顶层文件的设计。
从局部到整体,不仅使得系统设计的思路清楚明了,减少了错误的产生,更方便了程序的调试和系统功能的扩充。
在设计进程中,能与同窗彼此交流讨论,分工合作,不仅降低了设计难度,缩短了设计周期,更是进一步培育了咱们的团队合作精神。
在这次设计进程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理动身,联系实际解决问题,还要求咱们要有耐心,毅力及细心。
稍有不慎,一个小小的错误就会致使结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。
这次设计中我也碰到了一些问题,但通过相关资料的查询,在老师的指导和同窗们的帮忙下,都顺利得以解决。
这些经历使我得以积累了必然的经验,相信对以后学习设计工作也会有必然的帮忙!
4.参考文献
【1】邹彦、庄重等编.EDA技术与数字系统设计.北京:
电子工业出版社,2008
【2】张庆双主编.实用电子电路200例.北京:
机械工业出版社,2005
【3】赵世强、许杰等编.电子电路EDA技术.西安:
西安电子科技大学出版社,2000
【4】清华大学电子学教研组编.余孟尝主编.数字电子技术.第三版.北京:
高等教育出版社,2006
【5】黄仁欣.EDA技术实用教程.北京:
清华大学出版社,2006
【6】江国强.EDA技术与应用.北京:
电子工业出版社,2004