汽车尾灯课程设计.docx
- 文档编号:23819729
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:17
- 大小:348.14KB
汽车尾灯课程设计.docx
《汽车尾灯课程设计.docx》由会员分享,可在线阅读,更多相关《汽车尾灯课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
汽车尾灯课程设计
目录
第一章.引言1
1.1设计的目的1
1.2设计的基本内容1
第二章.总体设计内容和原理4
2.1课题研究内容分析4
2.2汽车尾灯控制器的工作原理4
2.3汽车运行状态表和总体框图5
第三章.功能模块的详细设计6
3.1各组成模块6
3.2时钟分频模块6
3.3汽车尾灯主控模块6
3.4左边灯控制模块7
3.5右边灯控制模块9
第四章.系统仿真与调试10
4.1分频模块仿真及分析10
4.2汽车尾灯主控模块仿真及分析10
4.3左边灯控制模块仿真及分析11
4.4右边灯控制模块仿真及分析11
4.5整个系统仿真及分析12
4.6总体设计电路图12
第五章.总结13
第六章.参考文献14
第一章.引言
随着社会的发展,科学技术也在不断的进步,状态机的应用越来越广泛。
现代交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。
在本课程设计根据状态机原理[1]实现了汽车尾灯常用控制。
1.1设计的目的
本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术[2]并掌握VHDL硬件描述语言的设计方法和思想。
以计算机组成原理为指导,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。
通过对实用汽车尾灯控制器[3]的设计,巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
1.2设计的基本内容
根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA工具对各模块进行仿真验证。
汽车尾灯控制器的设计分为4个模块:
时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。
把各个模块整合后就形成了汽车尾灯控制器。
通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。
第二章.总体设计内容和原理
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实现以上功能。
系统的整体组装设计原理如图3.1所示。
图2.3整体组装设计原理
2.3汽车运行状态表和总体框图
汽车尾灯和汽车运行状态表如表1所示。
汽车尾灯和汽车运行状态表1-1
开关控制
汽车运行状态
右转尾灯
左转尾灯
S0S1S2
R1R2R3
L1L2L3
000
正常运行
灯灭
灯灭
001
左转弯
灯灭
按L1L2L3顺序循环点亮
010
右转弯
按R1R2R3顺序循环点亮
灯灭
011
临时刹车/检测
所有尾灯同时点亮
100
倒车
所有尾灯按照转弯次序点亮
101
晚上行车时
R3,L3一直点亮
汽车尾灯控制电路设计总体框图如图1所示:
初始化
汽车状态模块
正常行驶
夜间行驶
刹车
右转弯
后退
左转弯
第三章.功能模块的详细设计
3.1各组成模块
实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。
汽车尾灯控制器有4个模块组成,分别为:
时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。
3.2时钟分频模块
整个时钟分频模块的工作框图如图3.2所示。
图3.2时钟分频模块工作框图
时钟分频模块由VHDL程序来实现,程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYTIMERIS
PORT(CLK:
INSTD_LOGIC;
CP:
OUTSTD_LOGIC);
ENDENTITYTIMER;
ARCHITECTUREARTOFTIMERIS
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程序来实现,程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYPRECONTROLIS
PORT(LEFT,RIGHT,BRAKE,NIGHT:
INSTD_LOGIC;
LP,RP,LR,BRAKE_LED,NIGHT_LED:
OUTSTD_LOGIC);
ENDENTITYPRECONTROL;
ARCHITECTUREARTOFPRECONTROLIS
BEGIN
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.4左边灯控制模块
左边灯控制模块的工作框图如图3.4所示。
图3.4左边灯控制模块的工作框图
左边灯控制模块由VHDL程序来实现,程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYLEFTCONTROLIS
PORT(CLK,LP,LR,BRAKE,NIGHT:
INSTD_LOGIC;
LEDL,LEDB,LEDN:
OUTSTD_LOGIC);
ENDENTITYLEFTCONTROL;
ARCHITECTUREARTOFLEFTCONTROLIS
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程序来实现,程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYRIGHTCONTROLIS
PORT(CLK,RP,LR,BRAKE,NIGHT:
INSTD_LOGIC;
LEDR,LEDB,LEDN:
OUTSTD_LOGIC);
ENDENTITYRIGHTCONTROL;
ARCHITECTUREARTOFRIGHTCONTROLIS
BEGIN
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分频模块仿真及分析
分频模块由VHDL程序实现后,其仿真图如图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.4右边灯控制模块仿真及分析
右边灯控制模块由VHDL程序实现后,其仿真图如图4.4所示。
图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。
即没有灯亮。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 尾灯 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)