资源描述
目录
摘要.............................................................1
一 设计目标和要求..............................................2
二 设计原理.....................................................2
2.1交通灯控制系统组成............................................3
2.2交通灯控制器电路控制原理框图.................................3
2.3器件下载编程和硬件实现.........................................4
三 设计内容......................................................4
3.1设计步骤........................................................5
3.2交通灯控制器各模块程序..................................6 3.3软件仿真结果....................................................9
3.4硬件实现及调试结果.............................................10
总结和致谢...............................................11
参考文件.................................................12
附录..............................................................21
摘要
EDA是电子设计自动化(Electronic Design Automation)缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)概念发展而来。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片适配编译、逻辑映射和编程下载等工作。
伴随社会经济发展,城市交通问题越来越引发大家关注。人、车、路三者关系协调,已成为交通管理部门需要处理关键问题之一。交通控制系统适用场所关键是用于交通数据监测、交通信号灯控制和交通疏导计算机综合管理系统,它是现代交通监控指挥系统中最关键组成部分。
关键字:EDA 交通灯 Verilog HDL QuartusII
一 设计目标和要求
(1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2) 主、支道交替许可通行,主干道每次放行45 s,支干道每次放行25 s,在每次由亮绿灯变成亮红灯转换过程中,要亮5 s黄灯作为过渡,并进行减计时显示。
(3) 含有清零、可预置主、支干道通行时间功效。
二 设计原理
交通灯控制系统作用关键是实现城市十字交叉路口红绿灯控制。在现代化大城市中,十字交叉路口越来越多,在每个交叉路口全部需要使用红绿灯进行交通指挥和管理,红、黄、绿灯转换要有一个正确时间间隔和转换次序,这就需要有一个安全、自动系统对红、黄、绿灯转换进行管理,本系统就是基于此目标而开发。以下图2-1为十字路口交通管理信号灯示意图。
图2-1 十字路口交通管理信号灯
2.1交通灯控制系统组成
城市中常见大型十字路口以下2-2图所表示。
通常情况下,当汽车行驶至十字交通路口时,有3种选择: 向前,向左转弯,向右转弯。依据中国交通规则要求,汽车是靠右行驶,向右拐弯只要走弧形支干道即可,不需受十字交通灯束缚。所以,本文关键考虑前行和左转这两种 情况。十字路口交通灯负责控制各走向红绿灯状态及转换,而且各状态之间有一定时间过渡。同时,东西南北每条干道上全部为人行横道设置了红绿灯,提醒行人在安全时刻穿越道路以确保行人安全。
城市路口交通信号控制系统大致上分为三种类型: 定周期信号机、多时段且含有没有电缆协调功效微电脑型信号机和联网式自适应多相位智能型信号机。具体采取哪种类型, 应依据其应用场所及特点加以确定。其中, 第一个类型以其成本低,设计简单, 安装及维护方便等特点得到了广泛应用。
2.2交通灯控制器电路控制原理框图
图3-1所表示,关键包含置数器模块、定时计数器模块、主控制器模块和译码器模块。置数器模块将交通灯点亮时间预置到置数电路中。计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态倒计时。关键部分是主控制模块。具体控红 绿 黄
主控制器
显示器
译码器
置数器
定时计数器
特殊状态
清零
红 绿 黄
图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对话框,选择Device Design Files中Block Diagram/Schematic,打开图形编辑窗口;
3、右击鼠标,弹出菜单,点击“Insert/Symbol”,画一个图形保留,同时创建一个工程;
4、在同一个工程下,单击菜单栏中File/New命令,打开New对话框,选择Device Design Files中VHDL Files,输入实训源程序;
5、单击菜单栏中Process\Start Compilation命令,开启全程编译;
6、编译后加载源程序Symbol;
7、画出实训原理图,经过两组交通灯来模拟控制东西、南北两条通道上车辆通行,全部功效在试验操作平台上进行模拟经过,依据原理其关键功效图3-4:
图3-4 系统结构图
8、进行仿真,建立波形文件,单击File/New命令,打开文件选择窗口,然后单击“Other Files”选项卡,选择其中“Vector Waveform File”选项;
9、输入信号节点,单击View\Utility Windows\Node Finder命令,添加端口引脚名;
10、指定芯片管脚,单击菜单栏中Assignments\Pin,打开芯片管脚对话框。
3.2交通灯控制器各模块程序
1 介绍控制部分设计
控制模块是交通控制系统关键部分,控制模块关键用于控制系统时钟、计数值、循环周期判别和人工控制信号输入,并将计数值做相关运算得到数码管倒计时值,同时控制十字路口信号灯亮、灭火闪烁。图3-5所表示,reset是复位引脚;clk是时钟引脚,其值为分频器输出时钟信号;urgen是紧急状态引脚;state[1..0]是状态引脚;sub,set1,set2是状态选择引脚。
process (reset,clk)
begin
if reset='1' then
count<="0000000";
state<="00";
elsif clk'event and clk='1' then 图3-5控制部分图形
if urgen ='0' then count<=count+1;subtemp<='1';else subtemp<='0';end if;
if count =0 then state<="00";set1<='1';set2<='1';
elsif count =20 then state<="01";set1<='1';
elsif count =25 then state<="10";set1<='1'; set2<='1';
elsif count =35 then state<="11";set2<='1';
elsif count =40 then count<="0000000";else set1<='0'; set2<='0';end if;
end if;
end process statelabel
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
if sub'event and sub='1' then
if set2='1' then
count2<=setstate2; 图3-6显示部分图形
elsif count2(3 downto 0)="0000" then count2<=count2-7;
else count2<=count2-1;
end if;
g2<=tg2;
r2<=tr2;
y2<=ty2;
end if;
end process label2;
label1:
process(sub)
begin
if sub'event and sub='1' then
if set1='1' then
count1<=setstate1;
elsif count1(3 downto 0)="0000" then count1<=count1-7;
else count1<=count1-1;
end if;
g1<=tg1;
r1<=tr1;
y1<=ty1;
end if;
end process label1;
其中ledcontrol部分为控制器模块,ledshhow部分为译码器模块。控制器包含指数模块、计数模块和主控制器模块。置数模块将交通灯点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态倒计时。译码器模块将控制器模块控制作用经过译码表现出来,即我们看到交通灯。最终上图最左边是系统输入,右边是系统输出。
3.3 软件仿真结果
图3-7仿真波形
3.4硬件实现及调试结果
1、调试
在QuartusII软件中,经过对所设计硬件描述语言代码进行波形仿真后,达成了预期效果,于是,我们在该软件上进行下载配置设置。在Assignments菜单下选中Devices,在Family栏选择ACEX1K,选中EPF10K10LC84-4器件。再在Assignments菜单下选中Pins按摄影应要求对管脚进行锁定。最终在Tools菜单下,选中Programmer,对配置方法进行设置,这里选择Passive Seril(PS)被动串行模式。选择好要下载硬件设备后点击Start即可开始编程下载了。
2、指定芯片管脚图
图3-8 指定芯片管脚图
总结和致谢
经过这次设计,我理论知识掌握得更扎实,动手能力显著提升。同时,经过网上搜索图书馆查阅资料等方法认识到了自己知识不足。我学到很多知识,也认识到理论联络实践关键。在设计当中碰到了很多以前没碰到困难。学会了利用很多方法去处理所碰到问题。编好程序后,即使总是犯错,比如说状态不能改变,绿灯不能按时闪烁等,不过经过数次研究在老师和同学帮助下最终找到问题所在并纠正。这次设计,让我感受最深是:在仿真阶段碰到很多问题,我们一定要含有一定检验、排除错误能力。我深刻认识到了“理论联络实际”这句话关键性和真实性。而且经过对此课程设计,我不仅知道了以前不知道理论知识,而且也巩固了以前知道知识。
在此次设计中,我们完成本系统设计要求及功效。在设计开始前我们对各个模块进行了具体分析和设计准备工作,设计过程中,我们相互协调,主动参与完成各个技术实现难点。
因为时间仓促和我们本身知识水平有限,本设计在功效上也只是完成了部分基础功效,对于电路可靠性,稳定性等参数也还未做过具体测试。在交通人性化控制方面也还未做周全考虑,若在行驶过程中出现交通信号灯损坏或是电源断电情况,则应有紧急状态灯来控制交通管理,好提醒司机们或是行人注意保持车距,避免交通事故发生。对我而言,知识上收获关键,精神上丰收愈加可喜。同时,很感谢老师对我大力帮助。
五、参考文件
[1] 黄仁欣.EDA技术实用教程.北京:清华大学出版社,
[2] 潘松,黄继业.EDA技术和VHDL.北京:清华大学出版社,
[3] 江国强编著.EDA技术和应用(第三版)..北京:电子工业出版社,
[4] 夏宇闻编著.Verilog HDL数字系统设计教程..北京:北京航空航天大学出版社,
[5] 周祖成,程晓军,马卓钊编著.数字电路和系统教学试验教程.北京:科学出版社,
[6] 周润景,苏良碧.基于Quartus II 数字系统Verilog HDL设计实例详解.北京:电子工业出版社,
[7] (美国)Sanir Palnitkar 译者:夏宇闻 胡燕祥 刁岚松.Verilog HDL数字设计和综合(第2版).北京:电子工业出版社,
[8] 云创工作室.Verilog HDL程序设计和实践.北京:人民邮电出版社,
[9] 刘福奇,刘波.Verilog HDL应用程序设计实例精讲.北京:电子工业出版社,
[10] 张延伟,杨金岩,葛爱学.verilog hdl程序设计实例详解.北京:人民邮电出版社,
展开阅读全文