郑州航空工业管理学院《EDA技术及应用》课程设计报告14级通信专业专业1413071班级题目汽车尾灯控制器设计姓名学号同组人指导老师张松炜2016年6月23日汽车尾灯控制器设计设计要求(1)汽车尾部左右两侧各4盏指示灯。(2)汽车正常行驶时指示灯都不亮。(3)汽车右转弯时,右侧的一盏指示灯亮。(4)汽车左转弯时,左侧的一盏指示灯亮。(5)汽车刹车时,左右两侧的各一盏指示灯同时亮。(6)汽车在夜间行驶时,左右两侧各有两盏指示灯同时一直亮,供照明使用。系统的输入信号包括:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。系统的输入信号包括:汽车左侧4盏指示灯LLED1,LLED2,LLED3,LLED4和汽车右侧4盏指示灯RLED1,RLED2,RLED3,RLED4。当汽车正常行驶时所有的指示灯都不亮,当汽车向左转时,汽车左边的指示灯LLED1亮,当汽车向右转时,汽车右边的指示灯RLED1亮,当汽车刹车时,左右的LLED2、RLED2亮,当汽车夜间行驶时,汽车左右的LLED3、LLED4、RLED3、RLED4一直亮。其他要求:(1)晶振为12MHz(2)采用CPLD器件,为ALTERA的EPM7064SL-44一、设计方案规划:1.整体规划输入信号五个:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。输出信号八个:汽车左侧4盏指示灯LLED1,LLED2,LLED3,LLED4和汽车右侧4盏指示灯RLED1,RLED2,RLED3,RLED4。整体框图如下:2.功能划分与模块划分共分为两部分:①LED灯显示部分,②按键操作部分3.各功能细分按键1表示当汽车向左转时,汽车左边的指示灯LLED1亮,按键2表示当汽车向右转时,汽车右边的指示灯RLED1亮,按键3表示当汽车刹车时,左右的LLED2、RLED2亮,按键4表示当汽车夜间行驶时,汽车左右的LLED3、LLED4、RLED3、RLED4一直亮。二、各模块的实现方法,技术、要点1、利用VerilogHDL设计汽车尾灯控制器并使用EDA工具对各模块进行仿真验证。汽车尾灯控制器的设计通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的受控状态。实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。汽车尾灯控制器有2个模块组成,分别为:按键操作部分,LED灯显示部分。1、按一下SWO按键,LED[0]开始以1Hz的频率闪烁。再按一下该按键,LED[O]灭,模拟汽车左转行驶状态。2、按一下SW1按键,LED[4]开始以1Hz的频率闪烁,再按一下该按键,LED[4]灭,模拟汽车右转行驶状态。3、按一下SW2按键,LED[1],LED[5]亮,模拟汽车刹车时的状态。4、按一下SW3按键,LED[2],LED[3],LED[6],LED[7]亮,模拟汽车夜间行驶状态。再按一下该按键,LED[2],LED[3],LED[6],LED[7]灭。2、所需用的设备、仪器PC机、实验箱、下载电缆、电路板、EP1C6Q240C8主控芯片、EPM7064SL-44主控芯片,QUARTUSII软件。3、设计步骤(1)在QuartusⅡ中建立一个工程文件weideng.qpf,并在该项目下新建VerilogHDL源程序文件weideng.v输入程序代码并保存。(2)对该文件进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。(3)由weideng.v源文件生成模块符号,根据硬件连接关系,锁定管脚。(4)为该工程选择正确的目标器件并对相应的引脚进行锁定,未定义的管脚定义为三态输入。(5)成功编译硬件系统后,将产生的weideng.sof的FPGA配置文件输出下载到试验箱中,此时可以通过按键控制LED灯。4、电路图及芯片管脚图abfcgdedpb7com46c4d2e1f10g5dp3com29com38abfcgdedpabfcgdedpabfcgdedp1234a11com112D1LED_DSPabfcgdedpb7com46c4d2e1f10g5dp3com29com38abfcgdedpabfcgdedpabfcgdedp1234a11com112D2LED_DSPR26200R27200R28200R29200R30200R31200R32200R33200Q1NPNQ6NPNQ5NPNQ7NPNQ2NPNQ8NPNQ3NPNQ4NPNR161KR181KR171KR191KR131KR121KR141KR151KCOM0COM1COM2COM3COM4COM5COM6COM7LED_ALED_BLED_CLED_DLED_ELED_FLED_GLED_DPLED_ALED_BLED_CLED_DLED_ELED_FLED_GLED_DPD4LED_SCHD5LED_SCHD6LED_SCHD3LED_SCH13S4SW-PB13S3SW-PB13S1SW-PB13S2SW-PBR241KR231KR211KR221KR710KR1010KR810KR910KVCC5VVCC5VSW0SW1SW2SW3LED0LED1LED2LED3D7LED_SCHR251KGNDQ9NPNU2BUZZERR201KR510KR410KR310KR210KR34100KR610KVCC5VVCC5VVCC5VVCC5VRINGC60.1uFSLA=0X90SDASCLOSSDA1SCL2OS3GND4A25A16A07VCC8U3LM75A12345678910JP1HEADER5X2TDOTCKTMSTDIGND12JP2HEADER2VCC5VC710uFVCC5VVCC5VVCC5V三、模块的编写Moduleweideng(CLK,LEFT,RIGHT,BRAKE,NIGHT,LLED1,LLED2,LLED3,LLED4,RLED1,RLED2,RLED3,RLED4);R1150R110KVCC5VVCC5VVCC5VC10.1uFC20.1uFC30.1uFC40.1uFC50.1uFEN1GND2O3VCC4Y1OSCSYS_CLKInput/GCLKRn1Input/GCLK2/OE22VCC3I/O4I/O5I/O6TDI7I/O8I/O9GND10I/O11I/O12TMS13I/O14VCC15I/O16I/O17I/O18I/O19I/O20I/O21GND22VCC23I/O24I/O25I/O26I/O27I/O28I/O29GND30I/O31TCK32I/O33I/O34VCC35I/O36I/O37TDO38I/O39I/O40I/O41GND42Input/GCLK143Input/OE144U1EPM7064VCC5VVCC5VVCC5VGNDGNDGNDGNDCOM0COM1COM2COM3COM4COM5COM6COM7LED_ALED_BLED_CLED_DLED_ELED_FLED_GLED_DPVCC5VSYS_CLKSDASCLOSRINGLED0LED1LED2LED3SW0SW1SW2SW3TDITMSTCKTDOinputCLK,LEFT,RIGHT,BRAKE,NIGHT;outputLLED1,LLED2,LLED3,LLED4,RLED1,RLED2,RLED3,RLED4;wireLLED1,LLED2,LLED3,LLED4,RLED1,RLED2,RLED3,RLED4;regn;regL;regR;always@(posedgeLEFT)beginL=~L;endalways@(posedgeRIGHT)beginR=~R;endalways@(posedgeNIGHT)beginif(NIGHT)n=~n;endwireclkout;reg[31:0]Q;always@(posedgeCLK)//时钟上升沿触发beginif(Q32'd12000000)Q=Q+1'b1;elseQ=32'd0;endassignclkout=(Q32'd6000000)?1'b1:1'b0;assignLLED1=((LEFT==L)?clkout:1'b1);//左转弯assignRLED1=((RIGHT==R)?clkout:1'b1);//右转弯assignLLED2=((BRAKE==1'b0)?1'b0:1'b1);//刹车assignRLED2=((BRAKE==1'b0)?1'b0:1'b1);assignLLED3=((NIGHT==n)?1'b0:1'b1);//夜间行驶assignLLED4=((NIGHT==n)?1'b0:1'b1);assignRLED3=((NIGHT==n)?1'b0:1'b1);assignRLED4=((NIGHT==n)?1'b0:1'b1);endmodule四、仿真及调试五、优化与改进一开始按键保持不能实现,最终采用乒乓式按键状态保持法,也就是按键每按一次,有脉冲的下降沿触发寄存器的状态发生一次翻转。六、任务完成情况说明功能完成情况汽车左转弯指示灯LED0亮汽车右转弯指示灯LED4亮汽车刹车指示灯LED1,LED5亮汽车在夜间行驶指示灯LED2,LED3,LED6,LED7亮七、课程设计体会与总结通过木次课程设计,我深深的体会到课程设计的重要性和目的性。本次设计不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。程序编写是我们木次课程设计的难点,也是重点。需要仔细思考的。最初由于思路限制于从资料里得到的实例不能实现相应的功能,而束手无策,但是经过不断深入地思考,以及和同学的不断探讨,一步步考量程序和步骤的细节,从而把问题解决掉。指导老师评语: