EDA交通灯控制系统的课程设计.docx
- 文档编号:6739303
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:8
- 大小:127.54KB
EDA交通灯控制系统的课程设计.docx
《EDA交通灯控制系统的课程设计.docx》由会员分享,可在线阅读,更多相关《EDA交通灯控制系统的课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
EDA交通灯控制系统的课程设计
EDA交通灯控制系统的课程设计
一设计目的与要求..............................................2
二设计原理.....................................................2
2.1交通灯控制的系统构成............................................3
2.2交通灯控制器的电路控制原理框图.................................3
2.3器件下载编程与硬件实现.........................................4
三设计内容......................................................4
3.1设计步骤........................................................5
3.2交通灯控制器各模块的程序..................................63.3软件仿真结果....................................................9
3.4硬件实现及调试结果.............................................10
总结与致谢...............................................11
参考文献.................................................12
附录..............................................................21
摘要
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
随着社会经济的发展,城市交通问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
交通控制系统的适用场合主要是用于交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代交通监控指挥系统中最重要的组成部分。
关键字:
EDA交通灯VerilogHDLQuartusII
一设计目的与要求
(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2)主、支道交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过渡,并进行减计时显示。
(3)具有清零、可预置主、支干道通行时间功能。
二设计原理
交通灯控制系统的作用主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系
如图3-1所示,主要包括置数器模块、定时计数器模块、主控制器模块和译码器模块。
置数器模块将交通灯的点亮时间预置到置数电路中。
计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。
核心部分是主控制模块。
具体控制情况如下
状态
主干道
支干道
时间/S
00
绿灯亮
红灯亮
45
01
黄灯亮
红灯亮
5
10
红灯亮
绿灯亮
25
11
红灯亮
黄灯亮
5
2.3器件下载编程与硬件实现
在进行硬件测试时,按键k1对应复位端reset,按键k2对应紧急开关urgent。
EDA实验开发系统上的时钟cp2对应计数时钟CLK,数码管M3、M4对应东西走向的时钟显示。
LED灯l16、l15、l14对应东西走向的绿灯G1、黄灯Y1、红灯R1。
数码管M1、M2对应南北走向的时钟显示。
LED灯l1、l2、l3对应南北走向的绿灯G2、黄灯Y2、红灯R2,对应的硬件结构示意图如图3-3所示。
图3-3交通灯控制系统的硬件示意图
三设计内容
3.1设计步骤
1、启动Quarrtus软件;
2、单击菜单栏中的File/New命令,打开New对话框,选择DeviceDesignFiles中的BlockDiagram/Schematic,打开图形编辑窗口;
3、右击鼠标,弹出菜单,点击“Insert/Symbol”,画一个图形保存,同时创建一个工程;
4、在同一个工程下,单击菜单栏中的File/New命令,打开New对话框,选择DeviceDesignFiles中的VHDLFiles,输入实训的源程序;
5、单击菜单栏中的Process\StartCompilation命令,启动全程编译;
6、编译后加载源程序的Symbol;
7、画出实训的原理图,通过两组交通灯来模拟控制东西、南北两条通道上的车辆通行,所有功能在实验操作平台上进行模拟通过,根据原理其主要功能如图3-4:
图3-4系统结构图
8、进行仿真,建立波形文件,单击File/New命令,打开文件选择窗口,然后单击“OtherFiles”选项卡,选择其中的“VectorWaveformFile”选项;
9、输入信号节点,单击View\UtilityWindows\NodeFinder命令,添加端口引脚名;
10、指定芯片管脚,单击菜单栏中的Assignments\Pin,打开芯片管脚对话框。
3.2交通灯控制器各模块的程序
1简介控制部分的设计
控制模块是交通控制系统的核心部分,控制模块主要用于控制系统的时钟、计数值、循环周期判别和人工控制信号输入,并将计数值做相关的运算得到数码管的倒计时值,同时控制十字路口信号灯的亮、灭火闪烁。
如图3-5所示,reset是复位引脚;clk是时钟引脚,其值为分频器的输出时钟信号;urgen是紧急状态引脚;state[1..0]是状态引脚;sub,set1,set2是状态选择引脚。
process(reset,clk)
begin
ifreset='1'then
count<="0000000";
state<="00";
elsifclk'eventandclk='1'then图3-5控制部分的图形
ifurgen='0'thencount<=count+1;subtemp<='1';elsesubtemp<='0';endif;
ifcount=0thenstate<="00";set1<='1';set2<='1';
elsifcount=20thenstate<="01";set1<='1';
elsifcount=25thenstate<="10";set1<='1';set2<='1';
elsifcount=35thenstate<="11";set2<='1';
elsifcount=40thencount<="0000000";elseset1<='0';set2<='0';endif;
endif;
endprocessstatelabel
2、显示部分的设计
显示模块包括数码管动态扫描电路和译码显示电路,动态扫描电路用于选择需要显示的数码管,译码显示电路用于将输入的二进制信息转换为数码管显示编码。
如图3-6所示,clk是时钟引脚;urgen是紧急状态引脚;state[1..0]是状态引脚;sub,set1,set2是状态选择引脚,在sub为上升沿时,可以用set1和set2来选择调整交通灯的状态;r1,g1,y1,r2,g2,y2分别是主干道方向和次干道方向的红、绿、黄灯信号引脚;led1[7..0],led2[7..0]分别为主干道方向和次干道方向的数码管倒计时信号灯引脚。
label2:
process(sub)
begin
ifsub'eventandsub='1'then
ifset2='1'then
count2<=setstate2;图3-6显示部分的图形
elsifcount2(3downto0)="0000"thencount2<=count2-7;
elsecount2<=count2-1;
endif;
g2<=tg2;
r2<=tr2;
y2<=ty2;
endif;
endprocesslabel2;
label1:
process(sub)
begin
ifsub'eventandsub='1'then
ifset1='1'then
count1<=setstate1;
elsifcount1(3downto0)="0000"thencount1<=count1-7;
elsecount1<=count1-1;
endif;
g1<=tg1;
r1<=tr1;
y1<=ty1;
endif;
endprocesslabel1;
其中ledcontrol部分为控制器模块,ledshhow部分为译码器模块。
控制器包括指数模块、计数模块和主控制器模块。
置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。
译码器模块将控制器模块的控制作用通过译码表现出来,即我们看到的交通灯。
最后上图最左边是系统输入,右边是系统输出。
3.3软件仿真结果
图3-7仿真波形
3.4硬件实现及调试结果
1、调试
在QuartusII软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效果,于是,我们在该软件上进行下载配置设置。
在Assignments菜单下选中Devices,在Family栏选择ACEX1K,选中EPF10K10LC84-4器件。
再在Assignments菜单下选中Pins按照相应要求对管脚进行锁定。
最后在Tools菜单下,选中Programmer,对配置方式进行设置,这里选择PassiveSeril(PS)被动串行模式。
选择好要下载的硬件设备后点击Start即可开始编程下载了。
2、指定芯片管脚图
图3-8指定芯片管脚图
总结与致谢
通过这次设计,我的理论知识掌握得更扎实,动手能力明显提高。
同时,通过网上搜索图书馆查阅资料等方式认识到了自己知识的局限性。
我学到许多知识,也认识到理论联系实践的重要。
在设计当中遇到了许多以前没遇到的困难。
学会了利用许多的方法去解决所遇到的问题。
编好程序后,虽然总是出错,比如说状态不能改变,绿灯不能按时闪烁等,但是经过多次研究在老师和同学的帮助下终于找到问题所在并纠正。
这次设计,让我感受最深是:
在仿真的阶段遇到很多的问题,我们一定要具备一定的检查、排除错误的能力。
我深刻认识到了“理论联系实际”的这句话的重要性与真实性。
而且通过对此课程的设计,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。
在本次设计中,我们完成本系统设计的要求及功能。
在设计开始前我们对各个模块进行了详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与完成各个技术实现的难点。
由于时间仓促和我们自身知识水平有限,本设计在功能上也只是完成了一些基本功能,对于电路的可靠性,稳定性等参数也还未做过详细的测试。
在交通的人性化控制方面也还未做周全的考虑,若在行驶过程中出现交通信号灯损坏或是电源断电的情况,则应有紧急状态灯来控制交通的管理,好提醒司机们或是行人注意保持车距,避免交通事故的发生。
对我而言,知识上的收获重要,精神上的丰收更加可喜。
同时,非常感谢老师对我的大力帮助。
五、参考文献
[1]黄仁欣.EDA技术实用教程.北京:
清华大学出版社,2006
[2]潘松,黄继业.EDA技术与VHDL.北京:
清华大学出版社,2009
[3]江国强编著.EDA技术与应用(第三版)..北京:
电子工业出版社,2010
[4]夏宇闻编著.VerilogHDL数字系统设计教程..北京:
北京航空航天大学出版社,2008
[5]周祖成,程晓军,马卓钊编著.数字电路与系统教学实验教程.北京:
科学出版社,2010
[6]周润景,苏良碧.基于QuartusII的数字系统VerilogHDL设计实例详解.北京:
电子工业出版社,2010
[7](美国)SanirPalnitkar译者:
夏宇闻胡燕祥刁岚松.VerilogHDL数字设计与综合(第2版).北京:
电子工业出版社,2009
[8]云创工作室.VerilogHDL程序设计与实践.北京:
人民邮电出版社,2009
[9]刘福奇,刘波.VerilogHDL应用程序设计实例精讲.北京:
电子工业出版社,2009
[10]张延伟,杨金岩,葛爱学.veriloghdl程序设计实例详解.北京:
人民邮电出版社,2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 交通灯 控制系统 课程设计