汽车尾灯控制器的设计_我的猪窝_新浪博客

学生姓名:        指导老师:
摘 要  本课程设计根据计算机中状态机原理,采用EDA技术设计了简易的汽车尾灯控制器。系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方式,它由时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块四部分组成。系统实现采用硬件描述语言VHDL把系统电路按模块化方式进行设计,然后进行编译、时序仿真等。本文详细地介绍了整个设计流程。
关键字  EDA;汽车尾灯控制器;时钟分频 .
引 
    随着社会的发展,科学技术也在不断的进步,状态机的应用越来越广泛。现代交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。在本课程设计根据状态机原理[1]实现了汽车尾灯常用控制。
本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术[2]并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器[3]的设计,巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
汽车尾灯控制器的设计过程
系统需求分析
  根据现代交通规则,汽车尾灯控制器应满足以下基本要求:
1.汽车正常使用是指示灯不亮
2.汽车右转时,右侧的一盏灯亮
3.汽车左转时,左侧的一盏灯亮
4.汽车刹车时,左右两侧的指示灯同时亮
5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用
汽车尾灯控制器的工作原理
汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。通过设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT和系统的输出信号:汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。系统的整体组装设计原理如图所示。
图1 系统的整体组装设计原理
各组成模块原理及程序
   汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。
时钟分频模块
整个时钟分频模块的工作框图如图2所示。
 
图2时钟分频模块工作框图
时钟分频模块由VHDL程序来实现,下面是其中的一段VHDL代码:
ARCHITECTURE ART OF SZ IS
SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
PROCESS(CLK)
     BEGIN
         IF CLK'EVENT AND CLK = '1'THEN
              COUNT <= COUNT + 1;
         END IF;
     END PROCESS;
     CP<= COUNT(3);
END ART;
 汽车尾灯主控模块
汽车尾灯主控模块工作框图如图3.3所示。
 .
                         图3 主控模块工作框图
汽车尾灯主控模块由VHDL程序来实现,下面是其中的一段VHDL代码:
ARCHITECTURE ART OF CTRL IS
BEGIN
    NIGHT_LED<=NIGHT;
    BRAKE_LED<=BAKE;
    PROCESS(LEFT,RIGHT)
            VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);
            BEGIN
            TEMP:=LEFT & RIGHT;
            CASE TEMP IS
                 WHEN "00" =>LP<='0';RP<='0';LR<='0';
                 WHEN "01" =>LP<='0';RP<='1';LR<='0';
                 WHEN "10" =>LP<='1';RP<='0';LR<='0';
                 WHEN OTHERS=>LP<='0';RP<='0';LR<='1';
            END CASE;
    END PROCESS;
END ART;
左边灯控制模块
左边灯控制模块的工作框图如图3.4所示。
 
图4左边灯控制模块的工作框图
左边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:
ARCHITECTURE ART OF LC IS
BEGIN
     LEDB<=BRAKE;
     LEDN<=NIGHT;
PROCESS(CLK,LP,LR)
BEGIN
      IF CLK'EVENT AND CLK = '1' THEN
         IF(LR ='0')THEN
            IF(LP = '0')THEN
               LEDL<='0';
            ELSE
               LEDL<='1';
            END IF;
         ELSE
            LEDL <='0';
         END IF;
      END IF;
END PROCESS;
END ART;
右边灯控制模块
右边灯控制模块的工作框图如图5所示。
 
图5 右边灯控制模块的工作框图
右边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:
ARCHITECTURE ART OF RC IS
BEGIN
     LEDB<=BRAKE;
     LEDN<=NIGHT;
     PROCESS(CLK,RP,LR)
        BEGIN
            IF CLK'EVENT AND CLK = '1' THEN
               IF(LR = '0')THEN
                   IF(RP = '0')THEN
                        LEDR <='0';
                    ELSE
                        LEDR <= '1';
                    END IF;
                ELSE
                     LEDR <='0';
                END IF;
             END IF;
     END PROCESS;
END ART;
系统仿真
分频模块仿真及分析
分频模块由VHDL程序实现后,其仿真图如图1所示。
 
图1 分频模块仿真图
对其仿真图进行仿真分析:如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。
汽车尾灯主控模块仿真及分析
汽车尾灯主控模块由VHDL程序实现后,其仿真图如图2所示。
 
 图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的信号脉冲输出。
左边灯控制模块仿真及分析
左边灯控制模块由VHDL程序实现后,其仿真图如图3所示。
 
图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。即没有灯亮。
右边灯控制模块仿真及分析
右边灯控制模块由VHDL程序实现后,其仿真图如图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。即没有灯亮。
整个系统仿真及分析
 
图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,表示左,右两侧各有一盏灯亮。
系统原理图
 结束语
    本次设计不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后学习设计工作会有一定的帮助。
参考文献
[1] 王爱英.计算机组成与结构.北京:清华大学出版社,2001.2
[2] 黄仁欣.EDA技术实用教程.北京:清华大学出版社,2006
[3]徐志军 大规模可编程逻辑器件及其应用[M].成都:电子科技大学出版
社,2000
[4]赵曙光 可编程逻辑器件原理、开发与应用[M].西安:西安电子科技大
学出版社,2000
[5]薛萍,陈海燕,裴树军 基于ISP 芯片的可编程数字频率计的设计[J].电
测与仪表,2002,(2):2123
[6]顾巨峰,周浩洋,朱建华 基于可编程逻辑器件(Lattice)的多功能数字
频率计[J] 电子工程师,2002,(1):2832

 

 

 

 

注:有要图的请留下邮箱!

郑重声明:资讯 【汽车尾灯控制器的设计_我的猪窝_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——