基于FPGA的交通灯控制系统.doc
《基于FPGA的交通灯控制系统.doc》由会员分享,可在线阅读,更多相关《基于FPGA的交通灯控制系统.doc(28页珍藏版)》请在咨信网上搜索。
1、基于FPGA的交通灯控制系统摘 要:针对现实中越来越严重的城市交通拥堵现象,提出了一种城市十字路口交通信号灯控制与FPGA实现的新方法。利用超高速硬件描述语言VHDL设计十字路口交通信号灯控制器,实现主干道和支干道的交通控制功能,实时监测每个路口的车辆通行情况,以此更改主干道与支干道的交通灯状态,提高十字路口的车辆通行效率,最后通过硬件测试实现具体功能。关键词:VHDL FPGA 交通灯控制一、 概述1。1 设计要求:(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行
2、线外。(2)红、绿、黄发光二极管作信号灯.(3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。(4)主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。(5)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路.1。2 课题分析(1)主支道路分4种行车状况,无无、无有、有无、有有,此信号从传感器输出信号得到,作为系统的输入,在本系统中用拨片开关模拟状态输入。(2)主支道路有4种亮灯情况:主绿支红、主黄支
3、红、支绿主红、支黄主红。(3)只要支路无车通行,则一直为主绿支红状态,只有支路有车通过才会进入支绿主红状态.(4)系统可以根据行车情况智能进入相应亮灯情况,提高了十字路口的通车效率.(5)用6个发光二极管作为主道路绿黄红三灯显示输出和支道路绿黄红三灯显示输出;用4个数码管分别作为主支道路倒计时显示输出.二、 系统方案设计2。1 整体模块设计2。1.1整体设计思路整体设计思路为:交通灯控制系统主要包括两个模块,即交通灯控制模块和倒计时显示模块.首先利用教学实验箱提供的1HZ时钟信号,实现计数功能,1s计数一次,同时设定主干道、支干道的交通灯的具体亮灯时间,并将计数结果传给倒计时模块,以实现倒计时
4、模块显示的时间与交通灯的状态相对应。在交通灯控制过程中,用状态机来实现,设定主干道、支干道的行车检测信号,用以进行状态变换。每进入一个状态就开始计数,该状态结束则清零,在下个状态开始时重新计数,实现每个状态亮灯时间不同的需求.2。1。2 整体设计框架根据系统要求可知:输入信号为系统时钟,主支道路行车情况模拟输入。输出信号为主支道路红绿黄显示信号、倒计时显示.2。2 交通灯状态转换模块设计由原理分析可知系统需要在4种亮灯状态之间切换,所以需要设计一个状态转换控制模块,而倒计时显示则来自内部的计数,所以状态转换模块内部包含了计数模块,又因为二极管模拟红绿灯显示是和亮灯状态紧密相关的,所以相应的二极
5、管控制整合在状态转换控制模块内部。故在状态转换模块内部包含3个子模块,分别为计数模块、状态转换控制模块、二极管实现模块。最后因为数码管动态显示模块需要根据亮灯状态决定输出,所以本模块还需增加计数输出以及状态输出信号.该模块计数采用1hz的时钟脉冲,以期实现交通灯的秒数设置。状态循环控制:S0:主干道绿灯支干道红灯45sS1:主干道黄灯支干道红灯5sS2:主干道红灯支干道绿灯25sS3:主干道红灯支干道黄灯5s2。3 数码管倒计时显示模块设计由于此模块采用了数码管的动态显示原理,所以代码量较多,单独分为一个模块,又因为动态显示倒计时间是与亮灯状态紧密相关的,所以必须从交通灯状态控制模块获取相关的
6、状态输入,引出状态输出信号,以供本模块使用。又因为动态显示需要较高的时钟频率,所以本模块的时钟信号采用系统输入信号,而非之前计数的1hz时钟。4位数码管的前两位显示支干道的亮灯时间,后两位显示主干道的亮灯时间。三、 硬件设计3.1总体设计框图由clk1hz输入,用来计数,道路行车检测由pass_state1,pass_state0控制,pass_state1为主干道行车检测,pass_state0为支干道行车检测。1为有车通行,0为无车通行,输出为数码管的位选信号和段选信号,以及6个二极管控制信号。3。2交通灯状态转换模块输入计数时钟和行车控制,输出主干道以及支干道红绿黄三灯的控制信号,最重要
7、的是将此时的计数时间输出给倒计时模块,并将4个状态的状态输出信号给倒计时模块,实现在对应的状态下显示对应的时间。3.3数码管倒计时显示模块为了实现数码管动态扫描,此模块的时钟使用较高频率,,输入上级电路的计数输出和状态输出,给出位选以及段选信号的控制。四、 硬件测试4。1 引脚分配Pin_3-1hz时钟输入,用于状态控制模块Pin_3324khz时钟输入,用于数码管动态扫描Pin_4K1 支干道行车模拟输入Pin_5-K2 主干道行车模拟输入Pin_6,Pin_8,Pin_10-数码管位选信号Pin_11,Pin_12,Pin_13,Pin_14,Pin_15,Pin_30,Pin_31数码管
8、段选信号Pin_34-R1主干道红灯Pin_35-Y1 主干道黄灯Pin_36-G1 主干道绿灯Pin_37R2 支干道红灯Pin_39-Y2 支干道黄灯Pin_40G2 支干道绿灯4。2 仿真结果交通灯显示:倒计时显示:S1状态(支红主黄):S0状态(支红主绿)五、 总结基本实现了设计所需的功能,能根据道路行车情况实现交通灯的智能控制,并将红绿灯通行的时间通过数码管直观显示出来,较好的完成了十字路口交通情况的模拟。六、 附录6.1 顶层模块源程序LIBRARY IEEE; -自动交通灯控制系统顶层描述USE IEEE。STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC
9、_UNSIGNED。ALL;ENTITY TRAFFIC_LIGHT_CONTROL ISPORT ( CLK1hz,CLK1khz : IN STD_LOGIC; 信号时钟输入PASS_STATE : IN STD_LOGIC_VECTOR(1 DOWNTO 0); -主支通道的通车情况,低位为支通道高位为主通道,0为无车1为有车ALIGHT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); 主干道红绿黄灯控制信号BLIGHT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -支干道红绿黄灯控制信号SEL : OUT STD_LOGIC_VECT
10、OR(2 DOWNTO 0); -输出数码管位选信号LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) -输出数码管段选信号);END ENTITY TRAFFIC_LIGHT_CONTROL;ARCHITECTURE behav OF TRAFFIC_LIGHT_CONTROL ISCOMPONENT STATE_CONTROLPORT ( CLK1 : IN STD_LOGIC; -1Hz时钟信号输入PASS_STATE_IN : IN STD_LOGIC_VECTOR(1 DOWNTO 0); 主支通道的通车情况,低位为支通道高位为主通道,0为无车1为有车A
11、_LIGHT: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -主干道红绿黄灯控制信号B_LIGHT: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -支干道红绿黄灯控制信号CNTOUT : OUT STD_LOGIC_VECTOR(5 DOWNTO 0); 已计数时间输出STATEOUT : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) 状态输出,传递给数码显示模块);END COMPONENT;COMPONENT DISPLAYPORT ( CLK2 : IN STD_LOGIC; 1KHz时钟信号输入CNTIN : IN S
12、TD_LOGIC_VECTOR(5 DOWNTO 0); -亮灯已过时间输入STATEIN : IN STD_LOGIC_VECTOR(1 DOWNTO 0); 状态输入LED7SOUT : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -数码管段选信号输出SELOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) 数码管位选信号输出);END COMPONENT;SIGNAL MSTATE : STD_LOGIC_VECTOR(1 DOWNTO 0); -中间信号传递通车状态SIGNAL MCNT : STD_LOGIC_VECTOR(5 DOW
13、NTO 0); -中间信号传递亮灯已计数时间BEGIN 例化语句U1: STATE_CONTROL PORT MAP (CLK1=CLK1hz,PASS_STATE_IN=PASS_STATE,B_LIGHT=BLIGHT, A_LIGHT=ALIGHT, CNTOUT=MCNT, STATEOUT=MSTATE);U2: DISPLAY PORT MAP(CLK2=CLK1khz,CNTIN=MCNT,STATEIN=MSTATE,LED7SOUT=LED7S,SELOUT=SEL);END ARCHITECTURE behav;6.2 交通灯状态转换模块源程序LIBRARY IEEE;US
14、E IEEE.STD_LOGIC_1164.ALL;USE IEEE。STD_LOGIC_UNSIGNED。ALL;ENTITY STATE_CONTROL ISGENERIC ( GREENA_CNT:INTEGER:=45; -主通道绿灯亮的时间45s YELLOWA_CNT:INTEGER:=5; -主通道黄灯亮的时间5s GREENB_CNT:INTEGER:=25; -支通道绿灯亮的时间25s YELLOWB_CNT:INTEGER:=5);支通道黄灯亮的时间5sPORT ( CLK1 : IN STD_LOGIC; -1Hz时钟信号输入PASS_STATE_IN : IN STD_
15、LOGIC_VECTOR(1 DOWNTO 0); -主支通道的通车情况,低位为支通道高位为主通道,0为无车1为有车A_LIGHT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -主干道红绿黄灯控制信号B_LIGHT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -支干道红绿黄灯控制信号CNTOUT : OUT STD_LOGIC_VECTOR(5 DOWNTO 0); -已计数时间输出STATEOUT : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) -剩余时间输出显示);END ENTITY STATE_CONTROL
16、;ARCHITECTURE behav OF STATE_CONTROL ISTYPE STATES IS (ST0,ST1,ST2,ST3); -4个状态分别为【主绿支红45s、主黄支红5s、支绿主红25s、支黄主红5s、】SIGNAL STATE : STATES:=ST0; -初始化状态为状态0SIGNAL CNT_EN : STD_LOGIC:=0; -计数使能控制信号,初始不计数SIGNAL CNT : STD_LOGIC_VECTOR(5 DOWNTO 0):=”000001; 因为初始不计数,但已过一个周期,所以初值为1BEGINPROCESS(CLK1)BEGINIF CLK1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 交通灯 控制系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。