当前位置:文档之家› 课程设计——汽车尾灯控制器的设计1

课程设计——汽车尾灯控制器的设计1

成绩:分××××系课程设计报告书课程设计名称电子产品综合设计题目汽车尾灯控制器的设计学生姓名专业班级指导教师日期:2010年7月5日摘要:本设计根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工具对各模块进行仿真验证。

汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块。

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

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

关键字:时钟信号,EDA工具,状态机Abstract: This design is according to the computer state machine theory, using VHDL taillight design the various parts of the controller and use the EDA tools for simulation of each module.Car taillight controller design is divided into four modules: the clock frequency module, the taillight major control module, left lamp control module and right lamp control module.Each module after the formation of a car taillight integrated controller.Through the input system clock signal and the signal related to vehicle control, vehicle tail lights will correctly display the current state of vehicle control.Key words: The clock signal, EDA tools, the computer state machine theory目录1. 总体设计方案 (1)2. 单元模块设计 (2)2.1 汽车尾灯控制器各组成模块 (2)2.2 汽车尾灯控制器设计 (2)2.2.1 时钟分频模块 (2)2.2.2 汽车尾灯主控模块 (4)2.2.3 左边灯控制模块 (5)2.2.4 右边灯控制模块 (5)3.系统仿真与调试 (6)3.1 分频模块仿真及分析 (6)3.2 汽车尾灯主控模块仿真及分析 (8)3.3 左边灯控制模块仿真及分析 (9)3.4 右边灯控制模块仿真及分析 (10)3.5 整个系统仿真及分析 (11)4. 设计总结 (13)5. 参考文献 (14)6. 附录 (15)前言EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

当今社会生活节奏快,交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。

在本课程设计根据状态机原理实现了汽车尾灯常用控制。

利用EDA技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。

因此,EDA技术是现代电子设计的发展趋势。

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

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

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

1.总体设计方案图1 系统整体设计原理图系统的整体组装设计原理如图1所示,其中分为4个模块:时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块。

SZ为时钟分频模块,它将CLK时钟进行分频而得到CP信号。

CTRL为汽车尾灯主控模块,它的输入端口为汽车左转、右转、刹车、夜间行驶的状态信号,接收汽车行驶状态。

LC和RC分别为左边灯控制模块和右边灯控制模块,与两个与门相连。

最后和输出端口及LED灯(LD1、LD2、LD3、RD1、RD2、RD3)相连。

当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。

通过设置系统的输入信号、系统时钟信号CLK、汽车左转弯控制信号LEFT、汽车右转弯控制信号RIGHT、刹车信号BRAKE、夜间行驶信号NIGHT和系统的输出信号,汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。

汽车尾灯和汽车运行状态如表1所示:表1 汽车尾灯和汽车运行状态2.单元模块设计2.1汽车尾灯控制器各组成模块实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。

汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块,以下介绍利用Quartus II软件对各个模块的详细设计。

2.2汽车尾灯控制器设计2.2.1 时钟分频模块首先建立自己的工程目录,然后利用Quartus II软件中的New Project Wizard 工具选项创建模块的设计工程(如图2所示)。

图2 利用New Project Wizard创建工程SZ然后在NEW窗口中的Device Design Files中选择VHDL Files。

在VHDL文本编译窗口中输入SZ模块VHDL程序(如图3所示)。

图3 选择编辑文件语言类型,输入源程序在源程序输入完成后,启动全程编译,编译过程中工程管理窗口下方的Processing栏中的信息中会出现文件的错误和警告的个数及信息,双击错误条文,即弹出对应的VHDL文件错误处以便修改(如图4所示)。

图4 全程编译后出现的错误信息在编译完成未出现错误时,这时对此SZ模块进行打包,生成可调用元件,以便在顶层文件中使用。

选择菜单File→Create/Update→Create AHDL Include Files for Current File项(如图5所示)。

图5 打包底层元件这样SZ模块就建立完成。

整个SZ时钟分频模块如图6所示:CLK CP图6 时钟分频模块工作框图时钟分频模块由VHDL程序(见附录)来实现,CLK为输入端口受系统时钟信号的控制,CP为输出端口由输入端口控制其电平。

当CP为高电平且左边灯控制模块LEDL端口电平为高时,左边灯状态才能为亮,同理右边灯的状态是端口CP与LEDR的电平同时为高时才亮。

2.2.2 汽车尾灯主控模块参照2.2.1的钟分频模块的设计流程,对CTRL汽车尾灯主控模块进行设计,汽车尾灯主控模块工作框图,如图7所示:图7 主控模块工作框图汽车尾灯主控模块是汽车尾灯的核心模块(VHDL程序见附录),其中LEFT、RIGHT、BRAKE、NIGHT为输入端口,LP、RP、LR、BRAKE_LED、NIGHT_LED是输出端口。

当按下刹车按钮时BRAKE的高电平赋值给BRAKE_LED,由此再控制左右两个模块的尾灯亮灭状态。

当操作人员在夜间行驶时可按下NIGHT按钮,同理NIGHT输入口将高电平赋值给NIGHT_LED,由NIGHT_LED输出口再控制左右两模块的夜灯亮灭情况。

2.2.3 左边灯控制模块参照2.2.1的钟分频模块的设计流程,对LC左边灯控制模块进行设计。

左边灯控制模块的工作框图如图8所示:图8 左边灯控制模块的工作框图左边灯控制模块(VHDL程序见附录),输入端口为CLK、LP、LR、BRAKE、NIGHT如上图所示,LEDL、LEDB、LEDN为输出端口,CLK端口由时钟信号控制,BRAKE与NIGHT 端口都由主控模块控制(已在上述主模块中介绍),当LR为低电平同时LP为高电平时,LEDL端口为高电平,此时若时钟频率输出端口CP的电平为高则灯亮(在时钟频率模块中已介绍)。

2.2.4右边灯控制模块参照2.2.1的钟分频模块的设计流程,对RC左边灯控制模块进行设计。

右边灯控制模块的工作框图如图9所示:图9 右边灯控制模块的工作框图右边灯控制模块(VHDL程序见附录),输入端口为CLK、RP、LR、BRAKE、NIGHT与左边灯控制模块类似,LEDL、LEDB、LEDN为输出端口,CLK端口由时钟信号控制,BRAKE 与NIGHT端口都由主控模块控制(已在上述主模块中介绍),当LR为低电平同时RP为高电平时,输出端口LEDR为高电平。

3.系统仿真与调试3.1分频模块仿真及分析对工程编译通过后,必须对其功能和时序性质进行仿真测试,测试设计是否满足要求。

SZ文件的仿真流程如下。

打开波形编译器,选择菜单File中的New项,在New窗口中选择Other Files中的Vector Waveform File,单击OK按钮,即出现空白的波形编辑器(如图10所示)。

图10 选择编辑矢量波形文件及波形编辑器设置仿真时间区域,这里设置的时间范围在数十微妙间。

在Edit菜单中选择End Time项,在弹出的窗口中的Time栏处输入50,单位选为“us”,整个仿真域的时间即设定为50us,单击OK完成设置(如图11所示)。

图11 设置仿真时间长度将工程SZ的端口信号名选入波形编辑器中,选择View菜单中Utility Windows项的Node Finder选项。

弹出端口选择对话框,在Filter框中选Pins:all,然后单击List 按钮,于是在下方的Nodes Found窗口中出现设计中的SZ工程的所有端口引脚名,点击“>”全部加载(如图12所示)。

相关主题