最新EDA课设报告.doc

上传人:1595****071 文档编号:34721591 上传时间:2022-08-18 格式:DOC 页数:39 大小:508.50KB
返回 下载 相关 举报
最新EDA课设报告.doc_第1页
第1页 / 共39页
最新EDA课设报告.doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《最新EDA课设报告.doc》由会员分享,可在线阅读,更多相关《最新EDA课设报告.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateEDA课设报告课 程 设 计 任 务 书尾灯控制器1 设计目的(1)学会在Quartus环境中运用VHDL语言设计方法来构建具有一定逻辑功能的模块,并能运用原理图设计方法完成顶层设计。掌握所学的课程知识和基本单元电路的综合设计应用。(2)通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高设计能力,并掌握汽车尾灯控制在FPGA中实现的方法。1.调试底层模块,并

2、时序仿真。2.设计顶层模块,并时序仿真。3.撰写课程设计报告。2 设计要求和任务假设汽车尾部左右侧各有3盏指示灯,其控制功能应包括:(1)汽车正常行驶时指示灯都不亮(2)汽车右转弯时,右侧的一盏指示灯亮(3)汽车左转弯时,左侧的一盏指示灯亮(4)汽车刹车时,左右侧的指示灯同时亮(5)汽车在夜间行驶时,左右侧的指示灯同时一直亮,供照明使用顶层设计采用原理图设计方案,它由时钟分频模块,汽车尾灯主控模块,左边灯控制模块和右边灯控制模块四部分组成。3 总体设计思路及原理描述汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向

3、左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮。通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night和系统的输出信号:汽车左侧3盏指示灯ldleft,dbrake1,dnight1和汽车右侧3盏指示灯ldright,ldbrake2,ldnight2实现以上功能。系统的整体组装设计原理如图所示:汽车行驶信号主控模块左灯控制模

4、块右灯控制模块显示时钟图3.1 系统设计整体框图 4 分层次方案设计及代码描述4.1汽车尾灯主控模块 汽车尾灯主控模块的工作框图如图4.1所示:图4.1汽车尾灯主控模块数据入口:RIGHT:右转信号;LEFT:左转信号;BRAKE:刹车信号;NIGHT:夜间行驶信号;数据出口:LP:左侧灯控制信号;RP:右侧灯控制信号;LR:错误控制信号;BRAKE_LED:刹车控制信号;NIGHT_LED:夜间行驶控制信号;VHDL程序(CTRL.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CTRL IS PORT(LEFT,RIGHT,BRAKE

5、,NIGHT: IN STD_LOGIC; LP,RP,LR,BRAKE_LED,NIGHT_LED: OUT STD_LOGIC);END ENTITY CTRL;ARCHITECTURE ART OF CTRL IS BEGIN 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 ARCHITECTURE ART;功能:该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号

6、时,输出右侧灯控制信号;当同时输入LEFT和RIGHT信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。4.2左边灯控制模块 左边灯控制模块的工作框图如图4.2所示:图4.2左边灯控制模块数据入口: CLK:时钟控制信号;LP:左侧灯控制信号;LR:错误控制信号;BRAKE:刹车控制信号;NIGHT:夜间行驶控制信号;数据出口:LEDL:左侧LD1灯控制信号;LEDB:左侧LD2灯控制信号;LEDN:左侧LD3灯控制信号;VHDL程序(LC.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;E

7、NTITY LC IS PORT(CLK,LP,LR,BRAKE,NIGHT: IN STD_LOGIC; LEDL,LEDB,LEDN: OUT STD_LOGIC);END ENTITY LC;ARCHITECTURE ART OF LC IS BEGIN 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;

8、ELSE LEDL=0; END IF; END IF; END PROCESS;END ARCHITECTURE ART;功能:本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。当错误控制信号出现时,LD1灯不亮。4.3右边灯控制模块右边灯控制模块的工作框图如图4.3所示:图4.3 右边灯控制模块数据入口: CLK:时钟控制信号;RP:右侧灯控制信号;LR:错误控制信号;BRAKE:刹车控制信号;NIGHT:夜间行驶控制信号;数据出口:LEDR:右侧RD1灯控制信号;LEDB:右侧RD2灯控制信号;LED

9、N:右侧RD3灯控制信号;VHDL程序(RC.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY RC IS PORT(CLK,RP,LR,BRAKE,NIGHT: IN STD_LOGIC; LEDR,LEDB,LEDN: OUT STD_LOGIC);END ENTITY RC;ARCHITECTURE ART OF RC IS BEGIN LEDB=BRAKE; LEDN=NIGHT; PROCESS(CLK,RP,LR) BEGIN IF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF(LR=0) THEN I

10、F(RP=0) THEN LEDR=0; ELSE LEDR=1; END IF; ELSE LEDR=0; END IF; END IF; END PROCESS;END ARCHITECTURE ART;功能: 本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁。当错误控制信号出现时,RD1灯不亮。4.4时钟分频模块 时钟分频模块的工作框图如图4.4所示:图4.4 时钟分频模块VHDL程序(SZ.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.S

11、TD_LOGIC_UNSIGNED.ALL;ENTITY SZ IS PORT(CLK: IN STD_LOGIC; -时钟输入 CP: OUT STD_LOGIC);END ENTITY SZ;ARCHITECTURE ART OF SZ IS SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0); -定义八位标准逻辑位矢量数据类型 BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 COUNT=COUNT+1; END IF; END PROCESS; CP=COUNT(3); -输出第五位

12、END ARCHITECTURE ART;功能: 这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号, CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(3)给CP,实现对CLK的八分频。 再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。 4.5顶层原理图 顶层原理图如图4.5所示:图4.5 顶层原理图顶层文件VHDL程序(tp.VHD)Library ieee;Use ieee.std_logic_1164.all;

13、Use ieee.std_logic_unsigned.all;Entity tp is Port(clk:in std_logic;Left:in std_logic;Right:in std_logic;Brake:in std_logic;Night:in std_logic;Ld1,ld2,ld3:out std_logic;Rd1,rd2,rd3:out std_logic);End;Architecture bh of tp is Component sz isPort(clk:in std_logic;Cp:out std_logic); End component; Compo

14、nent ctrl isPort(left,right,brake,night:in std_logic;Lp,rp,lr,brake_led,night_led:out std_logic); End component; Component lc isPort(clk,lp,lr,brake,night:in std_logic;Ledl,ledb,ledn:out std_logic); End component; Component rc isPort(clk,rp,lr,brake,night:in std_logic;Ledr,ledb,ledn:out std_logic);

15、End component;Signal tmp0,tmp1,tmp2,tmp3,tmp4:std_logic;Signal err0,err1,err2,err3,err4,err5:std_logic;signal bm:std_logic;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

16、,tmp3,tmp4,err3,err4,err5);Ld1=err0 and bm;Ld2=err1;Ld3=err2;Rd1=err3 and bm;Rd2=err4;Rd3=err5;End;5 各模块的时序仿真图5.1汽车尾灯主控模块仿真汽车尾灯主控模块由VHDL程序实现后,其仿真图如图5.1所示:图5.1汽车尾灯主控模块仿真图对时序仿真图进行分析:当分别输入刹车信号BRAKE,左转控制信号LEFT,夜间信号NIGHT,右转控制信号RIGHT时,BRAKE_LED,LP,NIGHT_LED,RP分别亮;当同时输入刹车信号BRAKE,左转控制信号LEFT,BRAKE_LED和LP同时亮;

17、当同时输入BRAKE和NIGHT,同时输入BRAKE和RIGHT,同时输入LEFT和NIGHT,同时输入NIGHT和RIGHT,对应的灯分别同时亮;当同时输入BRAKE,LEFT和NIGHT,同时输入BRAKE,RIGHT和NIGHT时,对应的灯分别同时亮;只要出现LEFT和RIGHT同时输入的情况,LP和RP都不亮,LR输出为“1”。5.2左边灯控制模块仿真左边灯控制模块由VHDL程序实现后,其仿真图如下图5.2所示:图5.2 左边灯控制模块仿真图对时序仿真图进行分析:当分别输入刹车信号BRAKE,左转控制信号LEFT,夜间信号NIGHT,相应的灯都会亮。5.3右边灯控制模块仿真左边灯控制模

18、块由VHDL程序实现后,其仿真图如下图5.2所示:图5.3 右边灯控制模块仿真图对时序仿真图进行分析:当分别输入刹车信号BRAKE,右转控制信号RIGHT,夜间信号NIGHT,相应的灯都会亮,不会发生冲突。5.4时钟分频模块仿真分频模块由VHDL程序实现后,其仿真图如图5.4所示:图5.4 时钟分频模块仿真图对其仿真图进行仿真分析:时钟分频实现了信号同步。5.5顶层原理图 顶层原理图实现后,其仿真图如图5.5所示:图5.5 顶层原理图仿真图对其仿真图进行仿真分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,

19、BRAKE为1表示刹车。RD1,RD2,RD3为输出信号,表示汽车右侧的三盏灯。LD1,LD2,LD3为输出信号,表示汽车左侧的三盏灯。如图所示:当RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1时,LD3,RD3输出均为1,表示左,右两侧各有一盏灯亮。当BRAKE为1时,LD2,RD2输出均为1,表示左,右两侧各有一盏灯亮。6 总结 通过本次课程设计,我们对EDA技术有了更深的了解,初步学会了采用自顶向下的系统设计方法设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。此外,我们还进一步熟悉了Quartus II这款软件

20、的使用,深刻体会到了用软件实现硬件设计的便捷与优越。本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。本设计采用自顶向下设计方法,底层为一些具有独立功能的小模块,完成这些小模块后再合到一起完成顶层文件的设计。从局部到整体,不仅使得系统设计的思路清晰明了,减少了错误的产生,更方便了程序的调试以及系统功能的扩充。在设计过程中,能与同学相互交流讨论,不仅降低了设计难度,缩短了设计周期,更是进一步培养了我们的团队合作精神

21、。在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要有耐心,毅力及细心。稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查更要求我们要有足够的耐心,反复调试,直到程序顺利通过。这次设计中我也遇到了一些问题,但通过相关资料的查询,在老师的指导和同学们的帮助下,都顺利得以解决。这些经历使我得以积累了一定的经验,相信对以后学习设计工作也会有一定的帮助。7 参考文献EDA技术及应用教程 赵全利 秦春斌主编 机械工业出版社EDA技术与数字系统设计 邹彦主编 电子工业出版社实用电子电路200例 张庆双主编. 机械工业出版社电子电路EDA技术 赵世强、许杰等编 西安电子科技大学出版社-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁