1、 电子课程设计课程设计题目:汽车车尾灯 学院: 电子信息工程系 专业、班级:通信 112201H姓名 : 沈小军 学号: 201122080112指导教师: 李东红 2013 年 12 月课程设计题目:汽车车尾灯摘要本次设计的目的就是通过实践深入理解计算机组成原理,了解 EDA 技术 2并掌握 VHDL 硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的 VHDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器 3的设计,巩固和综合运用所学知识,提高 IC 设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
2、1、设计任务与要求随着社会的发展,科学技术也在不断的进步,状态机的应用越来越广泛。现代交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。在本课程设计根据状态机原理实现了汽车尾灯常用控制。汽车尾灯控制器应满足以下基本要求:1.汽车正常使用是指示灯不亮2.汽车右转时,右侧的一盏灯亮3.汽车左转时,左侧的一盏灯亮4.汽车刹车时,左右两侧的指示灯同时亮5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用二、总体框图汽车尾灯和汽车运行状态表开关控制 右转尾灯 左转尾灯S0 S1 S2汽车运行状态 R1 R2R3 L1L2L30 0 0 正常运行 灯
3、灭 灯灭0 0 1 左转弯 灯灭 按 L1L2L3顺序循环点亮0 1 0 右转弯 按 R1R2R3顺序循环点亮灯灭0 1 1 临时刹车/检测 所有尾灯同时点亮1 0 0 倒车 所有尾灯按照转弯次序点亮1 0 1 晚上行车时 R3 ,L 3一直点亮汽车尾灯控制电路设计总体框图开关控制电路 译码电路 74138显示驱动电路记数电路 74161R1R2R3 L1L2L3脉冲产生电路 555各组成模块实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。汽车尾灯控制器有 4 个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。3.选择器件 1.装有 QuartusII
4、 软件的计算机一台。2.芯片:使用 Altera 公司生产的 Cyclone 系列芯片。3.EDA 实验箱一个。4.下载接口是数字芯片的下载接口(JTAG)主要用于 FPGA 芯片的数据下载。5.时钟源。Cyclone 的性能特性 Cyclone 器件的性能足以和业界最快的 FPGA 进行竞争。Cyclone FPGA 内部包括可配置逻辑模块 CLB(Configurable Logic Block) 、输出输入模块 IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有: 1)采用 FPGA 设计 ASIC 电路,用户不需要投
5、片生产,就能得到合用的芯片。 2)FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。 3)FPGA 内部有丰富的触发器和 IO 引脚。 4)FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。具体器件:4 个拨码开关:SW1-SW4 VGA30设置为 0001EP1C12 核心板左侧 6 个红色 LED,L1-L8 用导线分别连线到 IO9-IO14EP1C12 核心板上的一个 50MHZ 的晶振 OSC,其作为时钟应用7 条导线3、功能模块1.时钟分频模块时钟分频模块的
6、工作框图时钟分频模块由 VHDL 程序来实现,下面是其中的一段 VHDL 代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_fp ISPORT(CLK:IN STD_LOGIC;CP:OUT STD_LOGIC);END ENTITY ;ARCHITECTURE ART OF clk_fp ISSIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK)BE
7、GINIF CLKEVENT AND CLK = 1THENCOUNT LPLPLPLP=0;RP=0;LR=1;END CASE;END PROCESS;END ART;系统仿真与调试汽车尾灯主控模块由 VHDL 程序实现后,其仿真图如图所示对时序仿真图进行分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT为 1 表示右转,LEFT 为 1 表示左转,NIGHT 为 1 表示夜间行路,BRAKE 为 1 表示刹车。RP,LP,NIGHT_LED,BRAKE_LED 为输出信号。如图所示:当 RIGHT 为 1时,产生一个 RP 为 1 的信号脉冲输出,当 LEFT 为
8、 1 时,产生一个 LP 为 1 的信号脉冲输出,当 NIGHT 为 1 时,产生一个 NIGHT_LED 为 1 的信号脉冲输出。当BRAKE 为 1 时,产生一个 BRAKE_LED 为 1 的信号脉冲输出。3.左边灯控制模块 左边灯控制模块的工作框图左边灯控制模块由 VHDL 程序来实现,下面是其中的一段 VHDL 代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY leftkong ISPORT(CLK,LP, LR
9、,BRAKE,NIGHT:IN STD_LOGIC;LEDL,LEDB,LEDN:OUT STD_LOGIC);END ENTITY ;ARCHITECTURE ART OF leftkong ISBEGIN LEDB=BRAKE;LEDN=NIGHT;PROCESS(CLK,LP,LR)BEGINIF CLKEVENT AND CLK = 1 THENIF(LR =0)THENIF(LP = 0)THENLEDL=0;ELSELEDL=1;END IF;ELSELEDL =0;END IF; END IF;END PROCESS;END ART;系统仿真与调试左边灯控制模块由 VHDL 程序
10、实现后,其仿真图如下图所示对时序仿真图进行分析: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.右边灯控制模块右边灯控制模块的工作框图右边灯控制模块由 VHDL 程序
11、来实现,下面是其中的一段 VHDL 代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY rightkong ISPORT(CLK,RP, LR,BRAKE,NIGHT:IN STD_LOGIC;LEDR,LEDB,LEDN:OUT STD_LOGIC);END ENTITY ;ARCHITECTURE ART OF rightkong ISBEGIN LEDB=BRAKE;LEDN=NIGHT;PROCESS(CLK,RP,
12、LR)BEGINIF CLKEVENT AND CLK = 1 THENIF(LR = 0)THENIF(RP = 0)THENLEDR =0;ELSELEDR = 1;END IF;ELSELEDR =0;END IF;END IF;END PROCESS;END ART;系统仿真与调试右边灯控制模块由 VHDL 程序实现后,其仿真图如图所示对时序仿真图进行分析:RP,LR,NIGHT,BRAKE 为输入信号,LR 为 1 表示左转,RP 为 1 表示右转,NIGHT 为 1 表示夜间行路,BRAKE 为 1 表示刹车。LEDR,LEDB,LEDN 为输出信号,表示汽车右侧的三盏灯。如图所示
13、:当 RP 为 1 时,LEDR 输出为 1 表示右侧灯亮,当 BRAKE 为 1 时,LEDB 输出为 1 表示右侧灯亮,当 NIGHT 为 1 时,LEDN 输出为 1 表示右侧灯亮。当 LR 为 1 时,右侧三盏灯输出均为 0。即没有灯亮。 5、总体设计电路图 1.总体设计电路原理图2.详细分析当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1 亮;当汽车向左侧转弯时,汽车左侧的指示灯 LD1 亮;当汽车刹车时,汽车右侧的指示灯 RD2 和汽车左侧的指示灯 LD2 同时亮;当汽车在夜间行驶时,汽车右侧的指示灯 RD3 和汽车左侧的指示灯 LD3 同时一直亮。通过设
14、置系统的输入信号:系统时钟信号 CLK,汽车左转弯控制信号 LEFT,汽车右转弯控制信号 RIGHT,刹车信号 BRAKE,夜间行驶信号 NIGHT 和系统的输出信号:汽车左侧3 盏指示灯 LD1、LD2、LD3 和汽车右侧 3 盏指示灯 RD1、RD2、RD3 实现以上功能。3.管脚分配图SW1 PIN_105 左灯控制开关SW2 PIN_104 右灯控制开关SW3 PIN_101 刹车控制开关SW4 PIN_100 夜间行车控制开关IO9 PIN_132 左 1 灯IO10 PIN_133 右 1 灯IO11 PIN_134 左 2 灯IO12 PIN_135 左 3 灯IO13 PIN_
15、136 右 2 灯IO14 PIN_137 右 3 灯OSC PIN_153 时钟信号4.硬件验证情况第一个图为左灯亮第二个图为右灯亮第三个图为刹车灯亮总结通过两星期的紧张工作,最后完成了我的设计任务汽车尾灯控制器的设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅
16、力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用 VHDL 的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。用 VHDL 硬件描述语言的形式来进行数字系统的设计方便灵活,利用 EDA 软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。参考文献1 王爱英.计算机组成与结构.北京:清华大学出版社,2001.2, 2 黄仁欣.EDA 技术实用教程.北京:清华大学出版社,20063 曹昕燕,周凤臣,聂春燕.EDA 技术实验与课程设计.北京:清华大学出版社,2006.54 杨亦华,延明.数字电路 EDA 入门.北京:北京邮电大学出版社,20035 彭容修, 数字电子技术基础, 武汉,武汉理工大学出版社,20056 潘松 ,黄继业 EDA 技术与 VHDL,北京,清华大学出版社,2006