汽车尾灯控制器的设计.EDA课程设计.doc

上传人:罗晋 文档编号:7213912 上传时间:2020-11-06 格式:DOC 页数:13 大小:487KB
返回 下载 相关 举报
汽车尾灯控制器的设计.EDA课程设计.doc_第1页
第1页 / 共13页
汽车尾灯控制器的设计.EDA课程设计.doc_第2页
第2页 / 共13页
汽车尾灯控制器的设计.EDA课程设计.doc_第3页
第3页 / 共13页
汽车尾灯控制器的设计.EDA课程设计.doc_第4页
第4页 / 共13页
汽车尾灯控制器的设计.EDA课程设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《汽车尾灯控制器的设计.EDA课程设计.doc》由会员分享,可在线阅读,更多相关《汽车尾灯控制器的设计.EDA课程设计.doc(13页珍藏版)》请在三一文库上搜索。

1、2008级学生EDA课程设计 2008级学生EDA课程设计 EDA课程设计报告书课题名称汽车尾灯控制器的设计姓 名谢亨学 号0812201-48院 系物理与电信工程系专 业电子信息工程指导教师周来秀 讲师2011年 6月10日 一、 设计任务及要求:设计一个汽车尾灯控制器,功能及要求如下:(1)汽车正常行驶时,指示灯不亮。(2)汽车右转时,右侧的指示灯亮。(3)汽车左转时,左侧的指示灯亮。(4)汽车刹车时,左右两侧的指示灯同时亮。(5)汽车在雾中行驶时,左侧的指示灯不断闪烁。(6)汽车在倒车时,右侧的指示灯不断闪烁。指导教师签名: 年 月 日 二、指导教师评语:指导教师签名: 年 月 日 三、

2、成绩验收盖章 年 月 日 汽车尾灯控制器的设计谢 亨(湖南城市学院物理与电信工程系电子信息工程专业,湖南益阳,41300)1设计目的(1)学会在Quartus环境中运用VHDL语言设计方法来构建具有一定逻辑功能的模块,并能运用原理图设计方法完成顶层设计。掌握所学的课程知识和基本单元电路的综合设计应用。(2)通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高设计能力,并掌握汽车尾灯控制在FPGA中实现的方法。2设计的主要内容和要求(1)汽车正常行驶时,指示灯不亮。(2)汽车右转时,右侧的指示灯亮。(3)汽车左转时,左侧的指示灯亮。(4)汽车刹车时,左右两侧的指示灯同时亮。(5)汽车在雾

3、中行驶时,左侧的指示灯不断闪烁。(6)汽车在倒车时,右侧的指示灯不断闪烁。3 整体设计方案汽车尾灯控制器就是一个状态机的实例。整体设计方框图如图3.1所示图3.1 整体设计方框图整个系统由4个模块组成:主控制模块,左侧控制模块,雾、倒车控制模块,右侧控制模块和显示模块。其中主控制模块主要包括转向控制、雾中行驶控制和倒车控制, CLK为时钟信号。左侧控制模块主要包括对左侧转向和刹车指示灯的控制。右侧控制模块主要包括对右侧转向和刹车指示灯的控制。雾、倒车控制模块主要包括对雾中行驶指示灯和倒车指示灯的控制。显示模块为各状态的指示灯。汽车尾灯控制器工作过程:当汽车正常行驶时所有指示灯都不亮;汽车右转弯

4、时,汽车右侧的指示灯RD1亮;汽车左转弯时,汽车左侧的指示灯LD1亮;刹车时,汽车右侧的指示灯RD2和左侧的指示灯LD2同时亮;汽车在雾中行驶时,左侧的指示灯LD3不断闪烁。汽车在倒车时,右侧的指示灯RD3不断闪烁。各个状态之间相互不影响。4硬件电路的设计根据汽车尾灯工作过程,设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车控制信号BRAKE,雾中行驶控制信号FOG,倒车控制信号BACK和系统的输出信号:汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3来实现尾灯控制器的功能。系统的整体设计原理图如图4.1所

5、示。图4.1 整体设计原理图系统的工作原理及过程:当汽车正常行驶时所有指示灯都不亮;汽车在右转弯时,右转弯控制信号RIGHT为1,此时汽车右侧的指示灯RD1亮;汽车在左转弯时,左转弯控制信号LEFT为1,此时汽车左侧的指示灯LD1亮;汽车在刹车时,刹车控制信号BRAKE为1,此时汽车右侧的指示灯RD2和左侧的指示灯LD2同时亮;汽车在雾中行驶时,雾中行驶控制信号FOG为1,此时汽车左侧的指示灯LD3不断闪烁(闪烁的频率与时钟CLK的频率相等)。汽车在倒车时,倒车控制信号BACK为1,此时汽车右侧的指示灯RD3不断闪烁(闪烁的频率与时钟CLK的频率相等)。在汽车尾灯控制器工作过程中各个状态之间无

6、影响。5 软件设计5.1 主控制模块主控制模块master如图5.1所示,LEFT为汽车左转弯控制信号LEFT,RIGHT为汽车右转弯控制信号,BRAKE为刹车控制信号,FOG为雾中行驶控制信号,BACK为倒车控制信号,上述信号均在高电平时有效。LP为左转弯输出脉冲:当LEFT为1,CLK由0往1跳变时LP输出为1。RP为右转弯输出脉冲:当RIGHT为1,CLK由0往1跳变时RP输出为1。LR为左侧控制模块和右侧控制模块的使能信号(低电平有效)当LEFT和RIGHT同时为1时,LR输出为1,此时左右两侧控制模块均不起作用。F为雾中行驶输出脉冲:当FOG为1,CLK由0往1跳变时F输出为1。B为

7、倒车输出脉冲:当BACK为1,CLK由0往1跳变时B输出为1。BRAKE_LED为刹车输出脉冲:当BRAKE为1,CLK由0往1跳变时BRAKE_LED输出为1。该模块各输入输出信号之间无影响。图5.1 主控制模块图主控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:ENTITY master IS PORT (LEFT,RIGHT,BRAKE,FOG,BACK: IN STD_LOGIC; -端口定义 LP,RP,LR,F,B,BRAKE_LED:OUT STD_LOGIC);END;ARCHITECTURE ART OF master ISBEGIN BRAKE_LED=BRAK

8、E; -将刹车控制信号BRAKE赋给刹车输出脉冲BRAKE_LED F=FOG; -将雾中行驶控制信号FOG赋给雾中行驶输出脉冲F BLP=0;RP=0;LRLP=0;RP=1;LRLP=1;RP=0;LRLP=0;RP=0;LR=1; -LR为1,转弯无效 END CASE; END PROCESS;END ART;5.2 左侧控制模块左侧控制模块L_ctrl如图5.2所示,CLK为时钟输入信号;LP为左转弯输入脉冲(高电平有效);LR为该模块使能信号(低电平有效);BRAKE为刹车输入脉冲(高电平有效);LEDL为左转弯输出信号:当LP为1,CLK由0往1跳变时LEDL输出为1;LEDB为

9、刹车输出信号:当BRAKE为1,CLK由0往1跳变时LEDB输出为1。该模块中各个输入输出信号之间无影响。图5.2 左侧控制模块图左侧控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:ENTITY L_ctrl IS PORT(CLK,LP,LR,BRAKE:IN STD_LOGIC; -端口定义 LEDL,LEDB: OUT STD_LOGIC);END;ARCHITECTURE ART OF L_ctrl ISBEGIN LEDB=BRAKE; -将刹车输入脉冲BRAKE赋给刹车输出信号LEDBPROCESS(CLK,LP,LR)BEGIN IF CLKEVENT AND CLK

10、 = 1 THEN-上升沿有效 IF(LR =0)THEN-转弯使能信号LR IF(LP = 0)THEN-左转弯输入脉冲LP为高时,左转弯输出信号LEDL输出为高 LEDL=0; ELSE LEDL=1; END IF; ELSE LEDL =0; END IF; END IF;END PROCESS;END ART;5.3 雾、倒车控制模块雾、倒车控制模块FogBack如图5.3所示,CLK为时钟输入信号;F为雾中行驶输入脉冲(高电平有效);B为倒车输入脉冲(高电平有效);LEDFOG为雾中行驶输出信号:当F为1时,LEDFOG输出为CLK信号(即高低电平,频率与时钟信号一致);LEDBA

11、CK为倒车输出信号:当B为1时,LEDBACK输出为CLK信号(即高低电平,频率与时钟信号一致)。该模块中各个输入输出信号之间无影响。图5.3 雾、倒车控制模块图雾、倒车控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:ENTITY FogBack IS PORT(CLK,F,B:IN STD_LOGIC;-端口定义 LEDFOG,LEDBACK: OUT STD_LOGIC);END;ARCHITECTURE ART OF FogBack ISBEGIN PROCESS(CLK,F,B)BEGINIF(F = 1)THEN-判断雾中行驶输入脉冲F是否为高电平LEDFOG =CLK;

12、 -若F为高,将时钟信号赋给雾中行驶输出信号LEDFOG ELSE LEDFOG=0; -若F为低,LEDFOG为低 END IF; IF (B = 1) THEN -判断倒车输入脉冲B是否为高电平LEDBACK =CLK; -若B为高,将时钟信号赋给倒车输出信号LEDBACKELSE LEDBACK=0; -若B为低,LEDBACK为低 END IF; END PROCESS;END ART;5.4 右侧控制模块右侧控制模块R_ctrl如图5.4所示,CLK为时钟输入信号;RP为右转弯输入脉冲(高电平有效);LR为该模块使能信号(低电平有效);BRAKE为刹车输入脉冲(高电平有效);LEDR

13、为右转弯输出信号:当RP为1,CLK由0往1跳变时LEDR输出为1。LEDB为刹车输出信号:当BRAKE为1,CLK由0往1跳变时LEDB输出为1。该模块中各个输入输出信号之间无影响。图5.4 右侧控制模块图右侧控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:BEGIN LEDB=BRAKE; -将刹车输入脉冲BRAKE赋给刹车输出信号LEDB PROCESS(CLK,RP,LR) BEGIN IF CLKEVENT AND CLK = 1 THEN -上升沿有效 IF(LR = 0)THEN -转弯使能信号LR IF(RP = 0)THEN-右转弯输入脉冲RP为高时,右转弯输出信

14、号LEDR输出为高 LEDR =0; ELSE LEDR = 1; END IF; ELSE LEDR =0; END IF; END IF; END PROCESS;END ART;5.5 显示模块显示模块为LED灯,左侧与右侧分别3个:LD1、LD2、LD3,RD1、RD2、RD3。LED灯均为高电平亮,其中LD1与RD1分别为左转向指示灯和右转向指示灯,LD2与RD2分别为左右两侧刹车指示灯,LD3为雾中行驶指示灯,RD3为倒车指示灯。当LED均在工作状态时,LD1、LD2、RD1、RD2亮,LD3、RD3闪烁(闪烁的频率与时钟信号一致)。6 系统仿真6.1 主控制模块仿真汽车尾灯主控制

15、模块由VHDL程序实现后,其仿真图如图6.1所示。图6.1 汽车主控模块仿真图对时序仿真图进行分析:RIGHT,LEFT,BRAKE,FOG,BACK为输入信号,RIGHT为1表示右转,LEFT为1表示左转,BRAKE为1表示刹车,FOG为1表示在雾中行驶,BACK为1表示倒车。RP,LP,B,F ,BRAKE_LED,LR为输出信号。如图所示:当RIGHT为1时,产生一个RP为1的信号脉冲输出;当LEFT为1时,产生一个LP为1的信号脉冲输出;当FOG为1时,产生一个F为1的信号脉冲输出;当BRAKE为1时,产生一个BRAKE_LED为1的信号脉冲输出;当BACK为1时,产生一个B为1的信号

16、脉冲输出;当LEFT和RIGHT同为1时产生一个LR为1的信号脉冲输出。由仿真图分析可知该模块中各个输入输出信号之间无影响。6.2左侧控制模块仿真左侧控制模块由VHDL程序实现后,其仿真图如图6.2所示。图6.2 左侧控制模块仿真图对时序仿真图进行分析:LP,LR,BRAKE为输入信号,CLK为时钟输入信号。 LP为1表示左转,LR为1表示该模块没有被使能,BRAKE为1表示刹车。LEDL,LEDB为输出信号,并与汽车左侧的两盏指示灯相连。如图所示:当LP为1时,LEDL输出为1表示左侧一盏指示灯亮,此时为左转弯;当BRAKE为1时,LEDB输出为1表示左侧一盏指示灯亮,此时为刹车。由仿真图分

17、析可知该模块中各个输入输出信号之间无影响。6.3 雾、倒车控制模块仿真雾、倒车控制模块由VHDL程序实现后,其仿真图如图6.3所示。图6.3 雾、倒车控制模块仿真图对时序仿真图进行分析:B,F为输入信号,CLK为时钟输入信号。B为1表示倒车,F为1表示在雾中行驶。LEDBACK,LEDFOG为输出信号,分别与右侧和左侧的一盏指示灯相连。如图所示:当B为1时,LEDBACK输出为CLK信号,表示右侧一盏指示灯闪烁,此时为雾中行驶;当F为1时,LEDFOG输出CLK信号,表示左侧一盏指示灯闪烁,此时为倒车。由仿真图分析可知该模块中各个输入输出信号之间无影响。6.4右侧控制模块仿真右侧控制模块由VH

18、DL程序实现后,其仿真图如图6.4所示。图6.4 右侧控制模块仿真图对时序仿真图进行分析:RP,LR,BRAKE为输入信号,CLK为时钟输入信号。 RP为1表示右转,LR为1表示该模块没有被使能,BRAKE为1表示刹车。LEDR,LEDB为输出信号,并与汽车右侧的两盏指示灯相连。如图所示:当RP为1时,LEDR输出为1表示右侧一盏指示灯亮,此时为右转弯;当BRAKE为1时,LEDB输出为1表示右侧一盏指示灯亮,此时为刹车。由仿真图分析可知该模块中各个输入输出信号之间无影响。6.5 控制器系统仿真按图4.1连接好各模块组成的尾灯控制器系统的仿真图如图6.5所示。图6.5 控制器系统仿真图对时序仿

19、真图进行分析:CLK为时钟输入信号,LEFT为汽车左转弯控制信号,RIGHT为汽车右转弯控制信号,BRAKE为刹车控制信号,FOG为雾中行驶控制信号,BACK为倒车控制信号,上述信号均在高电平时有效。LD1为左转弯输出信号:当LEFT为1,CLK由0往1跳变时LD1输出为1,此时LD1指示灯亮。RD1为右转弯输出信号:当RIGHT为1,CLK由0往1跳变时RD1输出为1,此时RD1指示灯亮。LD2和RD2为刹车输出信号:当BRAKE为1,CLK由0往1跳变时LD2和RD2输出均为1,此时LD2、RD2指示灯亮。LD3为雾中行驶输出信号:当FOG为1时,LD3输出为时钟信号(CLK),此时LD3

20、指示灯不断闪烁。RD3为倒车输出信号:当BACK为1时,RD3输出为时钟信号(CLK),此时RD3指示灯不断闪烁。通过对该系统仿真图的分析可知该系统中各输入输出信号之间无影响。7 设计总结本次课程设计使我受益匪浅,他使我更加深入的了解了硬件设计的整个流程,并且加深了我对EDA技术这门的课内容的理解,让我巩固了以前所学过的知识。通过本次课程设计,我加深了我对VHDL语言的理解,扩充了我的知识面。本次设计课不仅仅培养了我们的实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。本次课程设计给我提供了一个既动手又动脑、自学、独立实践的机会,也培养了我的耐心和毅力,设计中

21、遇到不少问题,而一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,因此本次课程设计使我积累了一定的实际操作与独立自主设计的经验,相信这些经验在我以后的学习和工作中会有很大的作用。参考文献1 江国强.EDA技术与应用M.电子工业出版社,2010:30-67.2 胡立涛.EWB电子仿真实验指导书M. 海口:南海出版公司, 2006:61-78.3 朱运利.EDA技术应用M. 北京:电子工业出版社, 2004:41-63.4 郭勇.EDA技术M. 北京:高等教育出版社, 2004:73-89.5 唐治德.数字电子技术M. 北京:科学出版社,2010:56-67. 6 何宾.Xilinx可编程逻辑器件设计技术详解M.北京:清华大学出版社,2010:15-43.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1