《汽车尾灯控制器设计》由会员分享,可在线阅读,更多相关《汽车尾灯控制器设计(13页珍藏版)》请在金锄头文库上搜索。
1、题目:汽车尾灯控制器的设计一 、设计要求假设汽车尾部左右两侧各有3盏指示灯,其控制功能应包括:(1)汽车正常行驶时指示灯都不亮。(2)汽车右转弯时,右侧的一盏指示灯亮。(3)汽车左转弯时,左侧的一盏指示灯亮。(4)汽车刹车时,左右两侧的一盏指示灯同时亮。(5)汽车在夜间行驶时,左右两侧的一盏指示灯同时一直亮,供照明使用。并且可正常指示左转、右转及刹车。二、发挥部分在夜间行使时,照明的同时可正常指示左转、右转及刹车。论文部分:汽车尾灯控制器的设计 摘 要 本课程设计根据采用quartusII设计了简易的汽车尾灯控制器。系统由时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块四部分组成
2、。系统实现采用硬件描述语言VHDL把系统电路按模块化方式进行设计,然后进行编译、时序仿真等。本文详细地介绍了整个设计流程。关键字 quartusII;汽车尾灯控制器;控制模块; 目录1引 言.11.1 设计的目的 .11.2 设计的基本内容.12汽车尾灯控制器的设计过程.12.1系统需求分析.12.2汽车尾灯控制器的工作原理.22.3各组成模块原理及程序.22.3.1时钟分频模块.22.3.2汽车尾灯主控模块.32.3.3左边灯控制模块.52.3.4右边灯控制模块.63系统仿真.73.1分频模块仿真及分析.73.2汽车尾灯主控模块仿真及分析.83.3整个系统仿真及分析.9结束语1引 言 随着社
3、会的发展,科学技术也在不断的进步,状态机的应用越来越广泛。现代交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。在本课程设计根据状态机原理1实现了汽车尾灯常用控制。1.1 设计的目的本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术并掌握VHDL硬件描述语言的设计方法和思想。通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,设计能力,提高分析、解决实际问题的独立工作能力。1.2 设计的基本内容根据计算机中状态机原理,利用
4、VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工具对各模块进行仿真验证。汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。把各个模块整合后就形成了汽车尾灯控制器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。2 汽车尾灯控制器的设计过程2.1系统需求分析 根据现代交通规则,汽车尾灯控制器应满足以下基本要求:1.汽车正常使用是指示灯不亮2.汽车右转时,右侧的一盏灯亮3.汽车左转时,左侧的一盏灯亮4.汽车刹车时,左右两侧的指示灯同时亮5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用2.2汽车尾灯控制器
5、的工作原理汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。通过设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号zuo,汽车右转弯控制信号you,刹车信号shangche,夜间行驶信号yejian和系统的输出信号:汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。系统的整体组装设计原理所
6、示。2.3各组成模块原理及程序 汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。2.3.1时钟分频模块整个时钟分频模块的工作框图如图所示。时钟分频模块由VHDL程序来实现,下面是其中的一段VHDL代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shizhong IS PORT(CLK:IN STD_LOGIC; CP:OUT STD_LOGIC);END;ARCHITECTURE ART OF sh
7、izhong ISSIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1THEN COUNT = COUNT + 1; END IF; END PROCESS; CP= COUNT(3);END ART;2.3.2 汽车尾灯主控模块汽车尾灯主控模块工作框图如图所示。汽车尾灯主控模块由VHDL程序来实现,下面是其中的一段VHDL代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY kongzhi IS PORT (zuo,yo
8、u,shache,yejian: IN STD_LOGIC; LP,RP,LR,shache_led,yejian_led:OUT STD_LOGIC);END;ARCHITECTURE ART OF kongzhi ISBEGIN yejian_LED=yejian; shache_LEDLP=0;RP=0;LRLP=0;RP=1;LRLP=1;RP=0;LRLP=0;RP=0;LR=1; END CASE; END PROCESS;END ART;2.3.3左边灯控制模块 左边灯控制模块的工作框图如图3.4所示。左边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:LIBRAR
9、Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY zuo_led IS PORT(CLK,LP,LR,shache,yejian:IN STD_LOGIC; LEDL,LEDB,LEDN: OUT STD_LOGIC);END;ARCHITECTURE ART OF zuo_led ISBEGIN LEDB=shache; LEDN=yejian;PROCESS(CLK,LP,LR)BEGIN IF CLKEVENT AND CLK = 1 THEN IF(LR =0)THEN IF(LP = 0)THEN LEDL=0; ELSE LEDL=1; END I
10、F; ELSE LEDL =0; END IF; END IF;END PROCESS;END ART;2.3.4右边灯控制模块右边灯控制模块的工作框图如图3.5所示。右边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY you_led IS PORT(CLK,RP,LR,shangche,yejian:IN STD_LOGIC; LEDR,LEDB,LEDN: OUT STD_LOGIC);END;ARCHITECTURE ART OF you_led ISBEGIN LEDB=shangche; LEDN=yejian; PROCESS(CLK,RP,LR) BEGIN IF CLKEVENT AND CLK = 1 THEN IF(LR = 0)THEN IF(RP = 0)THEN LEDR =0; ELSE LEDR = 1; END IF; ELSE LEDR =0;