基于EDA的交通灯控制系统的设计.docx
- 文档编号:28965023
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:15
- 大小:723.33KB
基于EDA的交通灯控制系统的设计.docx
《基于EDA的交通灯控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于EDA的交通灯控制系统的设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于EDA的交通灯控制系统的设计
目录
第一章概述1
1.1EDA的概述1
1.1.1EDA技术的发展历程1
1.1.2EDA技术的基本特征1
1.2EDA的设计方法2
1.2.1传统的设计方法2
1.2.2现代的设计方法2
1.3硬件描述语言2
1.3.1硬件描述语言(VHDL)2
1.3.2VHDL具有的优点2
1.4数字系统3
1.4.1数字系统的概述3
1.4.2数字系统的功能3
第二章交通灯控制系统简介4
2.1交通灯控制系统概述4
2.2交通灯控制系统的功能应用4
2.3交通灯控制系统设计构成4
第三章交通灯控制系统的设计5
3.1交通灯控制系统的设计要求5
3.2设计思路5
3.3设计流程6
3.4设计步骤及程序7
3.4.1分频器部分的设计步骤7
3.4.2显示部分的设计8
3.4.3设计系统结构图建立工程11
3.4.4交通灯控制系统的仿真11
3.5硬件实现及调试结果12
3.5.1器件下载编程与硬件实现12
3.5.2引脚配置12
3.5.3调制结果13
第四章课程设计总结14
第五章参考文献15
第一章概述
1.1EDA的概述
电子设计自动化(ElectronicDesignAutomation,EDA)技术以计算机为基础工作平台,以微电子技术为物理基础,以现代电子技术设计技术为灵魂,采用计算机软件工具,最终实现电子系统或专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)的设计。
EDA技术科简单概括为以大规模可编程逻辑器件为设计载体,通过硬件描述语言或将逻辑图输入给相应EDA开发软件,经过编译和仿真,最终将所设计的电路下载到设计载体中,从而完成系统设计任务的一门新技术。
1.1.1EDA技术的发展历程
EDA经历了计算机辅助设计(CAD)、计算机辅助工程设计(CAED)和电子设计自动化(EDA)三个发展历程。
EDA工具的发展经历了四个历程:
一,设计输入工具的发展趋势;二,具有混合信号处理能力的EDA工具;三,仿真工具的发展;四,综合工具的发展。
在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
电子设计技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。
1.1.2EDA技术的基本特征
EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:
设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。
1.2EDA的设计方法
1.2.1传统的设计方法
传统的设计方法采用“由底向上”,具有以下特点:
(1)设计的方向是自底向上,先设计最小的单元电路。
(2)采用通用逻辑元器件。
(3)在系统硬件设计的后期进行调试和仿真。
(4)设计结果是多张电路图。
“由底向上”的设计方法是传统的IC和PCB的设计方法。
1.2.2现代的设计方法
EDA采用现代的设计方法--“自顶向下”的设计方法。
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。
然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。
采用“自顶向下”技术进行设计科分为三个主要阶段:
系统设计、系统的综合优化和系统实现。
1.3硬件描述语言
1.3.1硬件描述语言(VHDL)
是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。
VHDL是一种全方位的硬件描述语言,包括系统行为级。
寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由底向上的电路设计过程都可以用VHDL来完成。
1.3.2VHDL具有的优点
(1)VHDL的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。
(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑艄设计,灵活且方便,而且也便于设计结果的交流、保存和重用。
(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。
(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。
1.4数字系统
1.4.1数字系统的概述
数字系统是仅用数字来“处理”信息以实现计算和操作的电子系统。
1.4.2数字系统的功能
(1)将实现世界的信息转换成数字网络可以理解的二进制“语言”。
(2)仅用数字0和1完成所要求的计算和操作。
(3)将处理的结果以我们可以理解的方式返回给现实世界。
第二章交通灯控制系统简介
2.1交通灯控制系统概述
图2.1.1交通示意图
当汽车行驶至十字交通路口时,有3种选择:
向前,向左转弯,向右转弯。
根据我国的交通规则规定,汽车是靠右行驶,向右拐弯只要走弧形的支干道即可,不需受十字交通灯的束缚。
因此,本文主要考虑前行和左转这两种情况。
十字路口交通灯负责控制各走向红绿灯的状态及转换,并且各状态之间有一定的时间过渡。
同时,东西南北每条干道上都为人行横道设置了红绿灯,提醒过路行人在安全时刻穿越道路,以保证行人的安全。
示意图如图2.1.1所示
2.2交通灯控制系统的功能应用
交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。
2.3交通灯控制系统设计构成
城市路口交通信号控制系统大体上分为三种类型:
定周期的信号机、多时段且具有无电缆协调功能的微电脑型信号机以及联网式自适应多相位智能型信号机。
具体采用哪种类型,应根据其应用场合及特点加以确定。
其中,第一种类型以其成本低,设计简单,安装及维护方便等特点得到了广泛应用。
第三章交通灯控制系统的设计
3.1交通灯控制系统的设计要求
1.能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;
2.南北向为主干道,每次通行时间为25S,东西向为支干道,每次通行时间为15S;
3.能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。
其中,黄灯:
5S。
4.能实现特殊状态的功能。
按下SP键后,能实现以下特殊功能:
(1)显示倒计时的两组数码管闪烁;
(2)计数器停止计数并保持在原来的状态;
(3)东西、南北路口均显示红灯状态;
(4)特殊状态解除后能继续计数;
5.能实现全清零功能。
按下reset键后,系统实现全清零,计数器由初状态计数,对应状态的指示灯亮;
6.用VHDL语言设计上述功能的交通灯控制器,并用层次化方法设计该电路;
7.仿真、验证设计的正确性。
3.2设计思路
交通灯控制器的电路控制原理框图如图3.2.1所示,主要包括置数器模块、定时计数器模块、主控制器模块和译码器模块。
置数器模块将交通灯的点亮时间预置到置数电路中。
计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。
核心部分是主控制模块。
具体控制情况见表3.2.1。
图3.2.1电路控制原理框图
状态
主干道
支干道
时间/S
00
绿灯亮
红灯亮
20
01
黄灯亮
红灯亮
5
10
红灯亮
绿灯亮
10
11
红灯亮
黄灯亮
5
表3.2.1状态表
3.3设计流程
由以上要求可以得到该系统的程序流程图如图3.3.1所示。
其中,GA、RA、YA表示A支路的绿灯、红灯、黄灯,GB、RB、YB表示B支路的绿灯、红灯、黄灯,S表示特殊功能按键,T表示计时的时间。
图3.3.1程序流程图
3.4设计步骤及程序
3.4.1分频器部分的设计步骤
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityledcontrolis
port(reset,clk,urgen:
instd_logic;
state:
outstd_logic_vector(1downto0);
sub,set1,set2:
outstd_logic);
endledcontrol;
architectureaofledcontrolis
signalcount:
std_logic_vector(6downto0);
signalsubtemp:
std_logic;
begin
sub<=subtempand(notclk);
statelabel:
process(reset,clk)
begin
ifreset='1'then
count<="0000000";
state<="00";
elsifclk'eventandclk='1'then
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;
enda;
分频器如图3.4.1所示
图3.4.1分频器示意图
3.4.2显示部分的设计
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityledshowis
port(clk,urgen:
instd_logic;
state:
instd_logic_vector(1downto0);
sub,set1,set2:
instd_logic;
r1,g1,y1,r2,g2,y2:
outstd_logic;
led1,led2:
outstd_logic_vector(7downto0));
endledshow;
architectureaofledshowis
signalcount1,count2:
std_logic_vector(7downto0);
signalsetstate1,setstate2:
std_logic_vector(7downto0);
signaltg1,tg2,tr1,tr2,ty1,ty2:
std_logic;
begin
led1<="11111111"whenurgen='1'andclk='0'elsecount1;
led2<="11111111"whenurgen='1'andclk='0'elsecount2;
tg1<='1'whenstate="00"andurgen='0'else'0';
ty1<='1'whenstate="01"andurgen='0'else'0';
tr1<='1'whenstate
(1)='1'andurgen='1'else'0';
tg2<='1'whenstate="10"andurgen='0'else'0';
ty2<='1'whenstate="11"andurgen='0'else'0';
tr2<='1'whenstate
(1)='0'orurgen='1'else'0';
setstate1<="00100000"whenstate="00"else
"00000101"whenstate="01"else
"00010101";
setstate2<="00010000"whenstate="10"else
"00000101"whenstate="11"else
"00100101";
label2:
process(sub)
begin
ifsub'eventandsub='1'then
ifset2='1'then
count2<=setstate2;
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;
enda;
显示器如图3.4.2所示
图3.4.2显示器
3.4.3设计系统结构图建立工程
系统结构图如图3.4.3所示:
图3.4.3系统结构图
3.4.4交通灯控制系统的仿真
在QuartusII软件中导入交通灯控制程序,对此程序编译无错误后,建立Vectorwaveformfile文件保存时仿真文件名要与设计文件名一致。
仿真结果如图3.4.4所示:
图3.4.4仿真波形图
3.5硬件实现及调试结果
3.5.1器件下载编程与硬件实现
在进行硬件测试时,按键k1对应复位端reset,按键k2对应紧急开关urgent。
EDA实验开发系统上的时钟cp2对应计数时钟CLK,数码管M3、M4对应东西走向的时钟显示。
LED灯116、115、114对应东西走向的绿灯G1、黄灯Y1、红灯R1.数码管M1、M2对应南北走向的时钟显示。
LED灯11、12、13对应南北走向的绿灯G2、黄灯Y2、红灯R2。
对应的硬件结构示意图如图3.5.1所示
图3.5.1硬件结构示意图
3.5.2引脚配置
各引脚配置如图3.5.2所示:
图3.5.2各引脚配置
3.5.3调制结果
硬件结果如图3.5.3所示:
图3.5.3硬件实验结果
第四章课程设计总结
通过本次课程设计,我熟练运用了QuartusII软件的操作,进一步加深了对EDA课程的认知。
在做本次课程设计的过程中,出现了多次故障,使我发现自己在以前课堂上所做的实训内容并没有真正理解题目的内涵。
在本次课程设计中我深刻理解了交通灯控制系统的工作原理。
并加深了对交通灯原理和设计思路的了解。
本设计采用VHDL硬件描述语言文本输入方式,在确立总体预期实现功能的前提下,分层次进行描述,其中所用到的数据均可依现场情况而设置,修改方便灵活。
硬件实验中出现了多次错误,在同学和老师的帮助下我最终完成了硬件仿真实验结果,使我加固了自己的动手能力。
数字化时代的到来给人们的生活带来了极大的改变,有理由相信随着数字化的深入,交通灯控制器的功能将日趋完善。
而且VHDL语言对EDA产生的影响也是深远的,它缩短了电子产品的设计周期,为设计者提供了方便。
通过这次的课程设计,我进一步了解了EDA技术,收获很大,对VHDL编程、调试、硬件仿真有了进一步的深刻了解,同时也熟悉了EDA课程相关仪器设备的使用方法等技能。
第五章参考文献
[1]孙加存.电子设计自动化.西安电子科技大学出版社.2011
[2]唐亚军.电子设计自动化EDA技术[M].化学工业出版社.2002
[3]王永军.数字逻辑与数字系统设计[M].北京电子工业出版社.2001
[4]磷明权.VHDL数字控制系统设计范例[M].北京电子工业出版社.2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 EDA 交通灯 控制系统 设计