智能交通信号灯控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能交通信号灯控制系统设计
摘要:本文对交通灯控制系统进行了研究,通过分析交通规则和交通灯的工作原理,给出了交通灯控制系统的设计方案。本系统是以89C51单片机为核心器件,采用双机容错技术,硬件实现了红绿灯显示功能、时间倒计时显示功能、左、右转提示和紧急情况发生时手动控制等功能。
关键词:交通灯;单片机;双机容错
0 引言
近年来随着机动车辆发展迅速,给城市交通带来巨大压力,城镇道路建设由于历史等各种原因相对滞后,特别是街道各十字路口,更是成为交通网中通行能力的“隘口”和交通事故的“多发源”。为保证交通安全,防止交通阻塞,使城市交通井然有序,交通信号灯在大多数城市得到了广泛应用。而且随着计算机技术、自动控制技术和人工智能技术的不断发展,城市交通的智能控制也有了良好的技术基础,使各种交通方案实现的可能性大大提高。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,是现代城市交通监控指挥系统中最重要的组成部分。本文设计的交通灯管理系统在实现了现代交通灯系统的基本功能的基础上,增加了容错处理技术(双机容错)、左右转提示和紧急情况(重要车队通过、急救车通过等)发生时手动控制等功能,增强了系统的安全性和可控性。
1 系统硬件电路的设计
该智能交通灯控制系统采用模块化设计兼用双机容错技术,以单片机89C51为控制核心,采用双机容错机制,结合通行灯输出控制显示模块、时间显示模块、手动模块以及电源、复位等功能模块。现就主要的硬件模块电路进行说明。
1.1 主控制系统
在介绍主控制系统之前,先对交通规则进行分析。设计中暂不考虑人行道和主干道差别,对一个双向六车道的十字路口进行分析,共确定了9种交通灯状态,其中状态0为系统上电初始化后的所有交通灯初试状态,为全部亮红灯,进入正常工作阶段后有8个状态,大致分为南北直行,南北左右转,东西直行,与东西左右转四个主要状态,及黄灯过渡的辅助状态。主控制器采用89C51单片机。单片机的P0口和P2口分别用于控制南北和东西的通行灯。
本文的创新之处在于采用了双机容错技术,很大程度上增强了系统的可靠性。容错技术以冗余为实质,针对错误频次较高的功能模块进行备份或者决策机制处理。但当无法查知运行系统最易出错的功能,或者系统对整体运行的可靠性要求很高时,双机容错技术则是不二选择。
双机容错从本质上讲,可以认为备置了两台结构与功能相同的控制机,一台正常工作,一台备用待命。传统的双机容错的示意图如图1所示,中U1和U2单元的软硬件结构完全相同。如有必要,在设计各单元时,通过采用自诊断技术、软件陷阱或Watch dog等系统自行恢复措施可使单元可靠性达到最大限度的提高。其关键部位为检测转换(切换)电路。
图 1 传统双机容硬件错示意图
本次选用的双机容错方案,针对传统方案的不足,采用了改进措施,完全去掉专用的检测转换电路,利用主备机双方的串行口连接和软件相结合的方法,实现检测转换电路的功能和主备机之间的数据通信功能,如图2:
图 2 双机容硬件改进方案
两个单元(这里是两个89C51)的主备工作状态由上电顺序决定,先上电的一方自动进入主机工作状态,后上电者则进入备机状态。主机在其工作过程中除实现应用功能外,定期向备机发送反映其工作正常的状态数据。当需要备份的数据发生变化时,主机及时向备机发送已更新的数据。此外,主机也定期接收来自备机的状态数据,当发生接收超时时,主机认为备机已经发生故障,并通过本单元的显示装置向用户给出通知信号,以便及时对备机进行脱线维护。备机在其工作过程中不完成应用功能,但定期接收来自主机的状态数据,当发生接收超时,备机认为主机已经发生故障,自动切换进入主机工作状态,并通过本单元显示装置通知用户,以便对原主机单元进行脱线维护。此外,备机还自动接收来自主机的备份数据并进行存储备份。该方案摆脱了纯粹依赖检测转换电路带来的瓶颈,且主备机之间能够实时通讯备份,此外原来有检测转换电路所附加不可靠因素也降到了最低。
1.2 通行灯输出控制模块
根据系统运行过程中会出现的4种不同的车道通行状况,需要八种不同性质的灯作为显示元件,因此在设计中,利用P0的8个端口进行南北向控制,P2的8个端口进行东西向控制。以P0口为例,8个输出控制口对应的信号灯属性分别为:P0.0——南北直行绿灯;P0.1——南北直行黄灯;P0.2——南北直行红灯;P0.3——南北左转行绿灯;P0.4——南北
左转红灯;P0.5——南北右转绿灯;P0.6——南北右转红灯;P0.7——南北左/右转黄灯。P2口的输出控制口对应信号灯属性与P0口一致,流程可详见下文2.1交通灯工作状态分析。
本系统设计的十字路口交通灯指示采用红绿黄LED灯,LED选择共阴极,故当某端口输出高电平时,对应的信号灯就会亮。其控制主要由软件部分来完成。
1.3 时间显示模块
十字路口通行剩余时间显示采用高亮7段LED发光数码管,考虑到单片机端口有限,为了满足二位数的数码显示要求,这里用到了BCD译码器。在实际情况下,倒计显示时间均低于50秒,且东西南北状态的数显个位变化是同步的(仅仅在十位数上有差别)。因此用于代表十位数显的L1和L3对应的BCD译码器的最高位——D端口均接地,即L1和L3可以表示数值0到7。而在个位显示上,L2和L4则共用了BCD译码器的输出,实现南北与东西向的个位同步显示功能。
P0的端口分配如图3所示,其中该方案还调用的P3口的T0和T1,参与的对L2和L4的控制。该模块设计的最大特点在于最大程度地节约了端口占有且充分利用了硬件资源。
图 3 数码管显示硬件电路
1.4 特殊车辆通行模块
当十字路口出现紧急情况时,交警要根据需要对交通灯进行手动控制,进行紧急情况处理。通过相应按钮的选择来实现路口正确的通行。急行车强通信号受急车强通开关控制,
不管原来信号灯的状态如何,一律让急车驶来的方向的绿灯亮起,使急车放行,直至急车通过为止。急车一过,将急车强通开关断开,信号灯的状态立刻转为急车来之前的方向,随后按正常时序进行。此模块中,INT0和INT1分别控制南北和东西向的急车强通状态。
1.5 电源及复位模块
整个系统采用的电源电压只需+5V电压,所以采用一片不可调的三端稳压芯片7805C 以及两个电容作为电源对系统进行供电。上电按键复位电路由S1、R3、R4、C5构成,其中S1为手动复位按键(另一组电路为S4、R7、R8、C6)。时钟电路采用外接12MHz的晶振与33pF的电容,分别与两单片机的X1和X2引脚相连。另外,系统还设有主机指示灯,即在两单片机的RD口分别接一LED,当连接的单片机用作主机时此灯亮,备机则此灯灭。
2 软件模块
2.1 交通灯工作状态分析
根据前述分析,交通状态主要有以下9种,具体请见下表。
表1交通灯状态表
根据硬件设计与交通灯状态列出控制器交通灯控制端口的真值表,如下所示。其中左/右转黄灯状态实际做相同变化,故采用一个端口进行控制。