交通灯控制电路设计.docx
- 文档编号:27648216
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:47
- 大小:2.06MB
交通灯控制电路设计.docx
《交通灯控制电路设计.docx》由会员分享,可在线阅读,更多相关《交通灯控制电路设计.docx(47页珍藏版)》请在冰豆网上搜索。
交通灯控制电路设计
交通灯控制电路设计
摘要
传统的交通灯控制电路通常是通过单片机或者可编程逻辑器件实现,而本文介绍了基于现场可编程门阵列技术和QuartusII开发平台实现十字路口交通灯控制电路的一种方案。
在整个设计过程中,首先进行验证。
实验结果表明,该设计基本实现了交通灯控制系统所要求的控制功能,包括倒计时时间显示功能、特殊状态控制功能以及主、支干道的红、黄、绿灯交替显示功能,表明本文所述的设计方案正确。
本文结合交通灯控制电路的设计过程,通过整个设计过程可以看出现场可编程门阵列在电子系统设计中的重要地位和美好前景。
关键词:
交通灯控制电路,EDA,VHDL,FPGA,QuartusII
ABSTRACT
Thetraditionaltrafficlightcontrolsystemmajorityrealizesthroughthemonolithicintegratedcircuitorprogramablelogicdevices.ThisarticleintroducedonekindofplanwhichisbasedonFPGAandQuartusIIprogrammingenvironmenttorealizethecrossroadstreetintersectiontrafficlightcontrolsystem.
Intheprocessofthisdesign,thefirstthingistodesignThenusetheVHDLhardwaredescriptionlanguagetowritetheprogramofeachblock.andotherblocks;thestatecontrolblockuseTheproceduresofeachmodelhavebeencarriedonthetranslationandsimulationundertheenvironmentofQuartusIIofAlteraCorporation,anddownloadedonthecomponentCycloneEP1C6Q240C8.Thecountdowntimedemonstratingthecontrollingprocessbasically,includingthecountdowntimedemonstratingthefunction,thespecialstatecontrolfuntionandthemainandthe’red,yellow,andgreenlightdemonstratingthefunctionalternately,theconfirmationresultindicatesthatthesystem’sdesignproposalisaccurate.
ThisarticleunifiethetrafficlightcontrolsystemdesignprocessandsimplyintroducetheEDAandtheFPGA’s,theadvantagesoftheveryhardwaredescriptionlanguageandtheuseoftheGW48
KEYWORDS:
trafficlightcontrolcirciut,EDA,VHDL,FPGA,QuartusII
目 录
前 言
交通灯控制系统主要用于城市交通信号的控制,是解决城市交通问题的关键。
该系统采用电子自动化系统控制四路交通信号灯的状态转变,以达到控制车辆正常行驶的目的。
因此,做基于EDA技术平台的交通控制系统很重要。
交通信号控制系统是现代城市交通控制和疏导的主要手段,而作为城市交通基本组成部分的平面交叉路口,其通行能力是解决城市交通为问题的关键,而交通信号灯又是交叉路口必不可少的交通控制手段。
目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的,在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。
目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车。
现在国内一些交通灯的设计采用FPGA实现,这些设计主要考虑在EDA技术的基础上,利用FPGA的相关知识设计交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过QuartusⅡ软件进行了模拟仿真,并下载到FPGA器件中进行硬件的调试,验证设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。
例如:
主要适用于在两条干道汇合点形成的十字交叉路口的交通信号灯控制电路,路口设计两组红绿灯分别对两个方向上的交通运行状态进行管理。
交通灯的持续闪亮时间由键盘输入控制。
设两组红绿灯方向分别为A、B,当B方向的红灯亮时,A方向对应绿灯亮,由绿灯转换成红灯的过渡阶段黄灯亮,即B方向红灯亮的时间等于A方向绿灯和黄灯亮的时间之和。
同理,当A方向的红灯变亮时,B方向交通灯也遵循此规则。
本交通灯控制电路设计主要是针对小型十字路口的,小路口通车量相对较少,本交通控制电路即可实现合理控制。
总体方案设计完以后,在QuartusII上完成了交通灯控制系统的设计、综合以及仿真,并最终在Cyclone系列的芯片EP1C6Q240C8上验证设计并实现了基于FPGA的交通控制系统。
绪论
设计背景
交通灯控制电路实际就是交通灯控制器的内部电路。
所谓交通灯控制器,就是为管理交通工具和行人的动向,保障道路安全通畅而设置的一类固定不动的灯具。
在今天,交通灯控制器安装在各个路口上,它已经成为疏导交通最常见和有效的手段。
基于FPGA(FieldProgrammableGateArray)的设计方法具有设计灵活、易于修改、设计周期短的优点。
此外,随着设计语言、电子设计自动化工具和FPGA器具的不断完善和发展,基于FPGA的设计方法优点越来越明显。
因此,本次交通灯控制电路的设计采用基于VHDL语言和FPGA的方法来实现所要求的功能
主要设计功能
本设计主要是针对小型十字路口的,小路口通车量相对较少,最基本的交通控制系统即可实现合理控制。
本设计的主要功能:
1、PGA设计一个交通灯控制电路,其中主模块实现对交通灯的状态控制,以及各模块之间的逻辑控制;
2、状态控制模块利用红绿黄三组发光二极管模拟十字路口交通灯状态,实现对交通灯的状态控制;
3、计时模块实现对事件的计时,本系统采用倒计时控制;
4、时间显示模块实现在LED数码管上的时间显示刷新功能。
§.3论文结构
本文首先从整体上叙述了相关部分工作的要点,其次介绍了设计使用的实验开发环境,然后论述了整体设计的实现方案,最后进行了系统的实验验证。
论文内容具体安排如下:
第一章,阐述设计的背景及实现功能
第二章,介绍设计的实验开发环境
第三章,整体设计的论述
第四章,主要功能模块设计与仿真
第五章,交通灯控制系统的硬件实现
最后总结在设计过程中所遇到的问题。
实验开发环境
EDA技术概论
EDA(ElectronicDesignAutomation)技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直到实现既定的电子线路系统功能。
EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现
在现在,人们对EDA的概念或范畴用得很宽,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
FPGA应用特点
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
VHDL语言
VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)的应用主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
与其他硬件描述语言相比,VHDL具有以下特点:
功能强大、设计灵活,VHDL。
具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。
它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。
VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。
VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
支持广泛、易于修改。
由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。
强大的系统硬件描述能力。
VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。
而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。
另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。
VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。
独立于器件的设计、与工艺无关。
设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。
当设计描述完成后,可以用多种不同的器件结构来实现其功能。
很强的移植能力。
VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。
易于共享和复用。
VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。
这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。
QuartusII设计流程
QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII设计的流程图如图2.1所示,可以使用QuartusII软件完成设计流程的所有阶段。
它是完整且易用的独特解决方案,其设计流程主要包括设计输入、综合、布局布线、仿真、时序分析、编程和配置。
图2-1QuartusII的设计流程
实验硬件平台
本设计采用的是康芯公司的GW48系列EDA实验开发系统上验证的,GW48实验平台功能强大、配置繁多。
由于设计是在模式5(模式五的基本电路如图2.2所示)下仿真设计的,所以主要用到的配置如下:
1、并行下载口:
此接口通过下载线与微机的打印机口相连。
来自PC机的下载控制信号和CPLD/FPGA的目标码将通过此口,完成对目标芯片的编程下载。
编程电路模块能自动识别不同的CPLD/FPGA芯片,并作出相应的下载适配操作。
图2-2NO.5的简易电路
2、键1~键8:
为实验信号控制键,此8个键受“多任务重配置”电路控制,它在每一张电路图中的功能及其与主系统的连接方式随SW9的模式选择而变。
3、键9~键12:
实验信号控制键,此4个键不受“多任务重配置”电路控制,使用简单,就分为高低电平两种模式。
4、数码管1~8/发光管D1~D16:
受“多任务重配置”电路控制,可以根据编程显示需要的状态。
5、数码管9~14/发光管D17~D22:
不受“多任务重配置”电路控制(仅GW48—GK/PK型含此发光管),它们的连线形式简单明了,都是采用了共阴极的接法,使用时给予高电平信号,对应的数码管会显示数字,指示灯就会发光。
6、“时钟频率选择”P1A/JP1B/JP1C:
为时钟频率选择模块。
通过短路帽的不同接插方式,使目标芯片获得不同的时钟频率信号。
对于“CLOCK0”JP1C,同时只能插一个短路帽,以便选择输向“CLOCK0”的一种频率。
整体设计论述
总体设计方案
引言
实现红黄绿灯的自动指挥是城市交通管理自动化的重要课题之一。
通过分析可以知道,所涉及的交通灯控制电路要能够使用于一条有主干道和支干道交汇处得十字路口(假设东西方向为主干道,南北方向为支干道)。
且遵循“主干道优先考虑”原则,主、支干道红、绿灯的时间不完全一致,在正常情况下主干道允许车辆通行的时间更长。
在绿灯转换为红灯的过程中有黄灯进行,使车辆有足够的时间停下来。
并且在主、支干道各有两组数码管,以便显示相应状态的倒计时。
另外由VHDL语言合理设计交通灯控制电路的功能,以使绿、黄、红灯的转换有一个标准的转换顺序和时间间隔。
依据设计要求,最终得到如图3.1所示的系统框图。
图3-1系统框图
由图可知系统共分为三个模块,每个模块产生不同的脉冲信号,用来连结各个模块。
各个模块分工如下:
分频模块:
根据系统的基准时钟(即CLK)产生需要的时钟,提供给控制模块。
控制模块:
根据总体要求,实现各个功能的控制。
该模块中分别有外部控制信号和内部产生的脉冲信号,分别来控制显示模块。
显示模块:
该模块分为LED指示灯和数码管显示两个部分,指示灯用于显示红、黄、绿灯的状态,数码管用于显示倒计时读秒。
结语
总体设计流程
本设计一共定义了其七个状态,而主要循环状态有四个,除了初试状态外,其它三个状态可以由外部选择控制。
引出图
图3-2总体控制电路的状态转换图
在正常情况下的一个完整周期内,交通灯控制电路一共有四种状态,分别是S0、S1、S2、S3。
其运行方式为S0→S1→S2→S3,S3结束后再回到S0状态,整个周期持续60秒。
R为重新设置信号,重新设置后系统转换为S0状态开始的新循环。
SPC为紧急控制信号,为高电平时系统转换为S6状态,状态结束后系统重新设置,转换为S0状态。
WE和SN分别为主、支干道控制信号。
当主干道车辆很多时,WE为高电平,此时系统转换为S4状态,S4状态结束后系统转换为S1状态。
当支干道车辆相对较多时,SN为高电平,此时系统转换为S5状态,S5状态结束后系统转换为S3状态,开始新的循环。
各个状态具体的运行方式如下所述:
S0:
主干道绿灯亮、支干道红灯亮。
此时主干道车辆允许通行,支干道车辆禁止通行。
整个过程持续30秒。
S1:
主干道黄灯亮、支干道红灯亮。
此时提醒主干道车辆准备停车,支干道车辆禁止通行。
整个过程持续5秒。
S2:
主干道红灯亮、支干道绿灯亮。
此时主干道车辆禁止通行,支干道车辆允许通行。
整个过程持续20秒。
S3:
主干道红灯灯亮、支干道绿灯亮。
此时提醒支干道车辆准备停车,主干道车辆禁止通行。
整个过程持续5秒。
S4:
主干道绿灯亮、支干道红灯亮。
此时主干道车辆允许通行,支干道车辆禁止通行。
整个过程持续60秒。
S5:
主干道红灯亮、支干道绿灯亮。
此时主干道车辆禁止通行,支干道车辆允许通行。
整个过程持续4秒。
S6:
主干道、支干道均为红灯亮,车辆禁止通行,整个过程持续30秒。
总体状态定义好以后,根据交通灯控制器的功能要求,将功能要求转化为系统流程图;然后,对系统进行模块的划分、定义各个模块的具体功能。
再开始对各个模块用VHDL语言编程,并在QuartusII环境下进行编译及功能仿真;最后,将编程文件下载到FPGA器件CycloneEP1C6Q240C8中。
主要功能模块设计与仿真
时钟分频模块
分频模块的作用是为系统提供所需要的计时脉冲。
芯片CycloneEP1C6Q240C8上的时钟源为4MHZ,而系统的时钟模块需要1HZ的脉冲,因此需要对4MHZ的时钟信号进行分频,产生1S的方波,作为系统的计时脉冲。
其电路符号如图4.1所示:
图4-1时钟分频模块电路符号
在模块中,CLK采用系统的4MHZ时钟脉冲,CLK_1HZ为分频器产生的输出脉冲。
其控制程序如下:
process(clk)
begin
ifclk'eventandclk='1'then--等待时钟上升沿
cnt1<=cnt1+1;
ifcnt1=2000000then--四百万分频
clk1<=notclk1;
clk_1hz<=clk1;
cnt1<=0;
endif;
endif;
endprocess;
分频模块的仿真图如图4.2所示:
图4-2时钟分频模块仿真图
此图为将程序中2000000改为20后的仿真图,目的是能够明确的看出分频作用。
由上图可以看出,当CLK给定以后,输出产生的是1HZ的时钟信号。
交通灯控制模块
控制模块依据外部输入输出信号,来控制交通灯其他部分协调工作。
交通灯控制模块共定义了S0、S1、S2、S3、S4、S5、S6六种状态。
本文第二章已经对各个状态作了具体描述,在此不再赘述。
该模块的控制程序如下所示:
begin
p1:
process(r,spc,we,sn,clk1hz)
begin
ifr='1'then--复位键为‘1’
state<=s0;t1<=29;t2<=34;
elsifwe='1'then--东西方向控制键为‘1’
state<=s4;t1<=59;t2<=64;
elsifsn='1'then--南北方向控制键为‘1’
state<=s5;t1<=44;t2<=39;
elsifspc='1'then--紧急控制键为‘1’
state<=s6;t1<=29;t2<=29;
elseifclk1hz'eventandclk1hz='1'then
casestateis
whens0=>r1<='0';--状态S0
y1<='0';
g1<='1';
r2<='1';
y2<='0';
g2<='0';
t1<=t1-1;t2<=t2-1;
ift1=0then
state<=s1;t1<=4;t2<=4;
endif;
whens1=>r1<='0';--状态S1
y1<='1';
g1<='0';
r2<='1';
y2<='0';
g2<='0';
t1<=t1-1;t2<=t2-1;
ift1=0then
state<=s2;t1<=24;t2<=19;
endif;
whens2=>r1<='1';--状态S2
y1<='0';
g1<='0';
r2<='0';
y2<='0';
g2<='1';
t1<=t1-1;t2<=t2-1;
ift2=0then
state<=s3;t1<=4;t2<=4;
endif;
whens3=>r1<='1';--状态S3
y1<='0';
g1<='0';
r2<='0';
y2<='1';
g2<='0';
t1<=t1-1;t2<=t2-1;
ift1=0then
state<=s0;t1<=29;t2<=34;
endif;
whens4=>r1<='0';--状态S4
y1<='0';
g1<='1';
r2<='1';
y2<='0';
g2<='0';
t1<=t1-1;t2<=t2-1;
ift1=0then
state<=s1;t1<=4;t2<=4;
endif;
whens5=>r1<='1';--状态S5
y1<='0';
g1<='0';
r2<='0';
y2<='0';
g2<='1';
t1<=t1-1;t2<=t2-1;
ift2=0then
state<=s3;t1<=4;t2<=4;
endif;
whens6=>r1<='1';--状态S6
y1<='0';
g1<='0';
r2<='1';
y2<='0';
g2<='0';
t1<=t1-1;t2<=t2-1;
ift1=0then
state<=s1;t1<=29;t2<=34;
endif;
w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 控制电路 设计