您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于EDA技术的汽车尾灯控制电路设计
汽车尾灯控制电路一、设计任务(一)系统功能汽车尾灯控制电路是很常用的工作电路,在日常的生活中有着很广泛的应用。汽车行驶时,会出现正常行驶、左转弯、右转弯、刹车、倒车五种情况,针对这五种情况可以设计出汽车尾灯的控制电路来表示这五种状态。根据以上所述,应用数字电子技术的知识,设计一款汽车尾灯控制系统,该系统中:1、假设汽车尾部左右两侧各有3个指示灯(用发光二极管模拟);2、汽车正常运行时指示灯全灭;3、汽车左转弯时,左侧3个指示灯按左循环顺序点亮,汽车右转弯时,右侧3个指示灯按右循环顺序点亮,临时刹车和倒车时所有指示灯同时亮。4、倒车时播放语音警告5、设置两个可控制的开关,可产生00、01、10、11四种状态开关置为00状态时,表示汽车处于正常运行状态。开关置为01状态时,表示汽车处于右转弯状态。开关置为10状态时,表示汽车处于左转弯状态。开关置为11状态时,表示汽车处于刹车状态。另设一开关表示汽车运行状态,0表示向前运行,1表示向后倒车。(二)汽车尾灯控制电路设计任务1、系统框图与原理图设计2、系统电路原理EDA设计与仿真3、系统电路的PCB印制板设计4、硬件调试(三)EDA仿真实验条件要求实验板仿真芯片用AlteraCyclone系列的1C6240-pinTQFP可编程逻辑芯片。大部分仿真用计算机软件QuartusII9.0来完成,当认为运行比较理想时,要按照后文的管脚定义,分配好管脚,编译成可下载的文件,下载到实验板上。要求能够实现主体功能,实验结果存在的问题,要在报告中分析其原因。二、实际设计(一)、系统框图与原理图设计该系统的内部控制主要由个模块构成,分别为:状态开关、控制器、倒车警告电路及二极管电路。系统原理框图如下:1、状态开关共由3个开关组成,一个开关控制汽车运行方向,其余两个开关表示汽车运行状态。2、控制器为写入程序的AlteraCyclone系列的1C6240-pinTQFPFPGA芯片,由它根据输入的开关状态控制相应的输出信号。3、尾灯发光二极管是由6个二极管分成两组构成的电路,模拟汽车尾部的左右尾灯。4、倒车报警电路是由语音芯片WTV020构成,当汽车倒车时控制器输出相应信号使该报警电路工作。(二)系统原理EDA设计与仿真1、EDA软件和硬件环境EDA软件为Modelsim和QuartusII,硬件环境为友晶公司Trex_C1开发板。状态开关控制器倒车警告电路尾灯发光二极管2、verilog编程设计本设计才用verilog语言编写了含有4个状态的状态机,四个状态分别对应正常行驶、左转、右转和紧急刹车,在左转和右转状态中利用verilog模拟移位寄存器对输出信号移位处理得到信号灯循环闪亮的效果,具体设计原理图如下:程序代码:`timescale1ns/100psmodulecarled(clk,sw_in,led_left,led_right,state);inputclk;input[1:0]sw_in;output[1:0]state;output[2:0]led_left;output[2:0]led_right;reg[2:0]led_left;reg[2:0]led_right;状态0(正常行驶)状态1(右转)状态2(左转)状态3(紧急刹车)控制开关移位寄存器移位寄存器左侧尾灯右侧尾灯reg[31:0]count;reg[31:0]temp1;reg[31:0]temp2;parameter[1:0]s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;reg[1:0]state;always@(sw_in)case(sw_in)2'b00:state=s0;2'b01:state=s1;2'b10:state=s2;2'b11:state=s3;endcasealways@(stateorclk)case(state)s0:beginled_left[2:0]=3'b0;led_right[2:0]=3'b0;temp1=0;temp2=0;ends1:beginled_left[2:0]=3'b000;//initialif(temp1==0)led_right[2:0]=3'b100;elseled_right[2:0]={led_right[0],led_right[2:1]};temp1=temp1+1;end///////////////////////////////////////////////s2:beginled_right[2:0]=3'b000;if(temp2==0)led_left[2:0]=3'b001;elseled_left[2:0]={led_left[1:0],led_left[2]};temp2=temp2+1;ends3:beginled_left[2:0]=3'b111;led_right[2:0]=3'b111;temp1=0;temp2=0;endendcaseendmoduletestbanch代码:`timescale1ns/100psmodulecarled_tb;reg[1:0]sw_in;wire[2:0]led_left;wire[2:0]led_right;wire[1:0]state;regclk;carledcarled_inst(clk,sw_in,led_left,led_right,state);initialbeginclk=1'b0;endinitialbeginforever#1clk=~clk;endinitialbeginsw_in=2'b00;#5sw_in=2'b01;#5sw_in=2'b10;#5sw_in=2'b11;#5$stop;endEndmodule3、ModelSim系统仿真:ModelSim编译结果:ModelSim波形仿真结果:仿真结果分析:sw_in[1:0]代表汽车状态控制开关,led_left[2:0]表示汽车左尾灯,led_right[2:0]表示汽车右尾灯,state表示汽车状态,clk为时钟信号。当汽车控制开关为00时,汽车处于正常运行状态,左右尾灯都是000。当控制开关sw_in[1:0]变为01时,汽车状态state变为01,汽车处于右转状态,右尾灯随时钟信号循环右移闪亮。当控制开关sw_in[1:0]变为10时,汽车状态state变为10汽车左转,左尾灯随时钟信号循环左移闪亮。当sw_in[1:0]变为11时,左右尾灯全部亮。波形仿真时选择时钟周期为1ns,汽车尾灯移位周期为1个时钟周期,实际应用时可根据时钟频率调节尾灯移位周期为多个时钟周期。4、由Verilog源代码生成RTL级电路:4、QuartusII设计验证:QuartusII编译结果:将生成的文件通过JTAG方式下载到TrexC1开发板中:开发板引脚分配:名称引脚号接口名称引脚号接口sw_in[0]Pin14KEY[0]led_left[0]Pin50LED[0]sw_in[1]Pin13KEY[1]led_left[1]Pin11LED[1]led_right[0]Pin193LED[3]led_left[2]Pin228LED[2]led_right[1]Pin170LED[4]clkPin28OSC_50led_right[2]Pin131LED[5]测试结果:当KEY[0],KEY[1]均未按下时,6个LED均不发亮,当按下KEY[0]时,LED[3:5]依次向右循环闪亮,当按下KEY[1]时,LED[0:2]依次向左循环闪亮。当同时按下KEY[0:1]时,6个LED灯同时亮。
本文标题:基于EDA技术的汽车尾灯控制电路设计
链接地址:https://www.777doc.com/doc-2569380 .html