EDA技术课程设计-交通控制器设计.doc

上传人:scccc 文档编号:11203159 上传时间:2021-07-12 格式:DOC 页数:16 大小:596KB
返回 下载 相关 举报
EDA技术课程设计-交通控制器设计.doc_第1页
第1页 / 共16页
EDA技术课程设计-交通控制器设计.doc_第2页
第2页 / 共16页
EDA技术课程设计-交通控制器设计.doc_第3页
第3页 / 共16页
EDA技术课程设计-交通控制器设计.doc_第4页
第4页 / 共16页
EDA技术课程设计-交通控制器设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《EDA技术课程设计-交通控制器设计.doc》由会员分享,可在线阅读,更多相关《EDA技术课程设计-交通控制器设计.doc(16页珍藏版)》请在三一文库上搜索。

1、EDA技术课程设计课题: 交通控制器设计系 别: 电气与电子工程系专 业: 电子信息工程姓 名: 学 号: 指导教师: 河南城建学院2011年6月24日成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。二、评分(按下表要求评定)评分项目设计报告评分答辩评分平时表现评分合 计 (100分)任务完成情 况(20分)课程设计报告质量(40分)表达情况(10分)回答问题情 况(10分)工作态度与纪律(10分)独立工作能力(10分)得分课程设计成绩评定班级 姓名 学号成绩: 分(折合等级 )指导教师签字 年 月 日目录一、设计目的- 3 -二、设计要求- 3 -(2).熟悉

2、掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。- 3 -(4).学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。- 4 -三、总体设计原理与内容- 4 -1、设计内容- 4 -四、EDA设计及仿真- 6 -1、主控制程序- 6 -2、交通灯仿真结果及数据分析- 10 -五、硬件实现- 11 -1、给出硬件实现引脚图- 11 -2、硬件实现照片- 13 -六、设计总结- 13 -1、设计过程中遇到的问题及解决方法- 13 -2、设计体会- 14 -3、对设计的建议- 14 -七、设计生成的电路图(见附图)- 14 -参考文

3、献- 15 -附图一- 15 -附图二- 17 -一、设计目的通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD(可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据用户的要求及工艺需要进行电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,受到一次电子设计自动化方面的基本训练。培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,

4、通过本课程设计的实践使学生具有一定的实践操作能力。 1 了解交通灯的亮灭规律。 2 了解交通灯控制器的工作原理。 3 熟悉VHDL语言编程,了解实际设计中的优化方案。 二、设计要求(1).以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软硬件调试;(2).熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。(3).能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试; (4).学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的

5、安装调试技术。三、总体设计原理与内容 1、设计内容用EDA技术设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下:(1)、每条道路设一组信号灯,每组信号灯由红黄绿3个灯组成,绿灯表示允许通行红灯表示禁止通行,黄灯表示该车道上已过停车线的车辆继续通行,未过停车线的车辆停止通行。(2)、每条道路上每次通行的时间为25s。(3)、每次变换通行车道之前,要求黄灯先亮5s,才能变换通行车道。(4)、黄灯亮时,要求每秒钟闪烁一次。2、设计的总体原理 图3-1交通灯系统控制框图图3-2交通信号灯的控制电路图3-3交通灯的时间转向图四、EDA设计及仿真1、主控制程序Libra

6、ry ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity controller isPort (clk8: in std_logic;Reset: in std_logic;hold: in std_logic;reda,greena,yellowa:out std_logic;redb,greenb,yellowb:out std_logic;displaya,displayb,displayc,displayd:out std_logic_v

7、ector(0 to 6);end;architecture control of controller is signal countnum: integer range 0 to 50;Signal clk: std_logic;Signal numa,numb,numc,numd: integer range 0 to 9;signal noa,nob:integer range 0 to 25;Signal Qina,qinb,qinc,qind: std_logic_vector(3 downto 0);signal clock:std_logic;signal clock1:std

8、_logic;signal tout: integer range 0 to 3;begin Process(clk8) ;分频beginIf rising_edge(clk8) thenIf tout=3 thenTout=0;clock1=not clock1;Else tout=tout+1;End if;end if;clk=clock1;End process;process(clk)begin if reset=1then countnum=0;elsif rising_edge(clk)thenif countnum=49 thencountnum=0;elsecountnum=

9、countnum+1;end if;end if;end process; process(clk)beginif rising_edge(clk)thenif hold=1thenreda=1;redb=1;greena=0;greenb=0;else if countnum=19 thennoa=20-countnum;reda=0;greena=1;elsif(countnum=24)thennoa=25-countnum;reda=0;greena=0;elsenoa=50-countnum;reda=1;greena=0;end if;if countnum=24 thennob=2

10、5-countnum;redb=1;greenb=0;elsif countnum=44 thennob=45-countnum;redb=0;greenb=1;elsenob=50-countnum;redb=0;greenb20 and countnum=25) thenyellowa=clk;yellowb45 and countnum=50) thenyellowa=0;yellowb=clk;else yellowa=0;yellowb=20 thennuma=2;numb=10 thenNuma=1;numb=noa-10;ElseNuma=0;Numb=20 thennumc=2

11、;numd=10 thenNumc=1;numd=nob-10;ElseNumc=0;Numd=nob;End if;end if;End process;process(clk8)begin ;数码管显示Qina=conv_std_logic_vector(numa,4);Qinb=conv_std_logic_vector(numb,4);Qinc=conv_std_logic_vector(numc,4);Qinddisplayadisplayadisplayadisplayadisplayadisplayadisplayadisplayadisplayadisplayadisplaya

12、displaybdisplaybdisplaybdisplaybdisplaybdisplaybdisplaybdisplaybdisplaybdisplaybdisplaybdisplaycdisplaycdisplaycdisplaycdisplaycdisplaycdisplaycdisplaycdisplaycdisplaycdisplaycdisplayddisplayddisplayddisplayddisplayddisplayddisplayddisplayddisplayddisplayddisplayd=0000000;End case;End process;End;2、

13、交通灯仿真结果及数据分析仿真结果基本正确,对于每一时刻给出的时钟信号对应相应的计数值,红灯和绿灯都是间隔闪亮20/25秒,黄灯每次都是闪烁五秒钟,符合要求,复位键和保持键同样给出正确的仿真,对应的数码管译码也正确,所期望的与事实完全相同,仿真结果正确! 五、硬件实现 1、给出硬件实现引脚图 2、硬件实现照片 六、设计总结1、设计过程中遇到的问题及解决方法在本设计中出现的问题有很多,现举例如下:(1)、程序的组合,一开始我只是简单的将编好的控制模块,分为模块,显示模块,分频模块组合在一起,进行编译的时候并没有报错,而仿真结果也是看似正确,因为只有主程序得到编译,其他四个模块都没有起到作用,结果输

14、入与输出引脚都只有主程序的,没有要求得到的全部引脚,很明显,这种拼接做法是错误的。(2)、经过修改之后的程序出现最多的错误就是end if 与end process的多与少的问题,end if经常多放,其他的还有变量的赋值符号与信号的不同,变量声明的位置也与信号不同,信号的使用也有限制,因为不能及时更新,会有时间上的延迟。(3)、再个就是黄灯的闪烁,因为刚开始和红绿灯一块定义,赋值,没有闪烁的效果,最后在进程之外,我又增加了一个进程,专门定义与控制黄灯的闪烁问题,以为需要分频后的时钟信号,只是分开定义的主要原因。(4)、最后一步是硬件的仿真,程序下载之后,数码管不亮,二极管也不亮,我检查程序,

15、也没有错误,接入引脚也是正确的(虽然之前有几次是因为引脚接错位和芯片的错误使用,以及功能仿真与时序仿真的不同),启动之后就是不亮,经过反复检查,复位键和保持键有些失灵,按下几次之后即恢复正常工作,和之前期望的完全相同。至此,本设计圆满成功!2、设计体会本设计中出现的错误以及查找和改正错误的过程是最大的收获,这不仅是对我知识的考察,也是一种实际应用能力的证明,刚开始有几十上百个错误,警告,一步步的查找,编译,在查找,经过两天不间断的检查和纠正,程序才算初步成功可编译,然而对已仿真的结果常常又不能尽人意,还要时不时的修改程序已达到期望的目标,反反复复,最后下载硬件的时候更是麻烦,本来仿真是完美的,

16、可就是硬件实现出问题,这足足花了一下午的时间检查错误,程序基本没错,就是硬件失灵,按了好几次复位与保持才使程序正确运行,这是对硬件了解太少所导致的后果,以后学习检查硬件也是我学习的重点!3、对设计的建议本设计没有对拐弯处的路灯进行控制,只是在直线上控制,对于转向灯的控制希望可以加些改进,以符合实际应用的要求!七、设计生成的电路图(见附图)参考文献 1 潘松,黄继业.EDA技术使用教程. 北京:科学出版社,20062 黄任.VHDL入门.解惑.经典实例.经验总结.北京:北京航空航天大学出版社,2005 3 徐志军,徐光辉.CPLD/FPGA的开发与应用.北京: 电子工业出版社,20024 李洪伟,袁斯华 基于quartus 2的FPGA/CPLD的设计 电子工业出版社5VHDL数字电路设计教程 乔庐峰 王志功 等译 电子工业出版社6EDA技术实验讲义 杭州康芯电子有限公司 - 15 - - -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1