目前,国内交通信号灯普遍采用定周期程控技术,即主要靠经验和以往统计数据确定红绿灯亮灭时间。要实现道路交通的智能化,就要引入变周期交通信号灯控制技术,实时检测路口的交通流量以及拥塞量等数据,根据规则动态地调节信号灯,获得更加满意的通行率。
本文提出了一种具有分布式特征的交通信号灯控制系统设计方案,它利用RFID技术提高路况信息的收集精度,利用电流环远距离传输方式,并且应用人工智能理论使得系统具有更强的自适应性和可扩充性。
从功能特点来看,智能交通信号灯系统应具有时间固定模式、时间设定模式、时间感应模式、现场遥控模式、远程控制模式等信号控制模式;可以进行日期、时间设定、分时段时间设定、感应参数设定、周期时间、相位差和绿信比等参数设定;可以进行系统自检、绿冲突检测、灯故障检测、线路故障检测;具有强大的输入/输出功能,可实现对路口的不同相位灯控输出和检测功能。此外,系统提供友好的人机界面,用户可通过手动开关、键盘或遥控器对信号机进行设定和控制。
信号机是整个系统的核心。它由LCD屏、控制板、灯组驱动板、开关电源、按钮板等共5种功能模块插件板,以及配电板、接线端子排等组成。本系统选择基于ARM核的32位嵌入式RISC处理器AT91RM9200作为信号机控制板处理器,可以满足信号机智能化的要求,使信号机在系统中成为收集与处理交通流量数据、通信联网以及区域协调控制的平台。
信号灯采用发光二极管,即LED技术,发光功率大,抗震能力强,省电又稳定。系统内各组件,包括信号灯都由外部供电,并配有UPS。信号灯控制器对各种信号灯不提供工作电压,仅进行信号传递,完全实现弱电控制。信号灯亮度的控制采用脉宽调制的原理,将电压全波整流,经电阻分压,由光耦将其转成有一定占空比的方波,当电源电压升高时,占空比会减小,抑制LED亮度的提高,当电源电压降低时,占空比会增大,限制LED亮度的降低,从而实现了LED亮度的自动控制。
信号灯远距离通信控制可以采用电流环信号传输方式加以实现。这种远距离通信控制电路简单、成本低、抗干扰能力强。它是由电流环传输串行移位的3种信号--数据D、时钟CLK、锁存STR,交通灯则将控制器发来的串行信息转换为并行输出,准确实现位控制,不同的信号灯就可以在连线上采取并联方式,这样,一个线路输出的负载能力足以控制十几个信号灯,可以满足各种交通路口的需要。
智能交通信号灯系统既是一个独立的系统,又是整个地区智能信号灯系统的一部分。通过信息共享,可以实现交通信号的联动控制,进行有效的交通预测和疏导。当路口车流相对均匀稳定时,地区内的信号灯协调运作,可以实现“绿波带”控制。
2 系统硬件设计
2.1 信号机主控端模块
主控制机采用处理器AT91RM9200,它是基于ARM的ARM920T内核,集成了丰富的外围功能模块,非常适合于实时控制,且支持实时操作系统,运算速度高。
信号机采用12/5V电源供电,AT91RM9200工作于3.3V和2.5V,系统内其它器件选择工作电压为3.3V和5V。
信号机在系统内部通讯和区域协调控制中需要时间同步,因此设计RTC(实时时钟)用来对时。AT91RM9200内部集成RTC单元,只需要外接晶振就能工作,十分方便。
信号机主控端需要存放引导程序、嵌入式操作系统及其文件系统和应用程序,还有其它在运行过程中需要保存的数据,所以要通过外存储单元来扩展存储空间,包括SDRAM、NorFlash和NandFlash。NorFlash主要用于存放引导程序Bootloader和操作系统linux内核镜像,系统上电或复位后从FlashROM中运行Bootloader,由Bootloader初始化硬件并将linux拷贝到SDRAM中运行。
NandFlash主要用于存放应用程序和数据。
为方便人机界面的操作,AT91RM9200内置LCD(液晶显示器)驱动控制器,能自动产生LCD驱动控制信号,可以与LCD直接连接。键盘模块通过ZLG7290B扩展一个4×4的键盘矩阵,ZLG7290B通过IIC串行总线与处理器进行连接。
考虑到信号机的体积,也为了方便设备的升级、扩展,从信号机控制板引出数据总线、地址总线和必要的控制信号,设计统一的系统总线,通过总线来调度控制各个功能板块,如车流信息采集板块、信号灯控制器板块、红外线接收板块、故障检测板块等。这些板块与相应的功能模块一一对应,以插槽接口与信号机控制板相连。
2.2 车流量信息采集模块
射频识别,即RFID(Radio Frequency IDentification ),俗称电子标签,它是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关数据,工作过程无需人工干预,可应用于各种恶劣环境。一套RFID设备包括射频标签,天线和读写器三个部分。天线和读写器安置在路边,当带有射频标签的车辆通过该路段时,读写器会通过天线接收返回载有RFID信息的射频调制信号,经处理后传给信号机主控端,完成路况数据的信息采集。有关数据也经由本地信号机向上位机--地区信号灯系统控制端发送。车流信息在信号机主控端内经过建模计算,可以获得当前信号灯所需的周期时间。
2.3 紧急干预模块
在系统中加载遥控电路,以支持用红外遥控器作紧急干预。采用8通道红外发射/接收专用集成电路BA5104/BA5204,它能发射6个持续信号2个单次信号,串行口接入方便,且价格低,稳定性强。红外接收端与信号机控制板总线相连,可以将遥控器按键信号传递至信号机主控端进行中断处理,且优先级最高。
2.4 故障检测模块
交通信号灯工作环境较为复杂,可能存在各种难以预测的电源、电磁干扰及信号机自身的随机性障碍。为了保证系统的可靠运行,除了采用软件对策外,专门引入了硬件看门狗复位电路MAX708CPA ,该器件具有μP复位、掉电监测、手动复位等功能,可以起到较好的保护作用。此外,利用含有电压检测与电流检测的故障检测电路,对信号灯控制器和信号灯作出实时检测,将返回的TTL电平信号传递至信号机主控板,信号机系统可以根据不同的结果选择继续执行,或者向上报警,甚至自行关机。
2.5 信号灯控制器模块
信号灯控制器是信号机与信号灯之间必需的硬件连接。路口信号灯的各种灯色状态是由信号灯控制器对信号机数据进行处理转化而成的。
2.6 地区联动模块
本地信号灯系统与地区信号灯系统管理端采用局域网络(LAN)进行双向通讯。本地信号机控制端将待处理的数据信息通过Web Service应用程序接口封装好发给地区信号灯系统控制端,处理工作由后者完成,再把最终结果返回给本地信号机。Web Service技术充分利用地区信号灯系统控制单元的计算能力,减轻了本地信号机的处理器开销,使得信号灯系统更加稳定和易于维护。
3 软件实现
主程序流程图如图3所示。
图3 主程序流程图
交通信号灯系统程序可分为以下几个模块:
信号机主程序模块是整个系统的主要模块,它按优先级利用其它模块的执行结果,生成当前信号灯周期。
定时控制程序模块支持通过键盘输入固定的时间数值,改变当前所执行的信号灯周期,以人工经验与系统相结合,体现出人机交互能力。
车流调节程序模块是利用RFID技术识别交通路口附近的车流量,经由GA(遗传算法)并引入模糊逻辑理论[6],对路口交通情况进行实时分析计算,依据结果对信号灯周期进行调整。本系统中,此模块也是最能体现智能化的部分。此外,通过RFID技术的扩展技术,即车辆自动识别管理(AVIM) 系统,把车流信息与车辆信息监控管理中心连接起来,就可构成车辆信息管理平台。
定时调节程序模块是针对已经形成一定路况规律的路段而设置的。可以一次性预先设定每天不同时段对应不同的信号灯周期。比如,晚上车流量较少,可做定时调节将红绿灯改成闪烁的黄灯,当第二天指定时刻到来时,自动恢复红绿灯。
黄闪警告程序模块可以立刻中断所有的红绿灯,全部改成闪烁黄灯。主要是在车流量很小的时段使用,可以提高通行效率。
遥控强置程序模块是为交警现场指挥交通而设计的,只需用遥控器对红外接收端按下特定的按钮,就可以对现场的信号灯相位全部强制重置,特别适用于单向塞车车流的调节和像救护车救火车这样需要无障碍通行的交通工具快速通过路口。
联动处理程序模块是用来处理上位机(交警联动中心控制机)所发来的指令。信号灯联网以后,整个区域的交通路口就可以进行协调联动控制,如果一个路口发生拥堵,联动中心可以发来指令,适当延长相邻路口信号灯来车方向的通行时间,有效疏导交通。
“看门狗”程序模块在主程序运行异常时可产生的一个溢出信号,并通过引脚向处理器发送复位信号,使主程序重新开始运行。
系统检测及报警程序模块是应对信号灯故障而设置的,它根据返回的TTL电平信号作出判断,一旦发现问题,将把出错信息实时向上反映,为进一步的系统维护提供依据。
4 结论
研制智能型交通信号灯系统,可以有效改善交通现状,提高现有道路资源的利用率,节约社会成本。本系统基于AT91RM9200处理器,以应用为中心,采用嵌入式操作系统,设计上具有成本低,操作简易,扩展方便,信息共享度高,灵活性强等特点,有很好的参考价值和较高的实用价值。