基于FPGA的智能交通灯的设计9943264337_第1页
基于FPGA的智能交通灯的设计9943264337_第2页
基于FPGA的智能交通灯的设计9943264337_第3页
基于FPGA的智能交通灯的设计9943264337_第4页
基于FPGA的智能交通灯的设计9943264337_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 绪 论1.1 交通控制系统以及交通红绿灯控制电路的发展现状 随着社会经济的发展,城市交通问题越来越引起人们的关注。出行交通的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 随着城市机动车量的不断增加,许多城市出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构

2、造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 车辆的数量持续增加,不断新建道路已不能很好地解决交通拥堵的现状,这还需要好的交通疏导,但交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。智能交通红绿灯控制电路是用于城市交通疏导的管理系统,它是现代城市交通监控指挥系

3、统中最重要的组成部分。智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化.1.2 智能交通红绿灯控制电路技术的现状 通信号控制系统大体上分为三种类型:定周期的信号机、多时段且具有无电缆协调功能的微电脑型信号机以及联网式自适应多相位智能型信号机。具体采用哪种类型,应根据其应用场合及特点加以确定。其中,第一种类型以其成本低,设计

4、简单,安装及维护方便等特点得到了广泛应用。本文讨论的城乡交通灯控制系统就属于该种类型。而随着各种控制器件的推出,交通灯控制电路得以更易实现并趋向智能化。 交通灯控制系统主要由时间发生器电路、光电检测电路、控制电路等几个部分组成。 目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计;有应用单片机实现对交通信号灯设计的方法。目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1两车道

5、的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。1.3 选题意义伴随着社会的发展以及人类生活水平的提高,汽车的数量在迅速增加。DEA技术的发展和应用领域的扩大与深入,EDA技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA的不断的增加,交通的问题日益突出,

6、单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。以下就是运用数字电子设计出的交通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。因此,在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现交通灯系统控制器的设计,利用Multisim8集成开发环境进行综合、仿真,并下载到CPLD可编程逻辑器件中,完成系统的控制作用。 1.4 本设计的工作1、任务设计一个交通红绿灯控制电路。 2、要求(1)设东、西方向为主路、南、北方向为辅路;(2)当东

7、、西方向绿灯亮(表示允许东西方向本辆直行或左拐能过十字路口),南、北方向亮红灯,反之,当南、北方向绿灯时,东、西方向应亮红灯;(3)采用超声波自动检(必需完成部分)(可采用CD4046BE锁相环作为接收处理模块)测交通状况并产生控制信号对信号灯进行控制,东、西方或南、北方向红绿信号应能每隔一定时间交替地显示;当主路绿灯后,若此时辅路无车时,绿灯时间最短不超少于40S;当辅路方向绿灯后,若此时主路无车时,绿灯时间最长不超过25S;(4)在交替之前,从第1S开始黄灯应以1Hz频率闪动至交替结束,交替时间为5S;(5)有倒计时显示功能。(6)确定调试方案,选择测试仪器;(7)安装电路和调试电路达到设

8、计要求。第2章 硬件部分简介2.1 具体方案论证与设计 主控数字部分采用CPLD控制方案1:根据原理框图,使用分立的外围元件采用555时基电路做成1Hz时基电路和40kHz超声波信号产生器。555定时器是一种双极型模拟数字兼容的集成器件,只需在其外部配上少量的阻容元件,就可以构成单稳触发器、多谐振荡器、施密特触发器等脉冲电路。由于它使用灵活、方便,电源范围大,因而广泛地应用在波形产生、变换、测量与控制等方面。以下为NE555管脚图及内部原理图常译码器采用的是七段字型译码器,其作用是将输入的4位BCD码DCBA译成与其对应的七段字型输出,用于驱动数码管,显示从0-9的数字。本实验采用74LS47

9、译码器,用来驱动共阴极的发光二极管显示器。中规模集成电路74LS47,是一种常用的七段显示译码器,该电路的输出为低电平有效,即输出为0时,对应字段点亮;输出为1时对应字段熄灭。该译码器能够驱动七段显示器显示015共16个数字的字形。输入A3、A2、A1和A0接收4位二进制码,输出Qa、Qb、Qc、Qd、Qe、Qf和Qg分别驱动七段显示器的a、b、c、d、e、f和g段。方案2:采用Verilog语言编写智能交通灯中计数部分控制部分以及译码部分,然后下载到芯片CPLD中,加上分频和超声波电路就可以实现其功能。由于采用VHDL语言编写程序时CPLD片内资源不够用,于是部分分频则由外部电路辅助完成。超

10、声波电路经测试,采用COX20106的信号处理电路一般用于测距电路,如若只用其信号作为检测信号,信号的处理会比较的复杂,不便于调试。因为信号只是用来检测车辆的有无,故采用锁相环电路来实现超声波车辆的检测。2.2 主控芯片的简介CPLD是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。CPLD主要是由可编程逻辑宏单元(MC,Macro Cell

11、)围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。器件特点:它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器

12、件。CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。电路如下EPM240芯片EPM240电源JTAG及晶振EPM240,数码管EPM240排针印制电路板第3章 智能交通灯控制电路原理3.1 智能交通灯控制电路原理框图分频电路(分成4K)CD4046BE 超声波信号检测(车辆检测)红、绿、黄灯七段数码时钟显示CPLD主控电路(译码、控制) 3.2 主控电路 采用CPLD开发板来实现,其中可以用程序实现时基电路,5秒、25秒、50秒的定时,以及信号处理,译码驱动等功能。3.3 超声波自动检测电路超声波简介超声检测是指用超声波来检测材料和工件、并以超声检测仪

13、作为显示方式的一种无损检测方法。超声检测是利用超声波的众多特性(如反射和衍射),通过观察显示在超声检测仪上的有关超声波在被检材料或工件中发生的传播变化,来判定被检材料和工件的内部和表面是否存在缺陷,从而在不破坏或不损害被检材料和工件的情况下,评估其质量和使用价值。     超声波是频率大于 20 kHz 的一种机械波(相对于频率范围在 20 Hz 20 kHz 的声波而言)。超声检测用的超声波,其频率范围一般在 0.25 MHz 15 MHz 之间。用于金属材料超声检测的超声波,其频率范围通常在 0.5 MHz 10 MHz 之间;而用于普通钢

14、铁材料超声检测的超声波,其频率范围通常为 1 MHz 5 MHz。    超声波具有众多与众不同的特性,如:声束指向性好(能量集中);声压声强大(能量高),传播距离远;穿透能力强;在界面处会产生反射、透射(或折射)和波型转换,以及产生衍射等。如下原理图,采用CD4046BE作为接收处理模块。先由4M的晶振产生40Khz的信号,然后经过信号的处理驱动LST发射出车辆检测信号,然后通过另一端LSR接受超声波信号,当有车通过路口时,在SIGNA IN就会输出一个低电平信号至CPLD主控电路超声波发送信号电路:超声波接收信号电路:当超声波探头没有遇到障碍物时14

15、脚的频率波形如下:当超声波探头遇到了障碍物时的14脚的频率波形如下:有关锁相环CD4046BE的介绍:3.4 分频电路用三个74LS163将一个4M的晶振分成4K的频率74LS04:74LS00:Verilog编写程序如下:/ 程序说明开始/ =/ 功能: 通过超声波探测返回信号,对十字路口的交通灯实施智能控制/ 参数: en, clk, lampm, lampn, msignal, nsignal,segout,bitout/ 输入参数: en,clk,msignal,nsignal/ 输出参数: lampm,lampn,segout,bitout/ 主要思路: 本设计分为设置各亮灯时间,设

16、置亮灯顺序并实行减法计数,最后显示倒计时时间和各种灯,在探测信号发生变化时会有新的计时时间/ 日期: 2009/9/ 版本:/ 程序编写人员:/ 程序测试记录:/ =/ 模块说明结束module traffic(en, clk, lampm, lampn, msignal, nsignal,segout,bitout);input en , nsignal , msignal ; /定义两条路的探测信号input clk; /时钟信号50Moutput2 :0 lampm , lampn ; /定义灯的输出output3 :0 segout ; /数码管输出位选output6 :0 bitou

17、t ; /数码管输出段选reg 2 : 0 lampm ,lampn ;reg 31 : 0 clk_for_1HZ ; reg clk_1HZ ; /将50M信号分频至1HZreg 6 : 0 moutg , mouts , noutg , nouts ;reg 7 : 0 numm , numn ;reg tempm = 0 , tempn = 0 ;reg 1 : 0 countm = 2'b00 , countn = 2'b00 ; /两路状态变量reg 7 : 0 mred , mgreen , myellow, nred, ngreen, nyellow; /各灯亮

18、时间/task shown;input3:0 in;output6:0 out;begin case(in) / 数码管译码输出0 : out = 7'b0000001 ; 1 : out = 7'b1001111 ;2 : out = 7'b0010010 ;3 : out = 7'b0000110 ;4 : out = 7'b1001100 ;5 : out = 7'b0100100 ; 6 : out = 7'b0100000 ;7 : out = 7'b0001111 ;8 : out = 7'b0000000 ;

19、9 : out = 7'b0000100 ; default : out <= 7'bzzzzzzz ; endcaseendendtask/ always (numm or numn) begin shown(numm3:0,moutg); / 调用函数shown,输出显示译码 shown(numm7:4,mouts); shown(numn3:0,noutg); shown(numn7:4,nouts); end/always (posedge clk) begin /1HZ的分频程序 if (clk_for_1HZ = 32'd25_000_000) beg

20、in clk_for_1HZ = 32'd0 ; clk_1HZ = clk_1HZ ; end else clk_for_1HZ = clk_for_1HZ + 1 ; end/LED inst_shuma (.D1(moutg) , .D2(mouts) , .D3(noutg) , / 调用shuma实现动态扫描 .D4(nouts) , .clk(clk) , .segout(segout) , .bitout(bitout) ); /=/功能:交通灯的工作逻辑,两路亮灯对应为 主路 辅路/ 绿 30s 红 35s/ 黄 5s 红/ 红 20s 绿 15s/ 红 黄 5s/ 在

21、探测到信号时执行新的时序 /=always (posedge clk_1HZ) begin /主路逻辑 if(!en) begin if(!tempm) /减法计数控制,为0时输入计数初值 begin tempm <= 1; /启动减法计数,等待置数 if(countn = 2'b00 && countm = 2'b00) begin if(nsignal = 0) mgreen <= 8'b0101_0000 ; else mgreen <= 8'b0011_0000 ; if(msignal = 0) mred <=

22、8'b0011_0000 ; else mred <= 8'b0010_0000 ; myellow<= 8'b0000_0101 ; end case(countm) / 设置主路亮灯秩序 2'b00: begin numm <= mgreen; /有车执行既定的30S绿灯时间lampm <= 3'b101; /亮绿灯countm <= 2'b01; /转至下一状态 end 2'b01: begin numm <= myellow; lampm <= 3'b110;countm <

23、= 2'b10; end /黄灯时间维持不变 2'b10: begin numm <= mred; /有车信号执行既定时间 lampm <= 3'b011; /亮红灯countm <= 2'b00; /返回至初始状态 enddefault: begin numm <= mgreen; lampm <= 3'b101; countm <= 2'b01; end /出错亮红灯 endcase end else begin / tempm = 1进行减法计数 if(numm > 1) if(numm3:0=0)

24、 begin numm3:0 <= 4'b1001; /十进制的减法计数 numm7:4 <= numm7:4-4'd1; end else numm3:0 <= numm3:0-4'd1; if(numm = 2) tempm<=0; /减法计数到2,开始置数; end end else begin /en无效亮红灯,计数初值为0,等待置数 lampm <= 3'b100; countm <= 0; tempm <= 0; endend / end always模块/always (posedge clk_1HZ) b

25、egin /辅路逻辑 if(!en) begin if(!tempn) /减法计数控制,为0时输入计数初值 begin tempn<=1; /启动减法计数,等待置数 if (countn = 2'b00 && countm = 2'b00 )beginif(nsignal = 0) nred <= 8'b0101_0101 ; elsenred <= 8'b0011_0101 ;if(msignal = 0)ngreen <= 8'b0010_0101 ;elsengreen <= 8'b0001_0

26、101 ;nyellow<= 8'b0000_0101 ;end case(countn) 2'b00: begin numn <= nred; /有车执行既定的35S红灯时间 lampn <= 3'b011; /亮红灯countn<= 2'b01; /转下一状态 end 2'b01: begin numn <= ngreen; /否则执行既定时间15Slampn <= 3'b101; /亮绿灯countn <= 2'b10; /转下一状态 end 2'b10: begin numn &l

27、t;= nyellow; /维持黄灯时间不变lampn <= 3'b110 ;countn <= 2'b00 ; end default: begin numn <= nred; lampn <= 3'b011;countn<= 2'b01; end /出错亮红灯 endcase end / 进行减法计数 else begin if(numn >1) if(!numn3:0) beginnumn3:0 <= 4'b1001; numn7:4<=numn7:4-4'd1; end else numn3

28、:0 <= numn3:0-4'd1; if (numn = 2) tempn <= 0; end end else begin lampn <=3'b100; tempn <=0; countn <=0; endend / end always模块/endmodule/ =/ LED动态扫描verilog 代码,D14为数码管输入/ 2009/9 By duan wen/ =module LED(clk , segout , bitout , D1 , D2 , D3 , D4);input clk ; / 时钟信号50Minput 6 : 0 D1 , D2 , D3 , D4 ; / 输入信号output 3 : 0 segout ; / 输出位选output 6 : 0 bitout ; / 输出段选reg 3 : 0 segout ;reg 6 : 0 bitout ;reg 14 : 0 count_for_clk ; /延时计数器always (posedge clk) begin /延时程序 count_for_clk <= count_for_clk + 14'd1 ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论