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

下载本文档

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

文档简介

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<=

8、BRAKE; -将刹车控制信号BRAKE赋给刹车输出脉冲BRAKE_LED F<=FOG; -将雾中行驶控制信号FOG赋给雾中行驶输出脉冲F B<=BACK;-将倒车控制信号BACK赋给倒车输出脉冲B 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 &

9、quot;01" =>LP<='0'RP<='1'LR<='0' -RP为1,右转弯输出脉冲 WHEN "10" =>LP<='1'RP<='0'LR<='0' -LP为1,左转弯输出脉冲 WHEN OTHERS=>LP<='0'RP<='0'LR<='1' -LR为1,转弯无效 END CASE; END PROCESS;END ART;5.2 左侧

10、控制模块左侧控制模块L_ctrl如图5.2所示,CLK为时钟输入信号;LP为左转弯输入脉冲(高电平有效);LR为该模块使能信号(低电平有效);BRAKE为刹车输入脉冲(高电平有效);LEDL为左转弯输出信号:当LP为1,CLK由0往1跳变时LEDL输出为1;LEDB为刹车输出信号:当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:

11、OUT STD_LOGIC);END;ARCHITECTURE ART OF L_ctrl ISBEGIN LEDB<=BRAKE; -将刹车输入脉冲BRAKE赋给刹车输出信号LEDBPROCESS(CLK,LP,LR)BEGIN IF CLK'EVENT AND CLK = '1' THEN-上升沿有效 IF(LR ='0')THEN-转弯使能信号LR IF(LP = '0')THEN-左转弯输入脉冲LP为高时,左转弯输出信号LEDL输出为高 LEDL<='0' ELSE LEDL<='1

12、9; 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信号(即高低电平,频率与时钟信号一致);LEDBACK为倒车输出信号:当B为1时,LEDBACK输出为CLK信号(即高低电平,频率与时钟信号一致)。该模块中各个输入输出信号之间无影响。图5.3 雾、倒车控制模块图雾、倒车控制模

13、块由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; -若F为高,将时钟信号赋给雾中行驶输出信号LEDFOG ELSE LEDFOG<='0' -若F为低,LEDFOG为低 EN

14、D 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为右转弯输出信号:当RP为1,CLK由0往1跳变时LEDR输出为1。

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

16、转弯输出信号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、

17、RD3闪烁(闪烁的频率与时钟信号一致)。6 系统仿真6.1 主控制模块仿真汽车尾灯主控制模块由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

18、时,产生一个BRAKE_LED为1的信号脉冲输出;当BACK为1时,产生一个B为1的信号脉冲输出;当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表示左侧一盏指示灯亮,此时为

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

20、真图分析可知该模块中各个输入输出信号之间无影响。6.4右侧控制模块仿真右侧控制模块由VHDL程序实现后,其仿真图如图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 控制器系统仿真图对时序仿真图进行分析: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

温馨提示

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

最新文档

评论

0/150

提交评论