1、RD1,RD2,RD3。任务要求根据设计题目要求编写相应程序代码对编写的VHDL程序代码进行编译和仿真条件允许,完成硬件验证总结设计内容,完成课程设计说明书参考文献1 焦素敏.EDA课程设计指导书.郑州:河南工业大学,20082 焦素敏.EDA应用技术,清华大学出版社,20073 曹昕燕,周凤成等,EDA技术实验与课程设计,清华大学出版社,20064 卢杰,赖毅.VHDL与数字电路设计.北京:科学出版社,2001社,2006审查意见指导教师签字:教研室主任签字: 2014年 6月 16日说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页引言随着集成电路和计算机技
2、术的飞速发展,EDA技术应运而生,它是一种高级、快速、有效的电子设计自动化技术。EDA将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。运用EDA技术可以方便、快捷设计电路系统。 本文基于EDA系统,在MAX+plusII软件平台上,完成了汽车尾灯电路的设计。采用VHDL硬件描述语言描述汽车尾灯电路,完成对电路的功能仿真。在设计过程中,重点探讨了汽车尾灯电路的设计思路和功能模块划分,通过分析仿真波形表明设计的汽车尾灯电路完成了预期的功能。1 设计任务及要求1.1设计内容根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工
3、具对各模块进行仿真验证。汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。把各个模块整合后就形成了汽车尾灯控制器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。1.2设计要求(1)汽车尾部左右两侧各有多盏指示灯。(2)汽车正常行驶时指示灯都不亮。(3)汽车右转弯时,右侧的一盏指示灯亮。(4)汽车左转弯时,左侧的一盏指示灯亮。(5)汽车刹车时,左右两侧的一盏指示灯同时亮。(6)汽车在夜间行驶时,左右两侧有指示灯同时一直亮,供照明使用。2设计原理及总体框图汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯
4、都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮;当于大雾天行驶时右侧指示灯ldfoggy1和左侧指示灯ldfoggy2同时亮。通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night,雾灯信号foggy和系统的输出信号:汽车左侧4盏指示灯ldleft,dbrak
5、e1,dnight1,dfoggy1和汽车右侧4盏指示灯ldright,ldbrake2,ldnight2,ldfoggy2实现以上功能。系统的整体组装设计原理如图所示:系统设计整体框图 3 程序设计根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方案,它是由时钟分频模块、汽车尾灯主控模块、左边灯控制模块、右边灯控制模块四部分组成。系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。汽车左侧4 盏指示灯LLED1,LLED2,LLED3,LLED4和汽车右侧4 盏指示灯RLED1,RLED2,RLED
6、3,RLED4。当汽车正常行驶时所有的指示灯都不亮,当汽车向左转时,汽车左边的指示灯LLED1亮,当汽车向右转时,汽车右边的指示灯RLED1亮,当汽车刹车时,左右的LLED2、RLED2亮,当汽车夜间行驶时,汽车左右的LLED3、LLED4、RLED3 、RLED4一直亮。3.1各组成模块原理及程序3.1.1汽车尾灯主控模块VHDL程序(CTRL.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CTRL IS PORT(LEFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC; LP,RP,LR,BRAKE_LED,NIG
7、HT_LED: OUT STD_LOGIC);END ENTITY CTRL;ARCHITECTURE ART OF CTRL IS BEGIN NIGHT_LED=NIGHT; BRAKE_LEDLP=0;RPLR -当汽车刹车时,左右灯都亮 END CASE; END PROCESS;END ARCHITECTURE ART;功能:该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入LEFT和RIGHT信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。3.
8、1.2左边灯控制模块VHDL程序(LC.VHD)ENTITY LC IS PORT(CLK,LP,LR,BRAKE,NIGHT: LEDL,LEDB,LEDN:END ENTITY LC;ARCHITECTURE ART OF LC IS LEDB LEDN PROCESS(CLK,LP,LR)BEGIN IF CLKEVENT AND CLK= THEN -时钟上升沿有效 IF(LR=) THEN -没有刹车信号时 IF(LP=)THEN -没有左拐信号时 LEDL -左信号灯不亮ELSE -相反情况 END IF; ELSE LEDL本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号
9、和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。当错误控制信号出现时,LD1灯不亮。3.1.3右边灯控制模块VHDL程序(RC.VHD)ENTITY RC IS PORT(CLK,RP,LR,BRAKE,NIGHT: LEDR,LEDB,LEDN:END ENTITY RC;ARCHITECTURE ART OF RC IS PROCESS(CLK,RP,LR) THEN -检测时钟上升沿) THEN IF(RP= LEDR 本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁
10、。当错误控制信号出现时,RD1灯不亮。3.1.4时钟分频模块VHDL程序(SZ.VHD)USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SZ IS PORT(CLK: -时钟输入 CP:END ENTITY SZ;ARCHITECTURE ART OF SZ IS SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0); -定义八位标准逻辑位矢量数据类型 PROCESS(CLK) COUNT=COUNT+1; CP=COUNT(3); -输出第五位这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号,CP为输
11、出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。3.1.5原理图顶层文件VHDL程序(tp.VHD)Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity tp is Port(clk:in std_logic; Left: Right: Brake: Night: Ld
12、1,ld2,ld3:out std_logic; Rd1,rd2,rd3:out std_logic);End;Architecture bh of tp is Component sz is Cp: End component; Component ctrl is Port(left,right,brake,night: Lp,rp,lr,brake_led,night_led: Component lc is Port(clk,lp,lr,brake,night: Ledl,ledb,ledn: Component rc is Port(clk,rp,lr,brake,night: Led
13、r,ledb,ledn:Signal tmp0,tmp1,tmp2,tmp3,tmp4:std_logic;Signal err0,err1,err2,err3,err4,err5:signal bm: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,err4,e
14、rr5);Ld1=err0 and bm;Ld2=err1;Ld3=err2;Rd1=err3 and bm;Rd2=err4;Rd3=err5;4 编译及仿真4.1 主控模块的时序仿真及原理图数据入口:RIGHT:右转信号;LEFT:左转信号;BRAKE:刹车信号;NIGHT:夜间行驶信号;数据出口:LP:左侧灯控制信号;RP:右侧灯控制信号;LR:错误控制信号;BRAKE_LED:刹车控制信号;NIGHT_LED:夜间行驶控制信号;仿真波形 4.2 左边灯模块的时序仿真及原理图CLK:时钟控制信号;LEDL:左侧LD1灯控制信号;LEDB:左侧LD2灯控制信号;LEDN:左侧LD3灯控制信
15、号;仿真波形4.3 右边灯模块的时序仿真及原理图LEDR:右侧RD1灯控制信号;右侧RD2灯控制信号;右侧RD3灯控制信号;4.4 时钟分频模块的时序仿真及原理图4.5 顶层文件的时序仿真及原理图4.6 整体组装设计原理图整体组装设计原理图5 硬件调试与结果分析器件选择ACEX1系列的EP1K30TC144-1。选择后对原理图进行引脚锁定。因为自己没有写16进制到10进制译码器,所以选择模式5自带译码器的方式进行硬件验证。编译以后对程序进行配置,打开电源,在实验板上选择模式5,打开下载锁定后开始配置。配置完成后,进行调试,完成功能要求。6 参考文献7 心得体会通过两星期的紧张工作,最后完成了我
16、的设计任务汽车尾灯控制器的设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1