汽车尾灯控制器设计EDA课程设计报告.docx

上传人:b****6 文档编号:8760733 上传时间:2023-02-01 格式:DOCX 页数:10 大小:213.82KB
下载 相关 举报
汽车尾灯控制器设计EDA课程设计报告.docx_第1页
第1页 / 共10页
汽车尾灯控制器设计EDA课程设计报告.docx_第2页
第2页 / 共10页
汽车尾灯控制器设计EDA课程设计报告.docx_第3页
第3页 / 共10页
汽车尾灯控制器设计EDA课程设计报告.docx_第4页
第4页 / 共10页
汽车尾灯控制器设计EDA课程设计报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

汽车尾灯控制器设计EDA课程设计报告.docx

《汽车尾灯控制器设计EDA课程设计报告.docx》由会员分享,可在线阅读,更多相关《汽车尾灯控制器设计EDA课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。

汽车尾灯控制器设计EDA课程设计报告.docx

汽车尾灯控制器设计EDA课程设计报告

 

EDA课程设计报告

汽车尾灯控制器设计

 

 

专业:

通信工程

学号:

姓名:

日期:

2014-7-3

 

1.设计目的

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

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

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

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

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

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

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

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

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代码:

libraryieee;

useieee.std_logic_1164.all;

entitycontrolis

port(left,right,brake,night,foggy:

instd_logic;

lp,rp,lr,brake_led,night_led,foggy_led:

outstd_logic);

end;

architectureartofcontrolis

begin

foggy_led<=foggy;

night_led<=night;

brake_led<=brake;

process(left,right)

variabletemp:

std_logic_vector(1downto0);

begin

temp:

=left&right;

casetempis

when"00"=>lp<='0';rp<='0';lr<='0';

when"01"=>lp<='0';rp<='1';lr<='0';

when"10"=>lp<='1';rp<='0';lr<='0';

whenothers=>lp<='0';rp<='0';lr<='1';

endcase;

endprocess;

endart;

(3)左边灯控制模块

图为左边灯控制模块

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

libraryieee;

useieee.std_logic_1164.all;

entityleftis

port(clk,lp,lr,brake,night,foggy:

std_logic;

ledl,ledb,ledn,ledf:

outstd_logic);

end;

architectureartofleftis

begin

ledf<=foggy;

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;

(4右边灯控制模块

图为右边灯控制模块

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

libraryieee;

useieee.std_logic_1164.all;

entityrightis

port(clk,rp,lr,brake,night,foggy:

instd_logic;

ledr,ledb,ledn,ledf:

outstd_logic);

end;

architectureartofrightis

begin

ledf<=foggy;

ledb<=brake;

ledn<=night;

process(clk,rp,lr)

begin

ifclk'eventandclk='1'then

if(lr='0')then

if(rp='0')then

ledr<='0';

else

ledr<='1';

endif;

else

ledr<='0';

endif;

endif;

endprocess;

endart;

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

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

当前位置:首页 > 高等教育 > 工学

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

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