基于STR710的红绿灯动态调整系统
2016-05-31 来源:eefocus
1 总体设计方案
总体设计方案如图1所示。图1(a)为每个路口的红绿灯控制器,其中环形线圈和红绿灯之间的虚线表示两者之问的联动关系。图1(b)为系统框图。每个路口的红绿灯控制器通过CAN总线连接到控制中心。一般情况下,4个环形线圈车辆检测器分别安装在十字路口的四个方向,当有车辆经过环形线圈车辆检测器时,产生高电平信号,该信号馈送至控制器。控制器对该信息进行计数、处理,并实时控制红绿灯切换的时间,将道路调整到最佳通行状态;同时控制器通过CAN总线将计算得到的相关数据传送至控制中心及相关部门。控制中心可根据具体情况向社会公布,同时也可以向控制器发送指令,进行远程人工干预。该系统具有实时性高、客观、准确的优点,同时也可以降低交管部门的劳动强度。
2 基于CAN总线红绿灯动态调整系统的硬件设计
系统硬件由环形线圈车辆检测器、控制器和CAN收发模块组成。其中环形线圈车辆检测器可以采用目前国内部分路段已经埋设的产品,这样可以降低资金的投入。
2.1 控制器设计
控制器采用ST公司的STR710作为中央处理单元。STR710具有14个外部中断输入,256 KB程序FLASH存储器,64 KB内部RAM,5个定时器,比较适合处理有多个外部中断源需要处理的场合。控制器电路框图如图3所示。P2.5通过光耦连接到MAX485的DI端,控制红绿灯的转换;P2.4通过光耦连接到MAX485的DE端,使能MAX485发送功能。
2.2 CAN收发模块设计
CAN收发模块由CAN总线收发器SN65VD230D和DB9组成,如图3所示。
图3中R4为终端电阻;R1,R2为上拉电阻;R3为下拉电阻。
3 基于环形线圈的路况信息采集系统的软件设计
3.1 算法原理
设t0为起始时间,检测器以时间T为周期检测时间段Si中的车辆的流量Q(Si)和道路占有率C(Si)。其中:
式中:tHold(Si)为1个周期中车辆处于线圈上的时间。
定义流量相对增量,占有率相对增量。在实际使用时,如图4所示同时在道路的上游A和下游B安装检测器。定义上下游平均占有率绝对差,上下游平均占有率相对差。上下游检测器之间的路段发生交通拥挤的必要条件是:
(1)若上游的检测器A检测出的流量的相对增量小于占有率的相对增量,则认为下游路段在本周期或下几个周期内有可能发生交通拥挤。
(2)在条件(1)基础上,上游与下游检测器的车辆平均占有率绝对差大于某一阈值α,上游与下游检测器的平均占有率相对差大于某一阈值β时,判定有交通拥挤事件发生。其中:α,β和道路的实际设计容量有关。
(3)若上游与下游检测器的车辆平均占有率绝对差小于或等于某一阈值α,上游与下游检测器的平均占有率相对差大于某一阈值β时,判定交通拥挤处于消散过程。
3.2 控制器软件设计
控制器软件由主程序、中断处理、数据上传、拥堵判定、命令处理和红绿灯控制模块组成。
3.2.1 主程序
主程序根据中断程序返回的状态循环调用命令处理、交通状态判定和红绿灯控制模块,并定时调用数据上传模块。其流程图见图5。
3.2.2 交通状态判定
交通状态的判定方法在第3.1节算法原理中已经阐述,这里不再赘述。在该模块中,系统若发现单位时间中通过不同方向的汽车相差较多或下游有发生拥堵的可能时,自动修改红绿灯间隔,由红绿灯控制模块调用。
3.2.3 中断处理
系统将环形线圈振荡器所连接的STR7lO的4个外部中断设置为FIQ,以降低中断反应时间。在车辆通过时,中断子程序计数后退出,主要的计算在拥堵判定中完成,以提高系统响应速度。系统以中断方式接收控制中心的命令,在接收到命令时,只将命令转存后退出,进一步的处理由命令处理程序执行。由于STR710的CAN控制器只有AMR,没有ACR,因此,STR710在接收到数据后需要根据ID判断是否是发给自己的,只有在AMR和ID相同时,才开始接收命令。
3.2.4 数据上传
程序先将数据打包成CAN帧格式,再写入缓冲区,由硬件自动发送出去。
3.2.5 命令处理
系统根据中断处理程序设置的标记,对时间间隔缓冲区进行刷新。由红绿灯控制模块执行调整。
3.2.6 红绿灯控制
红绿灯控制模块框图见图6。该模块根据命令处理或拥堵判定所做的标记,执行调整红绿灯间隔时间。
4 结语
根据交通拥挤和消散过程的特征,给出了利用微机技术自动判定道路交通状况的算法,并试图在此基础上实时地控制红绿灯的变换周期,实现在无人工干预情况下改善交通状况,同时将路况信息通过CAN总线发送到控制中心,控制中心可以在特殊情况下进行远距离人工干预。该系统具有高效、实时、客观的特点,且简单易于实现,具有良好的应用前景。