重庆大学光电工程学院 文 慧 程俊奎
城市交通显而易见是一个集经济性与社会公益性于一体的领域,近些年来随着社会经济的巨大发展,城市街道车辆大幅度增长,城市交通面临着巨大压力。目前,城市所使用的交通灯控制器往往是采用定时控制方案,这种配时方案带有与生俱来具有巨大的缺陷:在实际生活中,路口的车流量通常是不固定的,而且口两个走向车辆比例是不断变化着的,导致一个方向的车早已过完,而另一个方向的车却排着长队在等红灯,至使十分宝贵的十字路口空间被较长时间闲置。不合理的交通灯控制系统,已经成为阻碍城市道路交通发展的一个瓶颈。
方案要求能够据车辆的实际数量,及时调整交通灯的红绿灯周期;根据两个走向车辆实际车流量的变化情况,实时地调整两个走向的绿灯时间。能够有效的提高十字路口红绿灯的效率。具体实施方案可以这样:在十字路口的四个街口各设置两个车辆检测装置A,B,如图1所示。A和B在每辆汽车通过检测装置时都要产生一个中断,如果用运算器对A中断脉冲作加法计数,B中断脉冲作减法计数,便可得到停在AB范围内车辆的数量。根据十字路口交通信号灯一般按“绿—黄—红—绿”顺序循环显示的规律,红绿灯的配时规则如是:当某一个走向的红灯结束瞬间时,采样该走向两个路口车辆的数值作为确定该走向即将开始的绿灯持续时间的依据,并作为另一方向红灯持续时间的依据。AB两探头相距150米(可根据该地区实际交通情况调整),在此范围内大约能停30辆车,可根据实际的车流量,设计不同的绿灯方案。由于两个走向的绿灯的持续时间都可以根据当时即将通行走向的车辆数实时地进行自动计算,如此也就实现了红绿灯的持续时间随被检测车辆数的增减而进行相应的变化;两个走向的绿灯时间随车辆比的变化而变化,能够在较大程度上满足实时监控智能配分的要求。
图1 检测器分布图
图2
测装置的设计:
在实际城市设计中,大多十字路口车道是双向设计,在计算某一车道车辆数目时需要排除另一车道逆向行驶的车辆以实现单向计数。在车辆检测装置的中,可以用三个光_电开关实现这一功能,如图2,汽车由南向北行驶,首先经过光电开关1,则产生一次中断,打开计数开关,此后同时经过光一电开关2和3时,产生两个中断,使计数器加1。光电开关2,3相距1.5米为宜,以避免非机动车辆和违反交通规则的行人造成的误计数。经过光电开关4时,产生的中断则跳出计数程序。这样便可以避免逆向行驶的汽车造成的误计数,如图2所示。
在计数准备状态下,当光电开关中断发生时输入端口Key-n为高电平,计数端口打开,加减计数器countn功能相同,分别对通过路口车辆进行计数,count n是一个带有加减使能输入的两位十进制计数器,计数最大可设计为99,当输入key-A为高时,在时钟CLK上升沿作加法计数,当输入key-B为高时,在时钟上升沿作减法计数,A脉冲加在key-A端,B脉冲加在key-B端,只要让A、B脉冲宽度等于时钟脉冲周期,即使两者相位差随机在变也能保证对每个脉冲准确完成一次计数,计数完成后,强制跳出计数系统,累加之前计数值,保存最终计数值,进入下一次计数,待绿灯结束时,结束计数准备状态。
计数准备状态结束后,每个走向的两个路口计数器信号输出到一个数值到运算器作比较运算,取数值较大者,得到的值输出到存储器,并根据值的范围选择相应的绿灯周期方案。该道路绿灯结束时,向控制器发出一个高电平,以示时间,重新进入计数准备状态。
当绿灯周期结束后,由控制器向定时器发出一个高电平触发信号,在每秒发出的时钟脉冲CLK的作用下进行加1计数,5秒的定时时间后,定时器向控制器发出一个高电平状态信号,以表示定时到。由控制器像计数器发出一个高电平清零信号,使计数器置0,并使计数器重新进入计数准备状态。定时器是一个可以设定时初值的定时器,每当红灯切换成绿灯和黄灯切换成红灯的时候,由控制器在时钟脉冲CLK1的作用下开始作减1计数,设定的初始值减为0时,向控制器输出一个高电平,以示定时值到。
与前面部分相比较,控制器模块逻辑功能主要是协调各个部分的相互运作,使之较好的衔接起来。
利用在EDA中广泛使用的开发工具MAx+plush对本方案的编程部分进行编译、逻辑综合、波形时序仿真。各部分功能均能满足预定要求。这部分通用性很强,不做详细介绍。
本文针对城市十字路口交通管理存在的问题,结合车流量统计分析的方法,提出一种经济实用的基于FPGA(现场可编辑逻辑阵列)技术的交通灯控制系统的设计方案。该系统硬件成本较低,实现单方向计数,排除人和非机动车辆造成的影响,误计率小。能够较大提高交通道路的利用率。因为采用目前流行的FPGA设计,使设计灵活方便,周期短,利用QuartusII强大的仿真功能,可实现对各种不同情况进行调整修改,而不必改动硬件电路,方便易行。
[1]杨显富.基于EDA的智能交通灯系统[J].成都大学学报,2003,9.
[2]严明忠.硬件描述语言设计的交通灯控制系统[J].福州电脑,2007,9.