课程设计——汽车尾灯控制器的设计_第1页
课程设计——汽车尾灯控制器的设计_第2页
课程设计——汽车尾灯控制器的设计_第3页
课程设计——汽车尾灯控制器的设计_第4页
课程设计——汽车尾灯控制器的设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。关键字:时钟信号,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 fou

3、r 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 lig

4、hts will correctly display the current state of vehicle control.Key words: The clock signal, EDA tools, the computer state machine theory目 录1. 总体设计方案12. 单元模块设计22.1 汽车尾灯控制器各组成模块22.2 汽车尾灯控制器设计22.2.1 时钟分频模块22.2.2 汽车尾灯主控模块42.2.3 左边灯控制模块52.2.4 右边灯控制模块53. 系统仿真与调试63.1 分频模块仿真及分析63.2 汽车尾灯主控模块仿真及分析83.3 左边灯控制模

5、块仿真及分析93.4 右边灯控制模块仿真及分析103.5 整个系统仿真及分析114. 设计总结135. 参考文献146. 附录15前言EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。当今社会生活

6、节奏快,交通越来越拥挤,安全问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安全问题一种好的途径。在本课程设计根据状态机原理实现了汽车尾灯常用控制。利用EDA技术进行电子系统的设计,具有以下几个特点: 用软件的方式设计硬件; 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的; 设计过程中可用有关软件进行各种仿真; 系统可现场编程,在线升级; 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通

7、过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。1. 总体设计方案图1 系统整体设计原理图系统的整体组装设计原理如图1所示,其中分为4个模块:时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块。SZ为时钟分频模块,它将CLK时钟进行分频而得到CP信号。CTRL为汽车尾灯主控模块,它的输入端口为汽车左转、右转、刹车、夜间行驶的状态信号,接收汽车行驶状态。LC和RC分别为左边灯控制模块和右边灯控制模块,与两个与

8、门相连。最后和输出端口及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、RD

9、3实现以上功能。汽车尾灯和汽车运行状态如表1所示:表1 汽车尾灯和汽车运行状态开关控制汽车运行状态右转尾灯左转尾灯LEFT RIGHT BRAKE NIGHTRD1、RD2、RD3LD1、LD2、LD30 0 0 0正常运行灯灭灯灭1 0 0 0左转弯灯灭LD1灯亮0 1 0 0右转弯RD1灯亮灯灭0 0 1 0临时刹车/检测LD2与RD2同时点亮0 0 0 1晚上行车时RD3与LD3一直点亮2.单元模块设计2.1汽车尾灯控制器各组成模块实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块,

10、以下介绍利用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栏中的信息中会出现文件的错误

11、和警告的个数及信息,双击错误条文,即弹出对应的VHDL文件错误处以便修改(如图4所示)。图4 全程编译后出现的错误信息在编译完成未出现错误时,这时对此SZ模块进行打包,生成可调用元件,以便在顶层文件中使用。选择菜单FileCreate/UpdateCreate AHDL Include Files for Current File项(如图5所示)。图5 打包底层元件这样SZ模块就建立完成。整个SZ时钟分频模块如图6所示:CLK CPSZ 图6 时钟分频模块工作框图时钟分频模块由VHDL程序(见附录)来实现,CLK为输入端口受系统时钟信号的控制,CP为输出端口由输入端口控制其电平。当CP为高电平

12、且左边灯控制模块LEDL端口电平为高时,左边灯状态才能为亮,同理右边灯的状态是端口CP与LEDR的电平同时为高时才亮。2.2.2 汽车尾灯主控模块参照2.2.1的钟分频模块的设计流程,对CTRL汽车尾灯主控模块进行设计,汽车尾灯主控模块工作框图,如图7所示:LEFT LPRIGHT RPBRAKE LRNIGHT BRAKE_LED NIGHT_LEDCTRL 图7 主控模块工作框图汽车尾灯主控模块是汽车尾灯的核心模块(VHDL程序见附录),其中LEFT、RIGHT、BRAKE、NIGHT为输入端口,LP、RP、LR、BRAKE_LED、NIGHT_LED是输出端口。当按下刹车按钮时BRAKE

13、的高电平赋值给BRAKE_LED,由此再控制左右两个模块的尾灯亮灭状态。当操作人员在夜间行驶时可按下NIGHT按钮,同理NIGHT输入口将高电平赋值给NIGHT_LED,由NIGHT_LED输出口再控制左右两模块的夜灯亮灭情况。2.2.3 左边灯控制模块参照2.2.1的钟分频模块的设计流程,对LC左边灯控制模块进行设计。左边灯控制模块的工作框图如图8所示:CLK LP LEDLLR LEDBBRAKE LEDNNIGHT LC图8 左边灯控制模块的工作框图左边灯控制模块(VHDL程序见附录),输入端口为CLK、LP、LR、BRAKE、NIGHT如上图所示,LEDL、LEDB、LEDN为输出端口

14、,CLK端口由时钟信号控制,BRAKE与NIGHT端口都由主控模块控制(已在上述主模块中介绍),当LR为低电平同时LP为高电平时,LEDL端口为高电平,此时若时钟频率输出端口CP的电平为高则灯亮(在时钟频率模块中已介绍)。2.2.4 右边灯控制模块 参照2.2.1的钟分频模块的设计流程,对RC左边灯控制模块进行设计。右边灯控制模块的工作框图如图9所示:CLK RP LEDRLR LEDBBRRAKE LEDNNIGHT RC图9 右边灯控制模块的工作框图右边灯控制模块(VHDL程序见附录),输入端口为CLK、RP、LR、BRAKE、NIGHT与左边灯控制模块类似,LEDL、LEDB、LEDN为

15、输出端口,CLK端口由时钟信号控制,BRAKE与NIGHT端口都由主控模块控制(已在上述主模块中介绍),当LR为低电平同时RP为高电平时,输出端口LEDR为高电平。3.系统仿真与调试3.1分频模块仿真及分析对工程编译通过后,必须对其功能和时序性质进行仿真测试,测试设计是否满足要求。SZ文件的仿真流程如下。打开波形编译器,选择菜单File中的New项,在New窗口中选择Other Files中的Vector Waveform File,单击OK按钮,即出现空白的波形编辑器(如图10所示)。图10 选择编辑矢量波形文件及波形编辑器设置仿真时间区域,这里设置的时间范围在数十微妙间。在Edit菜单中选

16、择End Time项,在弹出的窗口中的Time栏处输入50,单位选为“us”,整个仿真域的时间即设定为50us,单击OK完成设置(如图11所示)。图11 设置仿真时间长度将工程SZ的端口信号名选入波形编辑器中,选择View菜单中Utility Windows项的Node Finder选项。弹出端口选择对话框,在Filter框中选Pins:all,然后单击List按钮,于是在下方的Nodes Found窗口中出现设计中的SZ工程的所有端口引脚名,点击“”全部加载(如图12所示)。图12 向波形编辑器拖入信号节点编辑输入时钟激励信号CLK,单击时钟信号名CLK,使之变成蓝色条,再单击左列的时钟设置

17、键,在Clock窗口中设置CLK的时钟周期为50ns,占空比默认50。然后编译(如图13所示)。图13 设置时钟CLK的周期在仿真文件编译无错误的情况下,运行仿真文件,得到仿真波形(如图14所示)。图14 分频模块仿真图对其仿真图进行仿真分析,如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。3.2汽车尾灯主控模块仿真及分析参照3.1中SZ文件的仿真流程对CTRL汽车尾灯主控模块进行仿真,在将端口信号选入编辑器后,对RIGHT、NIGHT、LEFT、BRAKE信号进行设置。点选个别信号设置区域选择高电平,如图15对RIGHT、NI

18、GHT、LEFT、BRAKE信号进行设置。设置完成后对仿真文件进行编译。图15 对RIGHT、NIGHT、LEFT、BRAKE信号进行设置在仿真文件编译无错误的情况下,运行仿真文件,得到仿真波形(如图16所示)。图16 主控模块时序仿真图对时序仿真图进行分析,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的信号脉冲输出,当NIG

19、HT为1时,产生一个NIGHT_LED为1的信号脉冲输出。当BRAKE为1时,产生一个BRAKE_LED为1的信号脉冲输出。3.3左边灯控制模块仿真及分析参照3.1中SZ文件的仿真流程对LC汽车尾灯主控模块进行仿真,在将端口信号选入编辑器后,对CLK周期进行设置。对LP、NIGHT、LR、BRAKE信号进行设置。点选个别信号设置区域选择高电平,如图17对LP、NIGHT、LR、BRAKE信号进行设置。图17 对LP、NIGHT、LR、BRAKE信号进行设置在仿真文件编译无错误的情况下,运行仿真文件,得到仿真波形(如图18所示)。图18左边灯控制模块时序仿真图对时序仿真图进行分析,LP、LR、N

20、IGHT、BRAKE 为输入信号,LP为1表示左转,LR为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。LEDL、LEDB、LEDN为输出信号,表示汽车左侧的三盏灯。如图上所示,当LP为1时,LEDL输出为1表示左侧灯LD1亮;当BRAKE为1时,LEDB输出为1表示左侧灯LD2亮;当NIGHT为1时,LEDN输出为1表示左侧灯LD3亮;当LR为1时,左侧三盏灯输出均为0,即没有灯亮。3.4 右边灯控制模块仿真及分析 参照3.1中SZ文件的仿真流程对RC汽车尾灯主控模块进行仿真,在将端口信号选入编辑器后,对CLK周期进行设置。对RP、NIGHT、LR、BRAKE信号进行设置。

21、点选个别信号设置区域选择高电平,如图19对RP、NIGHT、LR、BRAKE信号进行设置。图19 对RP、NIGHT、LR、BRAKE信号进行设置在仿真文件编译无错误的情况下,运行仿真文件,得到仿真波形(如图20所示)。图20 右边灯控制模块时序仿真图对时序仿真图进行分析,RP、LR、NIGHT、BRAKE 为输入信号,LR为1表示左转,RP为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。LEDR、LEDB、LEDN为输出信号,表示汽车右侧的三盏灯。如图所示:当RP为1时,LEDR输出为1表示右侧灯RD1亮;当BRAKE为1时,LEDB输出为1表示右侧灯RD2亮;当NIGHT

22、为1时,LEDN输出为1表示右侧灯RD3亮;当LR为1时,右侧三盏灯输出均为0,即没有灯亮。3.5 整个系统仿真及分析按图1系统整体设计原理图将SZ、CTRL、LC、RC底层元件在顶层连接。选菜单File中New,在New窗口中的Device Design Files中选择Block Diagram/Schematic File,按OK按钮后将打开原理图编辑窗口(如图21所示)。图21 原理图编辑窗口在编辑窗口任何一个人之双击这弹出元件选择界面,点击在Name下方“.”在你的工程盘符中找到SZ、CTRL、LC、RC底层元件点击OK即将底层元件拉出,分别把SZ、CTRL、LC、RC原件拉出后再在

23、Name中输入“AND2”、“INPUT”、“OUTPUT”拉出与门2个、输入端口5个、输出端口6个(如图22所示)。图22 顶层原件的使用然后将个原件用端口连接(参照图1),完成后保持、编译。编译无错误后参照3.1中SZ文件的仿真流程对RC汽车尾灯主控模块进行仿真,在将端口信号选入编辑器后,对CLK周期进行设置。对RIGHT、NIGHT、LEFT、BRAKE信号进行设置。点选个别信号设置区域选择高电平如图23对RIGHT、NIGHT、LEFT、BRAKE信号进行设置。图23 对RIGHT、NIGHT、LEFT、BRAKE信号进行设置在仿真文件编译无错误的情况下,运行仿真文件,得到仿真波形(如

24、图24所示)。图24 整个系统仿真图对时序仿真图进行分析,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,表示左、右两侧各有一盏灯亮。根据整个系统仿真波形

25、看出本设计符合设计目的和要求,系统设计成功。4.设计总结通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让我们学以致用。在设计中不仅要求我要有耐心,还要细心,稍有不慎,一个小小的错误就可能会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,我们积累了一定的经验,对以后从事集成电

26、路设计工作会有一定的帮助。5.参考文献1 王爱英.计算机组成与结构 M .北京:清华大学出版社,20012 黄仁欣.EDA技术实用教程 M .北京:清华大学出版社,20063 曹昕燕,周凤臣,聂春燕.EDA技术实验与课程设计 M .北京:清华大学出版社,20064 杨亦华,延明.数字电路EDA入门 M .北京:北京邮电大学出版社,20035 彭容修.数字电子技术基础 M .武汉:武汉理工大学出版社,20056 潘松 ,黄继业.EDA技术与VHDL M .北京:清华大学出版社,20076.附录各个模块的源程序代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

27、USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SZ ISPORT(CLK: IN STD_LOGIC; CP: OUT STD_LOGIC);END;ARCHITECTURE ART OF SZ ISSIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK) BEGIN IF CLK'EVENT AND CLK = '1'THEN COUNT <= COUNT + 1; END IF; END PROCESS; CP<= COUNT(3); END ART;LIBRA

28、RY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CTRL ISPORT(LEFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC; LP,RP,LR,BRAKE_LED,NIGHT_LED: OUT STD_LOGIC);END;ARCHITECTURE ART OF CTRL ISBEGIN NIGHT_LED<=NIGHT; BRAKE_LED<=BRAKE; 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' W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论