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

下载本文档

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

文档简介

1、可编程器件课程设计报告课题: 汽车尾灯控制器设计 班级 学号 学生姓名 专业 系别 指导老师 淮阴工学院电子与电气工程学院2014年11月一、设计目的可编程器件课程设计是时一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生通过综合的系统设计,熟悉应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。通过课程设计,应能加强学生如下能力的培养:(1) 独立工作能力和创造力;(2) 综合运用专业知识及基础知识,解决

2、实际工程技术问题的能力;(3) 查阅图书资料、产品手册和各种工具书的能力;(4) 工程绘图的能力;(5) 编写技术报告和编制技术资料的能力。二、设计要求假设汽车尾部左右两侧各有3盏知识灯,其控制功能包括:(1) 汽车正常行驶是指示灯都不亮。(2) 汽车右转弯时,右侧的一盏指示灯RD1交替闪烁,周期为2秒,其余灯熄灭。(3) 汽车左转弯时,左侧的一盏指示灯LD1交替闪烁,周期为2秒,其余灯熄灭。(4) 汽车刹车时,左右两侧的一盏指示灯LD2,RD2同时亮。(5) 汽车夜间行驶时,左右两侧的一盏指示灯LD3,RD3同时一直亮,供照明使用。三、设计的具体实现1、汽车尾灯控制器的工作原理汽车尾灯控制器

3、就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night系统的输出信号:汽车左侧3盏指示灯LD1,LD2,LD3和汽车右侧3盏指示灯RD1,RD2,RD3实现以上功能。系统的整体组装设计原理如图所示:汽车行驶信号主控模块

4、左灯控制模块右灯控制模块显示时钟系统设计整体框图 汽车尾灯点亮与汽车运行状态之间的关系运行状态左侧尾灯LD1,LD2,LD3右侧尾灯RD1,RD2,RD3正常运行灯灭右转弯灯灭RD1交替闪烁左转弯LD1交替闪烁灯灭刹车LD2亮RD2亮夜间行车LD3亮RD3亮2、单元模块设计与分析(1)、汽车尾灯主控模块数据入口:RIGHT:右转信号;LEFT:左转信号;BRAKE:刹车信号;NIGHT:夜间行驶信号;数据入口: LP:左侧灯控制信号;RP:右侧灯控制信号;LR:错误控制信号;BRAKE_LED:刹车控制信号;NIGHT_LED:夜间行驶控制信号;VHDL程序(CTRL.VHD):LIBRARY

5、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CTRL IS PORT(LEFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC; LP,RP,LR,BRAKE_LED,NIGHT_LED: OUT STD_LOGIC);END ENTITY CTRL;ARCHITECTURE ART OF CTRL IS BEGIN NIGHT_LED<=NIGHT; BRAKE_LED<=BRAKE; PROCESS(LEFT,RIGHT) VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN T

6、EMP:=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'

7、 -当汽车左拐时,左指示灯亮 WHEN OTHERS=>LP<='0'RP<='0'LR<='1' -当汽车刹车时,左右灯都亮 END CASE; END PROCESS;END ARCHITECTURE ART;仿真波形:功能:该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入LEFT和RIGHT信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。(2)、左边灯控制模块 数据入口: CL

8、K:时钟控制信号;LP:左侧灯控制信号;LR:错误控制信号;BRAKE:刹车控制信号;NIGHT:夜间行驶控制信号;数据出口:LEDL:左侧LD1灯控制信号;LEDB:左侧LD2灯控制信号;LEDN:左侧LD3灯控制信号;VHDL程序(LC.VHD):LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LC IS PORT(CLK,LP,LR,BRAKE,NIGHT: IN STD_LOGIC; LEDL,LEDB,LEDN: OUT STD_LOGIC);END ENTITY LC;ARCHITECTURE ART OF LC IS BEGIN L

9、EDB<=BRAKE; LEDN<=NIGHT; PROCESS(CLK,LP,LR)BEGIN IF CLK'EVENT AND CLK='1' THEN -时钟上升沿有效 IF(LR='0') THEN -没有刹车信号时 IF(LP='0')THEN -没有左拐信号时LEDL<='0' -左信号灯不亮ELSE -相反情况LEDL<='1' END IF; ELSE LEDL<='0' END IF; END IF; END PROCESS;END ARCHI

10、TECTURE ART;仿真波形:功能:本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。当错误控制信号出现时,LD1灯不亮。(3)、右边灯控制模块数据入口: CLK:时钟控制信号;RP:右侧灯控制信号;LR:错误控制信号;BRAKE:刹车控制信号;NIGHT:夜间行驶控制信号;数据出口:LEDR:右侧RD1灯控制信号;LEDB:右侧RD2灯控制信号;LEDN:右侧RD3灯控制信号;VHDL程序(RC.VHD):LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY

11、RC IS PORT(CLK,RP,LR,BRAKE,NIGHT: IN STD_LOGIC; LEDR,LEDB,LEDN: OUT STD_LOGIC);END ENTITY RC;ARCHITECTURE ART OF RC IS BEGIN LEDB<=BRAKE; LEDN<=NIGHT; PROCESS(CLK,RP,LR) BEGIN IF CLK'EVENT AND CLK='1' THEN -检测时钟上升沿 IF(LR='0') THEN IF(RP='0') THEN LEDR<='0'

12、; ELSE LEDR<='1' END IF; ELSE LEDR<='0' END IF; END IF; END PROCESS;END ARCHITECTURE ART;仿真波形:功能: 本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁。当错误控制信号出现时,RD1灯不亮。(4)、时钟分频模块VHDL程序(SZ.VHD):LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED

13、.ALL;ENTITY SZ IS PORT(CLK: IN STD_LOGIC; -时钟输入 CP: OUT STD_LOGIC);END ENTITY SZ;ARCHITECTURE ART OF SZ IS SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0); -定义八位标准逻辑位矢量数据类型 BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN -检测时钟上升沿 COUNT<=COUNT+1; END IF; END PROCESS; CP<=COUNT(3);

14、-输出第五位END ARCHITECTURE ART;仿真波形:功能: 这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号, CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。 再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。 (5) 、顶层文件VHDL程序(tn.VHD):Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_lo

15、gic_unsigned.all;Entity tn is Port(clk:in std_logic;Left:in std_logic;Right:in std_logic;Brake:in std_logic;Night:in std_logic;Ld1,ld2,ld3:out std_logic;Rd1,rd2,rd3:out std_logic);End;Architecture bh of tn is Component sz isPort(clk:in std_logic;Cp:out std_logic); End component; Component ctrl isPor

16、t(left,right,brake,night:in std_logic;Lp,rp,lr,brake_led,night_led:out std_logic); End component; Component lc isPort(clk,lp,lr,brake,night:in std_logic;Ledl,ledb,ledn:out std_logic); End component; Component rc isPort(clk,rp,lr,brake,night:in std_logic;Ledr,ledb,ledn:out std_logic); End component;S

17、ignal tmp0,tmp1,tmp2,tmp3,tmp4:std_logic;Signal err0,err1,err2,err3,err4,err5:std_logic;signal bm:std_logic;BeginU1:sz port map(clk,bm);U2:ctrl port map(left,right,brake,night,tmp0,tmp1,tmp2,tmp3,tmp4);U3:lc port map(clk,tmp0,tmp2,tmp3,tmp4,err0,err1,err2);U4:rc port map(clk,tmp1,tmp2,tmp3,tmp4,err3

18、,err4,err5);Ld1<=err0 and bm;Ld2<=err1;Ld3<=err2;Rd1<=err3 and bm;Rd2<=err4;Rd3<=err5;End;仿真波形:四、原理图5、 管脚分配CLKN1BRAKEAE14NIGHTAF14LEFTAD13RIGHTAC13LD1H17LD2E20LD3D21RD1AE5RD2AA6RD3AF5六、心得体会 本设计基于完成汽车尾灯控制电路,在确立总体预期实现功能的前提下,分层次进行描述, 满足设计要求。在Quartus II环境下,用语言实现该电路,根据Verilog HDL的语法规则,对系统的逻辑行为进行描述, 然后通过综合工具进行电路结构的综合、编译、优化,利用波形仿真工具,可在短时间内设计出高效、稳定、符合设计要求的电路。这种利用FPGA设计的汽车尾灯电路,具有较强的灵活性,具备系统可编程能力,便于扩展,而且使用一块核心芯片就可以完成多项功能。本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活

温馨提示

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

评论

0/150

提交评论