




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA课程设计报告汽车尾灯控制器设计 专业:通信工程 学号: 姓名: 日期:2014-7-31.设计目的 本次设计的目的就是通过实践深入理解状态机原理,了解EDA技术并掌握VHDL硬件描述语言的设计方法和思想。通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高分析、解决EDA技术实际问题的独立工作能力。根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工具对各模块进行仿真验证。汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。把各个模块整合后就形成了汽车尾灯控制器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。2汽车尾灯控制器的设计过程根据现代交通规则,汽车尾灯控制器应满足以下基本要求:1.汽车正常使用是指示灯不亮2.汽车右转时,右侧的一盏灯亮3.汽车左转时,左侧的一盏灯亮4.汽车刹车时,左右两侧的指示灯同时亮5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明6.出现大雾天气时,两侧雾灯点亮,增加可视度。3.汽车尾灯控制器的工作原理 汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮;当于大雾天行驶时右侧指示灯ldfoggy1和左侧指示灯ldfoggy2同时亮。通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night,雾灯信号foggy和系统的输出信号:汽车左侧4盏指示灯ldleft,dbrake1,dnight1,dfoggy1和汽车右侧4盏指示灯ldright,ldbrake2,ldnight2,ldfoggy2实现以上功能。系统的整体组装设计原理如图所示:汽车行驶信号主控模块左灯控制模块右灯控制模块显示时钟系统整体设计框图4.各组成模块原理及程序 汽车尾灯控制器由4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。以下介绍各模块的详细设计:(1)时钟分频模块图为时钟分频模块图时钟分频模块由VHDL程序来实现,下面是其VHDL代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock is port(clk:in std_logic; cp:out std_logic); end;architecture behave of clock issignal count:std_logic_vector(7 downto 0);beginprocess(clk) begin if clkevent and clk = 1then count = count + 1; end if; end process; cp= count(3);end behave;(2) 汽车尾灯主控模块 图为主控模块汽车尾灯主控模块由VHDL程序来实现,下面是其VHDL代码:library ieee;use ieee.std_logic_1164.all;entity control isport(left,right,brake,night,foggy:in std_logic; lp,rp,lr,brake_led,night_led,foggy_led:out std_logic);end;architecture art of control isbegin foggy_led=foggy; night_led=night; brake_ledlp=0;rp=0;lrlp=0;rp=1;lrlp=1;rp=0;lrlp=0;rp=0;lr=1; end case; end process;end art;(3)左边灯控制模块图为左边灯控制模块左边灯控制模块由VHDL程序来实现,下面是其VHDL代码library ieee;use ieee.std_logic_1164.all;entity left isport(clk,lp,lr,brake,night,foggy:std_logic; ledl,ledb,ledn,ledf:out std_logic);end;architecture art of left isbegin ledf=foggy; ledb=brake; ledn=night;process(clk,lp,lr)begin if clkevent 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 art;(4右边灯控制模块 图为右边灯控制模块右边灯控制模块由VHDL程序来实现,下面是其VHDL代码library ieee;use ieee.std_logic_1164.all;entity right isport(clk,rp,lr,brake,night,foggy:in std_logic; ledr,ledb,ledn,ledf:out std_logic);end;architecture art of right isbegin ledf=foggy; ledb=brake; ledn=night; process(clk,rp,lr) begin if clkevent and clk = 1 then if(lr = 0)then if(rp = 0)then ledr =0; else ledr = 1; end if; else ledr =0; end if; end if; end process;end art;4系统仿真(1)分频模块仿真及分析图1 分频模块仿真图对其仿真图进行仿真分析:如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。(2汽车尾灯主控模块仿真及分析图为主控模块时序仿真图对时序仿真图进行分析:right,left,night,brake,foggy 为输入信号,right为1表示右转,left为1表示左转,night为1表示夜间行路,brake为1表示刹车foggy为1表示雾天行驶。lr,rp,lp,night_led,brake_led,foggy_led为输出信号。如图所示:当right为1时,产生一个rp为1的信号脉冲输出,当left为1时,产生一个lp为1的信号脉冲输出,当left和right同时为1时,输出lr为1,lp,rp无效;当night为1时,产生一个night_led为1的信号脉冲输出。当brake为1时,产生一个brake_led为1的信号脉冲输出。当foggy为1,产生一个foggy_led的信号脉冲输出。(3左边灯控制模块仿真及分析 图为左边灯控制模块时序仿真图对时序仿真图进行分析:clk,lp,lr,night,brake,foggy 为输入信号,lp为1表示左转,lr是使能端,低电平有效,night为1表示夜间行路,brake为1表示刹车,foggy为1表示雾灯。ledl,ledb,ledn,ledf为输出信号,表示汽车左侧的四盏灯。如图所示:在lr为低电平下,当lp为1时,ledl输出为1表示左侧灯亮,当brake为1时,ledb输出为1表示左侧刹车灯亮,当night为1时,ledn输出为1表示左侧照明灯亮,当foggy为1,表示左侧雾灯亮。当lr为1时,输入信号lp无效,左侧四盏灯输出均为0。即没有灯亮。(4)右边灯控制模块仿真及分析 图为右边灯控制模块时序仿真图对时序仿真图进行分析:clk,rp,lr,night,brake,foggy 为输入信号,rp为1表示右转,lr是使能端,低电平有效,night为1表示夜间行路,brake为1表示刹车,foggy为1表示雾灯。ledl,ledb,ledn,ledf为输出信号,表示汽车右侧的四盏灯。如图所示:在lr为低电平下,当rp为1时,ledr输出为1表示右侧灯亮,当brake为1时,ledb输出为1表示右侧刹车灯亮,当night为1时,ledn输出为1表示右侧照明灯亮,当foggy为1,表示右侧雾灯亮。当lr为1时,输入信号lp无效,右侧四盏灯输出均为0。即没有灯亮。(5)整个系统仿真及分析 图为整个系统仿真图对时序仿真图进行分析:right,left,night,brake,foggy为输入信号,right为1表示右转,left为1表示左转,night为1表示夜间行路,brake为1表示刹车,foggy为1表示雾灯。ldleft,ldbrake1,ldnight1,ldfoggy1为输出信号,表示汽车左侧的四盏灯。ldright,ldbrake2,ldnight2,ldfoggy2为输出信号,表示汽车右侧的四盏灯。如图所示:当right为1时,ldright输出为1表示右侧灯亮,即实现右转弯;当left为1时,ldleft输出为1表示左侧灯亮,即实现左转弯;当night为1时,ldnight1,ldnight2输出均为1,表示左,右两侧各有一盏灯亮,实现夜间照明;当brake为1时,ldbrake1, ldbrake2输出均为1,表示左,右两侧各有一盏灯亮,表示刹车指示灯亮;当foggy为1时,ldfoggy1,ldfoggy2输出均为1,表示左右雾灯打开。正常行驶状态下,灯不亮。5结束语 通过本次课程设计,我们对EDA技术有了更深的了解,初步学会了采用自顶向下的系统设计方法设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。此外,我们还进一步熟悉了MAX+PLUSII这款软件的使用,深刻体会到了用软件实现硬件设计的便捷与优越。本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,由小组人员分工完成,即一人完成一个到多个模块,最后再合到一起完成顶层文件的设计。从局部到整体,不仅使得系统设计的思路清晰明了,减少了错误的产生,更方便了程序的调试以及系统功能的扩充。在设计过程中,能与同学相互交流讨论,分工合作,不仅降低了设计难度,缩短了设计周期,更是进一步培养了我们的团队合作精神。在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指导和同学们的帮助下,都顺利得以解决。这些经历使我得以积累了一定的经验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论