汽车尾灯控制器设计EDA课程设计报告文档格式.docx
《汽车尾灯控制器设计EDA课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《汽车尾灯控制器设计EDA课程设计报告文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
2.汽车尾灯控制器的设计过程
根据现代交通规则,汽车尾灯控制器应满足以下基本要求:
1.汽车正常使用是指示灯不亮
2.汽车右转时,右侧的一盏灯亮
3.汽车左转时,左侧的一盏灯亮
4.汽车刹车时,左右两侧的指示灯同时亮
5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明
6.出现大雾天气时,两侧雾灯点亮,增加可视度。
3.汽车尾灯控制器的工作原理
汽车尾灯控制器就是一个状态机的实例。
当汽车正常行驶时所有指示灯都不亮;
当汽车向右转弯时,汽车右侧的指示灯ldright亮;
当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;
当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;
当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮;
当于大雾天行驶时右侧指示灯ldfoggy1和左侧指示灯ldfoggy2同时亮。
通过设置系统的输入信号:
系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night,雾灯信号foggy和系统的输出信号:
汽车左侧4盏指示灯ldleft,dbrake1,dnight1,dfoggy1和汽车右侧4盏指示灯ldright,ldbrake2,ldnight2,ldfoggy2实现以上功能。
系统的整体组装设计原理如图所示:
系统整体设计框图
4.各组成模块原理及程序
汽车尾灯控制器由4个模块组成,分别为:
以下介绍各模块的详细设计:
(1)时钟分频模块
图为时钟分频模块图
时钟分频模块由VHDL程序来实现,下面是其VHDL代码:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityclockis
port(clk:
instd_logic;
cp:
outstd_logic);
end;
architecturebehaveofclockis
signalcount:
std_logic_vector(7downto0);
begin
process(clk)
begin
ifclk'
eventandclk='
1'
then
count<
=count+1;
endif;
endprocess;
cp<
=count(3);
endbehave;
(2)汽车尾灯主控模块
图为主控模块
汽车尾灯主控模块由VHDL程序来实现,下面是其VHDL代码:
entitycontrolis
port(left,right,brake,night,foggy:
lp,rp,lr,brake_led,night_led,foggy_led:
end;
architectureartofcontrolis
foggy_led<
=foggy;
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"
10"
whenothers=>
endcase;
endart;
(3)左边灯控制模块
图为左边灯控制模块
左边灯控制模块由VHDL程序来实现,下面是其VHDL代码
entityleftis
port(clk,lp,lr,brake,night,foggy:
std_logic;
ledl,ledb,ledn,ledf:
architectureartofleftis
ledf<
ledb<
ledn<
process(clk,lp,lr)
then
if(lr='
)then
if(lp='
ledl<
else
ledl<
endprocess;
(4右边灯控制模块
图为右边灯控制模块
右边灯控制模块由VHDL程序来实现,下面是其VHDL代码
entityrightis
port(clk,rp,lr,brake,night,foggy:
ledr,ledb,ledn,ledf:
architectureartofrightis
process(clk,rp,lr)
if(lr='
if(rp='
ledr<
='
4.系统仿真
(1)分频模块仿真及分析
图1分频模块仿真图
对其仿真图进行仿真分析:
如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。
(2汽车尾灯主控模块仿真及分析
图为主控模块时序仿真图
对时序仿真图进行分析:
right,left,night,brake,foggy为输入信号,right为1表示右转,left为1表示左转,night为1表示夜间行路,brake为1表示刹车foggy为1表示雾天行驶。
lr,rp,lp,night_led,brake_led,foggy_led为输出信号。
如图所示:
当right为1时,产生一个rp为1的信号脉冲输出,当left为1时,产生一个lp为1的信号脉冲输出,当left和right同时为1时,输出lr为1,lp,rp无效;
当night为1时,产生一个night_led为1的信号脉冲输出。
当brake为1时,产生一个brake_led为1的信号脉冲输出。
当foggy为1,产生一个foggy_led的信号脉冲输出。
(3左边灯控制模块仿真及分析
图为左边灯控制模块时序仿真图
clk,lp,lr,night,brake,foggy为输入信号,lp为1表示左转,lr是使能端,低电平有效,night为1表示夜间行路,brake为1表示刹车,foggy为1表示雾灯。
ledl,ledb,ledn,ledf为输出信号,表示汽车左侧的四盏灯。
在lr为低电平下,当lp为1时,ledl输出为1表示左侧灯亮,当brake为1时,ledb输出为1表示左侧刹车灯亮,当night为1时,ledn输出为1表示左侧照明灯亮,当foggy为1,表示左侧雾灯亮。
当lr为1时,输入信号lp无效,左侧四盏灯输出均为0。
即没有灯亮。
(4)右边灯控制模块仿真及分析
图为右边灯控制模块时序仿真图
clk,rp,lr,night,brake,foggy为输入信号,rp为1表示右转,lr是使能端,低电平有效,night为1表示夜间行路,brake为1表示刹车,foggy为1表示雾灯。
ledl,ledb,ledn,ledf为输出信号,表示汽车右侧的四盏灯。
在lr为低电平下,当rp为1时,ledr输出为1表示右侧灯亮,当brake为1时,ledb输出为1表示右侧刹车灯亮,当night为1时,ledn输出为1表示右侧照明灯亮,当foggy为1,表示右侧雾灯亮。
当lr为1时,输入信号lp无效,右侧四盏灯输出均为0。
(5)整个系统仿真及分析
图为整个系统仿真图
right,left,night,brake,foggy为输入信号,right为1表示右转,left为1表示左转,night为1表示夜间行路,brake为1表示刹车,foggy为1表示雾灯。
ldleft,ldbrake1,ldnight1,ldfoggy1为输出信号,表示汽车左侧的四盏灯。
ldright,ldbrake2,ldnight2,ldfoggy2为输出信号,表示汽车右侧的四盏灯。
当right为1时,ldright输出为1表示右侧灯亮,即实现右转弯;
当left为1时,ldleft输出为1表示左侧灯亮,即实现左转弯;
当night为1时,ldnight1,ldnight2输出均为1,表示左,右两侧各有一盏灯亮,实现夜间照明;
当brake为1时,ldbrake1,ldbrake2输出均为1,表示左,右两侧各有一盏灯亮,表示刹车指示灯亮;
当foggy为1时,ldfoggy1,ldfoggy2输出均为1,表示左右雾灯打开。
正常行驶状态下,灯不亮。
5.结束语
通过本次课程设计,我们对EDA技术有了更深的了解,初步学会了采用自顶向下的系统设计方法设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。
此外,我们还进一步熟悉了MAX+PLUSII这款软件的使用,深刻体会到了用软件实现硬件设计的便捷与优越。
本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。
它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,由小组人员分工完成,即一人完成一个到多个模块,最后再合到一起完成顶层文件的设计。
从局部到整体,不仅使得系统设计的思路清晰明了,减少了错误的产生,更方便了程序的调试以及系统功能的扩充。
在设计过程中,能与同学相互交流讨论,分工合作,不仅降低了设计难度,缩短了设计周期,更是进一步培养了我们的团队合作精神。
在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。
稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。
这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指导和同学们的帮助下,都顺利得以解决。
这些经历使我得以积累了一定的经验,相信对以后学习设计工作也会有一定的帮助!
6.参考文献
【1】邹彦、庄严等编.EDA技术与数字系统设计.北京:
电子工业出版社,2008
【2】张庆双主编.实用电子电路200例.北京:
机械工业出版社,2005
【3】赵世强、许杰等编.电子电路EDA技术.西安:
西安电子科技大学出版社,2000
【4】清华大学电子学教研组编.余孟尝主编.数字电子技术.第三版.北京:
高等教育出版社,2006
【5】黄仁欣.EDA技术实用教程.北京:
清华大学出版社,2006
【6】江国强.EDA技术与应用.北京:
电子工业出版社,2004