APP下载

应用ZigBee技术和最小子集线路划分的拉萨市公交车辆藏汉英3种语言自动报站系统

2014-09-18尼玛扎西格桑多吉高定国

重庆理工大学学报(自然科学) 2014年10期
关键词:路车东路中路

唐 松,尼玛扎西,格桑多吉,高定国

(西藏大学工学院,拉萨 850000)

凭借容量大、覆盖广、价格低以及节约资源、可缓解城市拥堵的优势,拉萨城市公交系统成为交通运输体系中的主体,在各方面深刻影响着拉萨人民的生活水平和经济发展效率。目前,拉萨市的所有公交车均采用无人售票方式,公交司机需要及时按下报站语音键或采用口头提示方式,这会带来许多安全隐患。公交系统对乘客安全承担着无法推卸的责任,而在每辆公交车上装载自动报站器可有效减少安全隐患。考虑拉萨市公交线路的实际情况和本地特色,综合考虑实用性和性价比,本文基于 ZigBee[1-3]技术和单片机,设计出藏汉英三语自动报站系统。自动发射站址编码信息的功能通过CC2430芯片实现。CC2430芯片置于站台发射部分,外围电路采用简单化处理,电池可以长时间提供能量[4]。车载部分同时兼有自动、手动报站模式,两种功能可随时切换。公交线路信息的及时更新可以通过移动存储器件的路线信息方便地实现。除了自动报站功能,还可交替使用藏汉英三语显示站名、温度、时间、日历(阳历、阴历和藏历)和服务用语等信息。

1 利用最小子集线路划分法优化拉萨市公交线路的数据库存储

最小子集线路划分法规定如下:

1)最小子集线路不具有再分性;

2)若一条线路是某条道路的子集,则对此道路进行最小子集线路划分;

3)若两条路线相交且一条线路是另一条线路的子集,则以子集线路为分割段对另一条线路进行最小子集线路划分;

4)每个子集线路划分至最小子集线路为止;

5)Φ表示此条线路没有站台;

6)一条公交线路可表示成若干最小子集线路的并集。

拉萨市公交线路总量是25条,经过主要街道的公交车线路和站点重复率较高,所以需要列举出具有代表性的几条线路,例如下面的9路车、13路车和25路车。它们具有如下特征:9路车经过民族北路的全线,虽然天海路与其相交,但是没有对民族北路这条线路进行分割,因为天海路暂时没有公交路线;13路车经过民族中路的一段,但在此段中未设站台,基于最小子集线路划分法,将民族中路分为罗堆东路和罗布林卡路之间的民族南路1,以及罗布林卡路和北京中路之间的民族中路1';25路车经过民族中路的某段,且在此段有站台,基于最小子集线路划分法,将民族中路1'划分为嘉措路和罗布林卡路之间的民族中路2,以及嘉措路和北京西路之间的民族中路3。

9路、13路和25路车线路信息和最小子集线路划分结果如下:

9路车:由于当热中路和色拉路相交,所以当热中路分解为娘热路、色拉路之间的线路和夺底路、色拉路之间的线路,分别命名为当热中路1和当热中路2。由于当热西路和雪新村路、德吉路交叉,所以当热西路分解为雪新村路和娘热南路之间的当热西路1,德吉北路和雪新村路之间的当热西路2,以及德吉北路和民族北路之间的当热西路3。因鲁定中路和嘉措路相交,所以鲁定中路分解为嘉措路以北的鲁定中路1和嘉措路以南的鲁定中路2。由于金珠东路和阳岛路相交,所以金珠东路分解为阳岛路以西的金珠东路1和阳岛路以东的金珠东路2。江苏路和林聚路相交,故江苏路分解为林聚北路和林廓东路之间的江苏路1,以及林聚北路和江苏东路之间的江苏路2。

基于上述条件的9路车最小子集线路划分结果为:江苏东路={东郊客运站站,嘎玛贡桑站},夺底南路={高原旅馆站},当热中路1={电建小区站,城关区市政公司站},当热中路2={当热中路站,电业小区站},当热西路1={四建司小区站,拉鲁桥站},当热西路2=Φ,当热西路3={拉鲁湿地站},民族北路={济公桥站,嘎吉路口站},北京西路=Φ,鲁定中路1={红十字会站},鲁定中路2={八一校站},鲁定南路=Φ,金珠中路={财校站},金珠东路1={纪念碑站,国际城西桥站,国际城东桥站},金珠东路2=Φ,江苏路={明都商务站,鲁固站},生态园路=Φ,波林卡路={波林卡站},林廓东路={瑞吉酒店站},江苏路1=Φ,江苏路2={藏大站},江苏东路={东郊客运站站}。

13路车:巴尔库路和扎基西路相交,故巴尔库路分解为扎基西路以北的巴尔库路1和扎基西路以南的巴尔库路2。这条北京中路线路的独特之处在于:没有行完两条主干道之间的北京中路就选择罗布林卡路,北京中路线路分解为康昂多南路和娘热南路之间的北京中路1,以及康昂多南路和罗布林卡路之间的北京中路2[5]。罗布林卡路和德吉路相交,故罗布林卡路分为德吉路以东的罗布林卡路1和德吉路以西的罗布林卡路2。

基于上述条件的13路车最小子集线路划分结果为:扎基东路={琅赛九区站,扎基寺站,圣城花园南门站},扎基中路={北郊客运站站},娘热北路=Φ,慈松塘西路=Φ,巴尔库路1={区登山队站},巴尔库路2={雪三村站,政协小区站,二巷站,拉鲁桥站},雪新村路={雪新村站,雪小学站},林廓北路={龙王潭北门站,龙王潭站},娘热南路={民航局站},北京中路1=Φ,北京中路2={药王山菜市场站,白塔站},罗布林卡路1={区旅游局站},罗布林卡路2={甲热战站,图书馆站},民族中路=Φ,罗堆东路={罗堆路站,第三安居园站},鲁定南路={鲁定路站},柳梧大桥=Φ,世纪大道={世纪一号站,铁通站},北京大道={通站站},通站路={火车站站}。

25路车:罗布林卡路分解和13路车相同。北京中路的分解在13路车的分解基础上添加罗布林卡路和林廓西路之间的北京中路3。江苏路被生态园路一分为二,分别为康昂多南路和生态园路之间的江苏路1,以及生态园路和林廓东路之间的江苏路2(注:整条江苏路被生态园路、林廓东路和林聚路分为4段,除了上文的江苏路1和江苏路2,还有林聚北路和林廓东路之间的江苏路3,以及林聚北路和江苏东路之间的江苏路4(9路经过的线路))。因林廓东路和北京路交叉,所以林廓东路分解为参考24路车所分解的林廓东路2和林廓东路3。(注:24路车经过林廓东路4段中的3段线路,包括江苏路和波林卡路之间的林廓东路2,江苏路和北京东路之间的林廓东路3,以及北京东路和林廓北路之间的林廓东路4,没有经过波林卡路和滨河路之间的林廓东路1)

基于上述条件的25路车最小子集线路划分结果为:当巴路={哲蚌寺站},北京西路=Φ,八一北路={世邦国际站},罗堆中路={八一小区站},鲁定中路={八一校站},嘉措路={博物馆北门站},民族中路=Φ,罗布林卡路2={图书馆站,甲热站},罗布林卡路1={区旅游局站},林廓西路=Φ,北京中路3={白塔站},北京中路2={药王山菜市场站},康昂多南路={拉百站},江苏路1={区群艺馆站,保健院站},江苏路2={虫草交易中心站},林廓东路3={铁崩岗站},林廓东路4={市民服务中心站,东郊电信站},林廓北路={气象菜市场站},色拉南路={团结新村东门站},色拉中路={圣美家超市站},扎基东路={武警医院站},夺底中路=Φ,加荣路=Φ,藏热北路=Φ,慈松塘东路={北郊菜市场站},慈松塘中路={圣城丽都站},色拉北路={顺通小区站,色拉北路站,啤酒厂站,第六安居园站,色拉寺站}。

因北京中路=北京中路1∪北京中路2∪北京中路3,13路车的北京中路线路=北京中路1∪北京中路2,25路车的北京中路线路=北京中路3∪北京中路2,所以某条公交线路是若干最小子集线路的并集[6]。这样的最小子集线路划分可以优化数据库的存储,针对线路调整的情况,可以高效动态地更新数据库,还可优化既定的公交线路,相比以往的人工设定方法节约了很多人力和财力。通过线路的集合表示,将所有存在公交车经过的线路的最小子集划出,不必在每辆公交车上连接单片机的USB设备上一一输入所有站点的藏汉英三语信息,可以将包含站点信息的最小线路导入USB数据库,减少了数据存储的重复性,优化了系统的设计结构。如果公交路线发生改变,大部分情况下只需调整部分最小子集线路信息。当增加或减少某个站点时,可以迅速定位到具体线路,及时更新相应数据库中的线路。对于公交公司,根据公交的载客量和盈利情况,可以及时调整公交线路,由最小子集化的线路划分部署运营线路,思路清晰且简单快捷。

2 拉萨公交车藏汉英3种语言自动报站系统的基本原理

不同线路的公交车可能经过或停靠相同的站台,而且站台的调整(如站台的合并)可能改变站台的命名。因此,站址编码状态的灵活设置通过有效的8位拨码开关实现,使处于运行在当前位置的不同线路的公交车进行自动识别。假设公交车在一条线路上往返经过n个站台(n为未知数),本系统设计的基本原理如图1所示。

图1 拉萨公交车藏汉英三语自动报站系统基本原理

公交车在行进过程中,由于拉萨市有些路线的马路宽度有限,同一线路上相邻的多个站台的不同地址信息可能都会被接收到(如图1所示)。左向行驶的公交车就会在很短的时间间隔内接收到站台n-2、站台n-1、站台n-3和站台3的地址信息,此时可根据行驶方向以及车辆和公交站台的相对距离,通过相关软件判断有效的地址信息来自站台n-2。站址可采用递减/递增或预制方式[7],以达到识别往返车辆行驶方向的目的。若编码发生紊乱,说明车辆在行驶途中收到若干地址信息而无法自动报站,此时将自动切换至手动报站系统,同时此系统保留该站台的编码历史记录,以便及时对数据库和编码系统进行更新、维护。

站点ZigBee发射模块和车载接收、语音播报模块是本系统的2个关键部分。当公交靠近站台将要停车前,站址编码信息由站台自动发射。为了尽量降低费用和电池的更换频率,ZigBee发射模块要求成本低、能耗少、可靠性高、维护方便。车载部分的核心控制模块是MSP430F149单片机,故以CC2430芯片为核心构成了ZigBee发射模块。USB设备存储的藏汉英三语站台信息通过USB接口接入单片机控制模块,靠近站台时公交车进行相应的语音播报。

3 拉萨公交车藏汉英3种语言自动报站系统的硬件设计

3.1 硬件设计架构

拉萨公交车藏汉英3种语言自动报站系统的硬件设计架构见图2。

图2 系统硬件设计架构

3.2 站址编码信息发射器设计

图3是站址编码数据信息发射器的硬件原理,主要部分由五大模块组成:ZigBee发射模块、供电电池、阻抗匹配网络、晶振和无线发射天线。ZigBee发射模块选用先进的CC2430芯片,在发射模式下,电流损耗少于25 mA,2节5号电池最长使用期限可达到2 a时间,减少了更换电池的操作频率。该芯片生产技术为0.18 m CMOS工艺,继承了优良的CC2420芯片的框架特点,实现了整合增强型8051内核的内存微控制器、发射模块和ZigBee射频前端在CC2430芯片上的集成,只需极短时间就可实现从休眠模式到主动模式的模式切换。32 MHz的晶振通过外接线与CC2430芯片连接,站址编码信息的灵活设置可由8位拨码开关SW决定。阻抗匹配网络处理站址编码信息后,通过天线将信息发送出去,可形成几十米的有效覆盖半径[8]。这种连接部件的方法具备以下特征:电路简洁、成本低廉、信号可靠、安装便捷、维护简便。

3.3 车载藏汉英3种语言自动报站器设计

单片机集成低能耗的MSP430F149芯片,其功耗电流很低,为微安工作电流级别。MSP430内核中央处理器是16位,该CPU中断采用高效的统一管理模式,系统集成了高效的精简指令集。片内闪存容量可达60 kB,模数转换器采用12位、14路结构设计,硬件乘法器运算精确。片内有看门狗和比较器各1个,16位定时器和外部时钟分别有2个。并行口和USART通信端口分别采用6路、2路结构设计,可选择SPI或UART工作模式在2路通信端口上。

图3 站址编码信息发射器硬件原理

CC2420芯片的压控振荡器采用全部集成化处理,为维持正常工作频段在2.4 GHz,只需借助16 MHz晶振、天线等少量器件,所以CC2420被用作ZigBee接收模块的核心。与微处理器连接,CC2420只提供1个SPI接口实现,CC2420收发、设置数据操作由此接口实现[9]。为了实现与CC2420互相通信,MSP430F149与CC2420相互搭配运用,且SPI控制器被集成在MSP430F149上。

时钟芯片集成的DS1302带有随机存储器,基于I2C总线结构,其功耗小、性价比高,串行时钟日历芯片能自动计算闰年并进行闰年补偿,实现日历的准确计算,时、分、秒、星期、阳历年月日、藏历年月日等信息由串行时钟日历芯片计算得出。这些时标数据保存在对应的RAM中,单片机利用读取命令直接读取。

温度传感器集成的DS18B20有微型化、智能化、数字化的优点,采用简单的单总线、一线制结构,性能强、功耗少、稳定性高,测量温度的范围很大,从-55℃到+125℃,在-10~+80℃条件下,测量精度提高很多,可缩小至0.5℃[10]。温度模数转换命令从单片机发出后,所测得的温度数值被DS18B20保存,分别存至高8位(MSB)和低8位(LSB)单元中,以便单片机通过相关指令直接读取。

行列驱动电路和显示阵列构成LED点阵藏汉英三语显示模块的核心部件。本系统行驱动电路组成部件有三极管NPN9013、TC74HC04芯片和MC74HC138芯片;列驱动电路组成为M74HC595芯片,为16行×64列单色点阵的LED显示阵列,驱动形式是动态扫描型,可实时、动态地用藏汉英3种语言显示站点、时间、星期、日历和实时温度等服务性信息。

PDIUSBDI2因为达到大部分器件的类别规格要求,且被USB 1.1协议设备端广泛采用,所以应用在USB接口芯片上。它集成如下特性:模拟收发器、低频晶振、电压调整器、可编程的时钟输出、位时钟复位、端点寄存器、集成RAM、存储器管理单元、GoodLink、SoftConnect和串行接口引擎[11]。PDIUSBDI2内部集成3个均含有输入、输出的端口,通过这3个端口传送USB数据。端口2的引线4、引线5可设置为同步输入端口、同步输出端点、同步输入输出端口或者普通输入输出端口;端口1的引线2、引线3分别为普通输入端口、普通输出端口;端口0的引线0、引线1分别控制输入端口和输出端口,USB的操作指令通过端口0的引线传输。因此,端点2的缓冲区容量较大,为双缓冲区,每个容量是128 kB,端口1和端口0的缓冲区容量较小,每个容量是32 kB。

功放芯片采用TDA2822音频功率放大双声道电路,其静态电流和交越失真都很小,有较宽范围的工作电压,低电源电压条件下也可正常工作,并有较大的输出功率,最大输出功率可达3 W。语音芯片采用语音信号接线偏少的ISD4003芯片,语音可逼真重现。因为芯片存储技术采用多电平直接模拟量存储,即直接依次存储各采样值在芯片闪存中,故单片录音和播放时间延长,扩展至5~9 min。

图4 车载藏汉英3种语言自动报站器硬件原理

5 软件设计

站台软件的运行过程步骤较少,所以省略流程图和解释。图5是拉萨公交车的车载部件的软件流程,主要过程如下:系统先进行程序初始化,之后读取U盘数据库信息,同时根据CC2420站址编码数据判断公交是否进站,若公交没有进站,则继续读数;若公交进站,则进行ISD4003藏汉英3种语言语音播放程序和开门、关门操作,随后读取DS1302时间、日历和DS18B20温度数据,再进入LED显示程序,接着判断是否有报站键按下,若有报站键按下,进入手动报站模式,即手动报站后,清看门狗,读取时间、日历和温度信息;若无报站键按下,返回读取CC2420站址编码数据。

图5 车载藏汉英三语自动报站软件流程

6 结束语

公交站台的站址编码信息的自主发射通过CC2430芯片实现。CC2430芯片成本低廉,可靠性高,外接口电路简洁,能耗低,可实现电池长期供电,降低了电池的更换频率,使系统的安装、维护和部件更换更加便捷。通过USB存储的拉萨公交数据库(包括藏汉英三语录制的语音)信息,车载软件可实现公交线路的快速转换。LED除了显示自动语音播报的站点外,还可藏汉英三语实时滚动显示站名、时间、日历(阳历、阴历和藏历)和当前温度信息,使公交服务更加贴近群众生活,让乘客感受到宗教圣地的人文关怀。拉萨市公交系统实际运营环境和本地特色如下:典型的旅游城市,国外游客大部分使用英语,国内游客使用汉语,本地居民和常住市民使用藏语、汉语,因此藏汉英3种语言都很必要。从满足拉萨市服务群众的基本需求出发,综合考虑性价比,本文设计了基于ZigBee技术的藏汉英3种语言自动报站系统,藏汉英三语报站准确、及时。LED站台显示信息是语音播报的有效补充,LED其他便民服务信息为乘客创造了温馨的环境。本系统的建设和维护成本低,适用范围广,非常适合在西藏、青海及其他少数民族地区大规模推广使用。

[1]张莲,刘彦飞.基于ZigBee无线茎流传感器的研究[J].压电与声光,2010,32(5):878 -881.

[2]付华,黄嵩,丁柏闻,等.基于ZigBee技术的输液监控系统的设计与实现[J].压电与声光,2013,35(5):756-758,762.

[3]李彤,李闯,常成.基于ZigBee协议的距离无线通信节点设计[J].四川兵工学报,2012,33(7):103-105.

[4]孙德辉,龚关飞,杨扬.基于CC2430的无线传感器网络系统设计[J].现代电子技术,2010,33(13):66-68,72.

[5]王永.集合学习中应注意的几个问题[J].山西财经大学学报,2002,35(6):11.

[6]王义和.离散数学引论[M].哈尔滨:哈尔滨工业大学出版社,2000.

[7]李野,王晶波,董利波.物联网在智能交通中的应用研究[J].移动通信,2010(15):30-34.

[8]朱开宇.基于ZigBee的城市智能公交网络系统[J].单片机与嵌入式系统应用,2008(5):17-20.

[9]赵晨,何波,王睿.基于射频CC2420实现的ZigBee通信设计[J].微计算机信息,2007,23(1-2):60-262.

[10]曹建军,史忠科,宋莆.小区停车场智能管理系统设计[J].计算机工程与应用,2009,45(5):214 -217.

[11]张玉洁,刘军,贾利民,等.RFID技术在铁路集装箱堆场进出口的应用[J].物流科技,2008(2):34-36.

猜你喜欢

路车东路中路
吉林省吉林市松江东路小学校
青春中转站
北京东路的歌谣
当奥迪RS5 Sportback的性能,邂逅乌鲁木齐中路的潮流与复古
瞌睡虫找朋友
基于中船中路项目谈深层软基处理设计要点
吃火锅的发现
黄河三角洲东路梆子的传承发展与价值探究
公交车中的学问
十里桃林平东路