1 系统组成
本文所述电子站牌系统框图如图1所示,主要由位于车站的站装置、安装或贴于车上的电子标签、电力线及调度中心组成。
站装置是电子站牌系统的核心部分,如图2所示,主要由标签阅读器、电力载波发射机、电力载波接收机、主控制器(MCU)及LED车位指示屏等部分组成。电子标签装/贴于公交车上,车辆编码信息(某某路某某号车的编码表示)预先存储于电子标签中。
标签阅读器用于读取到站车辆电子标签所携带的车辆编码信息。电力载波发射机将需要传往下一站的数字信号进行载波调制后耦合进电力线传输,电力载波接收机将收到的调制信号(来自上游站)解调,恢复为数字信号。主控制器(MCU)主要完成车辆编码信息处理、存储、传输与控制。主控制器从标签阅读器获得到站车辆的编码信息,进行处理后得到其编号(即某某路某某号车),一方面通过本站的LED车位指示屏进行显示,同时加上本站的站编码后交由发射机发往下一站。主控制器同时亦从电力载波接收机获得上游站发来的站编码与车编码信息,从而知道某某路某某号车到了某某站,除在本站的显示器上进行显示外,交由电力载波发射机传往下一站。
LED车位指示屏如图3所示,包括LED灯组和屏基板。屏基板上印有站名、刻度线、公里数与时间分钟数等。站名与某一刻度线对齐,在刻度线的上方标出该站距始发站的公里数与公交车的行车时间。公交线路的长度、站位置、车辆运行所需时间均固定(正常情况),故可将沿线各站距离始发站的公里数及所需行车时间标示在刻度线上。在每一条刻度线上安装一个LED,两条刻度线间设置数个LED。当公交车到达某站时,点亮与该站对应的刻度线上的LED,离站时则关闭对应刻度线上的LED,同时根据历史行车时间相继点亮本站刻度线与下一个最近站对应刻度线之间的LED。
通过LED车位指示屏,乘客可随时了解公交车在沿线的位置分布、离本站的距离以及到达本站的时间。如果在预定的时间内不能到达,一定是发生了阻车,而且还可以知道阻车的位置。调度中心从收到的车编码及站编码信息,可知道某路某号车当前位于某站或哪两个站间什么位置,下一时刻应该到达何处,如果在预期的时间内不能到达,便知道发生了阻车,视情况进行调度安排。这些信息可以通过LED车位指示屏或PC机进行直观显示。
为避免过站车辆间电子标签所发信息的冲突,使用具有防冲突算法的电子标签[4]。用6~8 bit(视实际需要定)分别对公交车的路数与号数(即某路某号车)进行编码,得到各种车的编码信息,将编码信息存储于电子标签中,电子标签装或贴于相应的公交车上。
2 算法设计
如图1所示,当装或贴有电子标签的车辆到达站i时,将收到站装置中的标签阅读器发出的射频信号,从而激活车载电子标签,激活后的电子标签便将预先存储于其中的本车编码信息发给阅读器,阅读器将其送往主控制器(MCU),主控制器在其中添加上本站的站编码后得到车辆的到站信息,然后交由发射机进行载波调制后发往下一站(即站i+1)。同时主控制器根据车编码信息中的路数(即某路)选择对应的LED车位指示屏,关闭本站(即站i)刻度线前的最后一个LED,打开本站刻度线上的LED。当该车离开本站(站i的标签阅读器不再读该车电子标签的信号)时,主控制器便将该车的离站信息交由发射机进行载波调制后发往下一站(即站i+1),并关闭本站刻度线上的LED。
当上游站i发出的车辆到站(到达站i)信息传输到下游站i+1时,站i+1的站装置中的电力载波接收机对其解调,得到上游到站车辆的车编码与站编码信息,送到主控制器处理。主控制器一方面将其交由电力载波发射机继续传往下一站,同时根据车编码信息中的路数(即某某路)选择相应的LED车位指示屏,根据站编码信息选择相应的刻度线,关闭该刻度线前的最后一个LED,打开该刻度线上的LED(本例中将打开站i刻度线上的LED)。
随后,当上游站i发出车辆离站(离开站i)信息传输到达下游站i+1时,站i+1的站装置中的电力载波接收机对其解调,得到上游离站车辆的车编码与站编码信息,送到主控制器处理。主控制器一方面将其交由电力载波发射机继续传往下一站,同时根据车编码信息中的路数(即某路)选择相应的LED车位指示屏,根据站编码信息选择相应的刻度线,关闭该刻度线上的LED,并相继打开/关闭指示屏上站i与站i+1刻度线间的所有LED。若站i与站i+1两刻度线间的LED数量为n,公交车在此间的正常行车时间为T秒,则应在该车离开站iT/(n+1)秒后再关闭站i刻度线上的LED,同时打开站i与站i+1间的第一个LED。2T/(n+1)秒后,关站i与站i+1间的第一个LED,同时打开其间的第二个LED,如此这般,直至打开站i与站i+1间的最后一个LED。但在关闭这最后一个LED,打开站i+1刻度线上的LED时,站i+1与其后的站(如站i+2等)采取的行为不同。对站i+1,其需执行的操作与车到达站i时站i所做的相同。站i+1以后的站(如站i+2)必须等到站i+1传输来的车辆到站(到达站i+1)信息后才关闭站i与i+1间的最后一个LED,打开站i+1刻度线上的LED。
车辆的到站信息与离站信息就这样相继传往下游各站,直至调度中心。下游各站(如站i+2,...,站n)需完成的操作与站i和站i+1相同。调度中心是信息终端,除不需转发信息外,其需完成的操作与其他站装置相似。另外调度中心除可用站装置中的LED车位指示屏显示车辆在某一时刻的位置分布外,还可用PC机进行显示,以便于进行调度及其他管理工作。
3 硬件设计
硬件电路主要部分框图如图4所示,主控制器选择Atmel的AT89C52单片机,标签阅读器主芯片选择TI的S6700多协议收发芯片,电力载波收发部分选择科强电子的KQ-100E的电力载波收发模块。
AT89C52是一款高性能的CMOS 8位单片机,片内含8 KB的可反复擦写的Flash存储器和256 B的随机存取存储器(RAM),40条引脚,32个外部双向输入/输出(I/O)端口,2个外中断口,3个16 bit可编程定时计数器,1个全双工串行通信口,2个读写口线,可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本,完全可以满足主机和从机系统的各种需要。
KQ-100E收发模块的微机控制端由RX、TX、R/T 3个端口构成,全是TTL电平。TX接收微控制器TXD端发送数据,RX接微控制器RXD端接收数据,R/T为接收/发送控制端,R/T为高电平时模块处于接收状态,R/T为低电平时处于发送状态。+5 V端接+5 V±5%的直流电源,电流约45 mA,VAA为发送功率电源,可用直流稳压电源,发送时电流约300 mA(不发送时为0 mA),VAA可在9 V~15 V之间选定,VAA和+5 V电源需用两组电源供电。两个AC端可以直接接市电的火线和零线,也可以接火线和地线,远距离户外通信时宜采用接火线和零线的通信方式。
S6700多协议收发芯片是TI公司专为13.56 MHz的RFID读写器所设计的, 支持多种RFID传输协议,由5 V直流供电,输出功率200 mW,内部集成了数据编、解码模块。S6700芯片提供给用户MCU数据控制的接口主要有4根:SCLOCK、DIN、DOUT与M_ERR。SCLOCK为双向串行时钟线,在通信过程中被芯片和主控器MCU交替使用;DIN为数据输入端,MCU发送过来的数据通过此输入端传送到芯片;DOUT为数据输出端,芯片将解码后的数据通过此端口发往MCU作下一步处理, 同时DOUT还起到FIFO管理的作用, 监测FIFO是否溢出,每当FIFO满了,DOUT就跳变为高电平,通知MCU暂停发送数据,直到FIFO被清空,MCU才能继续发送剩余的数据;M_ERR为错误检测线,主要用于检测发往射频标签的命令是否送出,当命令送出后,FIFO缓冲器被清空,这时会有一个22 μs的脉冲在此引脚上产生。另外M_ERR还用于检测是否有多卡/标签冲突,当有多张卡/标签进入读区域时,在读写器天线接收端会引起数据冲突,引起解码错误,这时M_ERR会跳变为高电平,提示标签数据冲突。S6700芯片通过4个引脚(SCLOCK、MERR、DOUT、DIN)与后端单片机相连。
本文提出的电子站牌利用已经存在的电力线,尤其是路灯电力线传输信息,不需通信费用,LED车位指示屏与车载电子标签成本远远低于液晶显示器与车载GPS接收机,故其是一种经济适用的电子站牌,易于推广使用。其不足之处是定位精度没有基于GPS接收机的高。不过,通过增加安装在两刻度线间LED的数量,定位精度可提高到1/(n+1)(n为LED数量)个站距(正常行车情况下)。对于民用来说,这个精度已达使用要求,且基于GPS的电子站牌存在的盲区与延时抖动问题也将降低其理论定位精度。