1、4.1汽车尾灯主控模块汽车尾灯主控模块的工作框图如图4.1所示:-CTRL图4.1汽车尾灯主控模块数据入口:RIGHT右转信号;LEFT左转信号;BRAKE刹车信号;NIGHT夜间行驶信号;数据出口:LP:左侧灯控制信号;RP右侧灯控制信号;LR错误控制信号;BRAKE_LED刹车控制信号;NIGHT_LED夜间行驶控制信号;VHD程序(CTRL.VH)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCTRLISPORT(LEFT,RIGHT,BRAKE,NIGHTN STD_LOGIC;LP,RP,LR,BRAKE_LED,NIGHT_LEdUTST
2、D_LOGIC);ENDENTITY CTRL;ARCHITECTUFARTOF CTRL ISBEGINNIGHT_LED=NIGHT;BRAKE_LEDLPv=O;RPv=LRv= -当汽车直行时,左右灯都不亮WHENO1LPRPLR-当汽车刹车时,左右灯都ENDCASE;ENDPROCESS;ENDARCHITECTURART;功能:该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入 LEFT和RIGHT信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信 号;当输入为夜间行驶信号时,输出为夜间行驶控制信
3、号。4.2左边灯控制模块左边灯控制模块的工作框图如图 4.2所示:图4.2左边灯控制模块数据入口:CLK时钟控制信号;LR:错误控制信号;BRAKE刹车控制信号;NIGHT夜间行驶控制信号;数据出口:LEDL左侧LD1灯控制信号;LEDB左侧LD2灯控制信号;LEDN左侧LD3灯控制信号;VHD程序(LC.VHD ENTITY LC ISPORT(CLK,LP,LR,BRAKE,NIGHTN STD_LOGIC; LEDL,LEDB,LEDNOUTSTD_LOGIC); ENDENTITY LC;ARCHITECTUFARTOF LC ISLEDBLEDNPROCESS(CLK,LP, LR)
4、IF CLKEVENTANDCLK= THENIF(LR=) THENIF(LP=)THENLEDL0ELSE -相反情况ENDIF;ELSE LEDL本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯 控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现 闪烁。当错误控制信号出现时,LD1灯不亮。4.3右边灯控制模块右边灯控制模块的工作框图如图4.3所示:FCC KRF= L.EJZ&LR LECMBFWKE.WIGHTgrf斗图4.3右边灯控制模块NIGHT夜间行驶控制信号;LEDR右侧RD1灯控制信号;LEDB右侧RD2灯控制信号;LEDN右侧RD3灯控制信
5、号;VHDI程序(RC.VHD ENTITYRCISPORT(CLK,RP,LR,BRAKE,NIGHTN STD_LOGIC; LEDR,LEDB,LEDNOUTSTD_LOGIC); ENDENTITYRC;ARCHITECTUFARTOF RC ISPROCESS(CLK,RP,LR) THEN -检测时钟上升沿IF(RP=LEDRELSE本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯 控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现 闪烁。当错误控制信号出现时,RD1灯不亮。4.4时钟分频模块时钟分频模块的工作框图如图4.4所示:C0UNT=C0U
6、NT+1; ENDIF;-输出第五位CP=COUNT(3);这块的功能是对左右两边的LLED1 RLED1的闪烁时间间隔,以CLK为输入 信号, CP为输出信号,在程序中定义一个八位节点信号 COUN来放计数值,当CLK的上升沿到来时就开始计数,最后将 COUNT(3给CP实现对CLK的八分 频。再将CP的电平信号分别和LEDL LEDR电平与,最后用输出的电平来控制 汽车左右的LLED1 RLED1实现左右转的指示功能。4.5顶层原理图顶层原理图如图4.5所示:”2LrL*耳fTVVI勺ar图4.5 顶层文件VHD程序(tp.VHD) Library ieee;Use ieee.stdogi
7、c_1164.all;Use ieee.std_logic_unsigned.all;Entity tp isPort(clk: in Left:in Right:in Brake:in Night:in顶层原理图Ld1,ld2,ld3:outstd_logic; std_logic;stdo gic;Rd1,rd2,rd3:out stdo gic);End;Architecture bh of tp isComponentsz isi n std_logic;Cp:out std_logic);End component;Comp onen tctrl isPort(left,right,
8、brake ,ni ght:Lp,rp,lr,brake_led ,ni ght_led:Componentlc isPort(clk,lp,lr,brake, ni ght:Ledl,ledb,led n:Componentrc isPort(clk,rp,lr,brake ,ni ght: in std_logic;Ledr,ledb,led n:Signal tmp0,tmp1,tmp2,tmp3,tmp4:Signal err0,err1,err2,err3,err4,err5:stdogic;sig nal bm:Beg inU1:sz port map(clk,bm);U2:ctr
9、l port map(left,right,brake ,ni ght,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,err5);Ld1=err0 and bm;Ld2=err1;Ld3=err2;Rd1=err3 and bm;Rd2=err4;Rd3=err5;5各模块的时序仿真图5.1汽车尾灯主控模块仿真汽车尾灯主控模块由VHDL程序实现后,其仿真图如图5.1所示:If !r
10、tl 丄IT Ck廿1ALWTLTFTMKLIHT.UEIIIT閉T底TJu图5.1汽车尾灯主控模块仿真图对时序仿真图进行分析:当分别输入刹车信号 BRAKE左转控制信号LEFT夜间信号NIGHT右转控制信号RIGHT时,BRAKE_LEDLP, NIGHT_LED RP分别亮;当同时输入杀V车信号 BRAKE左转控 制信号LEFT, BRAKE_LE和 LP同时亮;当同时输入 BRAKE口 NIGHT同时输入 BRAK和 RIGHT同时输入LEFT和NIGHT同时输入 NIGHT和RIGHT对应的灯 分别同时亮;当同时输入 BRAKE LEFT和 NIGHT同时输入BRAKE RIGHT和N
11、IGHT寸,对应的灯分别同时亮;只要出现 LEFT和 RIGHT同时输入的情况,LP 和RP都不亮,LR输出为“ 1”5.2左边灯控制模块仿真左边灯控制模块由VHDL程序实现后,其仿真图如下图5.2所示:图5.2左边灯控制模块仿真图LEFT夜间信号NIGHT相应的灯都会亮。5.3右边灯控制模块仿真左边灯控制模块由VHDL程序实现后,其仿真图如下图5.2所示:5.4时钟分频模块仿真分频模块由VHDL程序实现后,其仿真图如图5.4所示:图5.4时钟分频模块仿真图对其仿真图进行仿真分析:时钟分频实现了信号同步5.5顶层原理图顶层原理图实现后,其仿真图如图5.5所示:图5.5顶层原理图仿真图RIGHT
12、 LEFT,NIGHT,BRAK为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKES 1表 示刹车。RD1,RD2,RD为输出信号,表示汽车右侧的三盏灯。 LD1,LD2,LD3为输 出信号,表示汽车左侧的三盏灯。如图所示:当 RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1 时,LD3,RD3俞出均为1,表示左,右两侧各有一盏灯亮。当 BRAKES 1时, LD2,RD2俞出均为1,表示左,右两侧各有一盏灯亮。6总结通过本次课程设计,我们对EDA技术有了更深的了解,初步学会了采用 自顶
13、向下的系统设计方法设计系统,并熟练掌握了利用 VHDL语言进行简单的电路模块设计。此外,我们还进一步熟悉了 Quartus II这款软件的使用,深 刻体会到了用软件实现硬件设计的便捷与优越。本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课 本知识,理论联系实际,分析问题和解决问题的能力。它不仅仅是一个学习 新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习, 使我明白了自己的缺陷所在,从而查漏补缺。本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,完 成这些小模块后再合到一起完成顶层文件的设计。从局部到整体,不仅使得 系统设计的思路清晰明了,减少了错误的产
14、生,更方便了程序的调试以及系 统功能的扩充。在设计过程中,能与同学相互交流讨论,不仅降低了设计难 度,缩短了设计周期,更是进一步培养了我们的团队合作精神。在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从 根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。稍 有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我 们要有足够的耐心,反复调试,直到程序顺利通过。这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指 导和同学们的帮助下,都顺利得以解决。这些经历使我得以积累了一定的经 验,相信对以后学习设计工作也会有一定的帮助。7参考文献ED/技术及应用教程 赵全利 秦春斌主编 机械工业出版社EDA技术与数字系统设计 邹彦主编电子工业出版社实用电子电路200例 张庆双主编. 机械工业出版社电子电路EDA技术 赵世强、许杰等编 西安电子科技大学出版社
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2