公交车到站自动预报系统设计
扫描二维码
随时随地手机看文章
摘要:设计了一套公交车到站自动预报系统,给出了该系统的总体设计方案,并对其组成及工作原理进行了阐述,着重介绍了系统硬件、软件架构及通信协议。最后,通过现场安装、调试、使用证明了该系统具有良好的工作性能和可靠性。
关键词:公交车;到站预报;软件架构;通信协议
引言
为了实现公交系统的智能信息化建设目标,本文设计了一套公交车到站自动预报系统,主要目的在于方便乘客在等待公交车时能直观地看到所要乘坐的公交车的行驶位置,让乘客能够更加合理地安排自己的乘车计划。此前,众多学者已经对公交车到站自动预报系统进行了广泛研究,并提出了多种方案,如参考文献提出利用 GPS定位信息实现站点检测,利用GSM网络实现站台数据分发;参考文献提出利用GPS定位信息实现站点检测,利用ZigBee实现站台数据分发;参考文献提出利用RFID卡实现车辆检测,利用GSM网络实现站台数据分发;参考文献提出利用GPS定位信息实现站点检测,利用交通通信专网(iDEN)实现站台数据分发;参考文献提出利用近距离无线数传模块实现车辆检测,利用远距离无线数传模块实现站台数据分发。
虽然上述方案均是可行的,但是,它们具有一定的局限性。参考文献采用GPS实现站点检测的局限性在于:价格昂贵;在城市环境中GPS信号易受建筑物、树木、隧道遮挡,从而导致某些区域无法定位;需要在车内走线,在车顶安装调试,安装困难;当站点或运行线路发生变化时,须重新采集站点坐标,过程繁琐,通用性差。参考文献采用GSM网络实现站台数据分发的局限性在于:该系统是一套集中式处理系统,当处理中心发生故障时,一条或多条线路均将无法正常工作,影响面大,站点正常工作时间急剧下降。参考文献采用近距离无线数传模块实现车辆检测的局限性在于:与ZigBee模块相比,无线数传模块的成本更高、功耗更大、体积更大、时延更长、可靠性更低、安全性更差。
基于上述原理,本文给出了公交车到站自动预报系统总体设计方案,并对系统的组成及工作原理进行了阐述,特别着重阐述了系统软件流程及通信协议设计。最后,通过现场安装、调试、使用证明了该系统具有良好的工作性能和可靠性。
1 系统总体设计
本文设计的公交车到站自动预报系统由车载模块、站台模块和中继模块三部分组成(如图1所示)。其中,车载模块安装在公交车上,负责把公交车位置信息发送给站台模块;站台模块安装在站牌处,负责接收、处理、显示公交车位置信息,同时把该信息发送给下一站台,实现信息的接力传递;中继模块安装在两站台间合适位置,负责通信中继,用于保障站台间隔超出通信距离时的正常通信。
由图1可知,公交车到站自动预报系统具体包括电源模块、控制模块、ZigBee模块、控制面板、状态指示灯、无线数传模块、LED面板。其中,电源模块的作用是把车载电瓶12 V直流电(车载模块)或220 V交流电(站台模块/中继模块)变换成5 V直流电,以便给控制模块(车载模块)和无线数传模块(站台模块/中继模块)供电;控制模块的作用是收发串口数据,控制LED灯亮灭,接收控制面板按键指令;ZigBee模块的作用是实现公交车与站台间无线通信;控制面板的作用是控制车载模块上电、重启和断电以及设置公交车运行方向,以便马路对面站台模块接收到车载模块信息时能够正确区分公交车运行方向;状态指示灯的作用是显示驾驶员当前操作指令,以便驾驶员能够直观判断出其操作的正确性;无线数传模块的作用是实现站台模块/中继模块问的无线通信;LED面板的作用是直观显示公交车当前位置信息,以便乘客合理安排出行计划。
2 系统硬件设计及选型
2.1 控制模块设计
由于控制模块需要控制LED灯亮灭,因此,它的I/O口个数必须大于站点个数。以长沙为例,目前,长沙公交车停站数最多的车次是501路,共经停81站,因此,控制模块需至少包含88个I/O口。其中,81个I/O口用于连接LED面板,5个I/O口用于配置成两路串口(232串口占用2个I/O 口,485串口占用3个I/O口)。另外,考虑到将来站点数以及控制模块功能的进一步丰富,控制模块的I/O口还应有所保留,不能完全占用。
综上所述,控制模块无论采用DSP还是采用单片机构建,芯片自身所提供的I/O口均无法满足应用需求,因此,需采用译码器扩展I/O口数量。最终,所设计的控制模块结构如图2所示。
2.2 ZigBee模块选型
为了实现公交车检测的高可靠性和有效性,ZigBee模块的通信距离应小于站台间最短距离的1/2。以长沙为例,目前,长沙公交车站台间最短距离约180 m,所以限定ZigBee模块的通信距离为不大于90 m。另外,一般公交车站台会有多辆公交车停靠,若站台模块接收所有公交车模块信息,则必将影响站台模块的信息处理速度,同时还会增大误码率。因此,站台模块与车载模块间应建立身份验证机制,以保证数据的正确、高效处理。
基于上述需求,本文选用XBee S2模块(如图3所示)实现车载模块与站台模块间的通信。XBee S2模块是按ZigBee协议设计的,可实现具有低成本、低功耗等特殊需求的无线传感器组网,在室内/城市环境中其通信距离为40m,可通过设置 PAN(Personal Area Network)ID控制网络规模,通过设置64位地址实现数据传输。
2.3 无线数传模块选型
为了保证站台间信息传输的高可靠性和有效性,无线数传模块的通信距离最好大于大多数相邻站台间的距离。以长沙为例,目前,两相邻公交车站台间距离几乎都在500 m以内(不过,也有极个别相邻站台间距离达到了4000 m)。因此,为了保证相邻站台模块间能够正常通信,无线数传模块的通信距离不应小于1000 m。另外,考虑到天线高度、波特率、城市环境的复杂性对通信距离的影响,要求无线数传模块的通信距离不小于3 000 m。
基于上述需求,本文选用SV6202超远距离无线数传模块(如图4所示)实现站台模块间的无线通信以及通信中继。SV6202模块最大通信距离可达到5 000 m,可通过配置网络ID实现指定模块间的相互通信,不同网络ID配置的模块间不能相互通信。
2.4 控制面板设计
控制面板是保证用户方便、快捷操控和设置控制模块所必需的一部分。车载模块控制面板的主要功能应包括:①模块上电和断电;②当控制模块出现故障时,重新启动控制模块,使其进入正常工作状态;③设置公交车运行方向,以便对面站台模块接收到公交车模块信息时能够正确区分公交车运行方向。
本文最终所设计的车载模块控制面板结构如图5所示(为了防止候车乘客误操作站台模块,站台模块不设计控制面板)。
3 通信协议设计
公交车在运行过程中可能会出现如下两种情况:①某一时刻有多条线路公交车同时进站;②同一站点上行站台和下行站台均接收到了车载模块信息。显然,站台模块必须能正确应对这两种情况,它应能够从车载模块发送的数据帧中解析出公交车线路信息和运动方向信息。
本文设计的车载模块与站台模块间的通信协议如下所示:
当从车载模块发送的数据帧中分析出了公交车线路信息和运动方向信息后,站台模块应通过无线数传模块把该信息传递给其他站台模块。然而,无线数传模块在传递信息时可能会出现如下两种情况:①后继站台和未到站台均接收到了该站台信息;②上行站台和下行站台均接收到了该站台信息。显然,站台模块必须能正确应对这两种情况,能够从站台模块发送的数据帧中解析出公交车线路信息、运动方向信息和当前所在站台编号。
面向上述目标,本文设计的站台模块/中继模块间通信协议如下所示:
4 系统软件设计
4.1 车载模块软件设计
本文把车载模块设计成事件发起节点,即车载模块主动与站台模块通信。为了实现这一目标,车载模块需要定时向站台模块发送信息。因此,车载模块软件采用定时器中断发送信息。另一方面,车载模块还要接收控制面板的按键操作,而该操作是不定时的,为了方便程序开发,在软件的主程序循环中完成按键接收。车载模块软件流程如图6所示。
4.2 站台模块/中继模块软件设计
本文把站台模块/中继模块设计成事件接收及中继节点,即站台模块/中继模块被动接收车载模块信息和其他站台模块信息,同时主动把信息发送给其他站台模块。为了实现这一目标,站台模块/中继模块需要在串口有数据时立刻读取数据,而在没有数据时不应访问串日,因此,站台模块/中继模块软件采用串口接收中断接收信息。由于站台模块/中继模块没有控制面板,不需要处理其他外部事件,因此,其软件的主程序循环是空循环。站台模块/中继模块软件流程如图7、图8所示。
结语
目前,本文所设计系统在实验室和实际公交线路上进行了大量测试。实际测试表明,该系统运行稳定、工作可靠、使用方便,特别是安装、更换无需布线,可以做到即插即用。希望该项研究能够有效推动社会和谐发展,缓解日益拥堵的城市交通,让市民更愿意乘坐公共交通工具出行,减少汽车尾气排放,共同净化美好的家园。