引言
近年来,随着科学技术的快速发展,城市公交车的管理方式也有了很大的改观,逐渐由原来的人工售票、人工报站的方式向无人售票和语音报站的方向发展。虽然使用手动报站器替代人工报站有了很大的进步,但是需要驾驶员在行车中人工操作,所以经常出现错报、漏报的现象。而且这种驾驶员边驾驶边操作的行为,也给安全驾驶埋下隐患。自动报站系统的出现大大减轻驾驶员的工作量,加快了公交系统的现代化进程。目前少数发达国家(如美国、日本等)的部分城市公交系统已逐步使用GPS卫星定位系统进行定位报站,虽然这种系统功能强大,定位准确度高,系统稳定可靠,但其投资运行成本相对较为昂贵,公交企业难以承担其费用,尤其是一些中小城市更是无法承受,大大制约了其使用范围。
本文设计了一种利用RFID技术、MP3语音播放和单片机控制技术相结合,实现公交车站的自动识别与自动报站的方案。射频识别(Radio Frequency Identification,RFID)技术是近年迅速发展起来的一项新技术,是利用感应、电磁场或电磁波为传输手段,完成非接触式通信,由此获取相关数据的一种自动识别技术,即利用无线射频方式来进行非接触式的物体自动识别。相对于无源RFID,有源RFID具有作用距离远、发射功率可控制、发射频率可调、接收灵敏度高等特点,本系统的有源RFID部分由CC1100模块完成。在非特别需要的情况下,本系统无需驾驶员参与,避免因为驾驶员的疏忽而造成漏报、误报的现象发生,有利于提高行车的安全性。
1 系统的组成与主要实现功能
本系统由车载设备和站台设备两个部分组成,其中车载部分主要包括单片机控制单元、RF无线射频接收单元、语音播放单元、显示单元、键盘输入单元和电源供应单元等,站台设备包括单片机编码单元和RF发射单元。每一个公交站台设置一个具有唯一ID的RF发射器,采用间歇工作方式发射RFID信号,当公交车即将到达车站时,车载系统接收到站台信号并解码出该站台的ID号,由单片机控制自动播放对应本站台编号的报站语音;报站语音为MP3格式,并用SD存储卡作为存储载体,方便更新和修改。
2 系统硬件结构
为简化系统结构,方便系统的设计、调试和扩展其他功能,本系统采用模块化的设计方式。站台发射端的硬件结构框图如图1所示,主要包括RF发射模块(CC1100)、车站ID编码生成模块(STC89C58)。车载接收端的硬件结构框图如图2所示,主要包括RF接收模块(CC1100)、车站ID解码与控制模块(STC89C52)、语音播放模块(VS1003)、语音功率放大模块(TDA7297)、显示模块、电源模块等。
2.1 单片机控制模块
发射与接收端的控制模块分别由单片机STC89C51和STC89C58构成,STC89C51系列单片机具有片内FLASH程序存储器、EEPROM存储器,且可以通过RS 232接口下载软件,方便系统软件的存储与更新。站台ID的编码生成由单片机STC89C51完成,使用STC89C51的P1.0~P1.7端口作为站台ID编码输入,分别连接在拨码开关上,共有256(28)种不重复的编码。在需要更多的编码时,可用STC89C51的其他空闲端口进行扩充;使用单片机直接对车站进行ID编码,比使用一些专用编码芯片更加灵活方便,扩展性更好。车载设备的控制由单片机STC89C58组成,分别完成CC1100接收模块的初始化、VS1003语音模块的初始化、站台ID的解码及显示系统的控制等功能。本方案中,因为STC89C51系列单片机不带SPI接口,所以通过普通I/O口模拟SPI接口实现与CC1100,VS1003的通信。
2.2 RF发射与接收模块
本系统的有源RFID由站台发射端与车载接收端两部分组成,射频发射与接收分别由两块CC1100模块完成。CC1100是美国德州仪器(Texas Instruments,简称TI)公司生产的一种高性能无线射频通信芯片,它是一种专为无线射频通信应用而设计的低功耗、低成本的单芯片UHF收发芯片。支持ASK,OOK,2-FSK,GF-SK和MSK等调制模式,工作频率可以通过软件设定为315 MHz,433 MHz,868 MHz和915 MHz的ISM(工业,科学和医学)和SRD(短距离设备)等频率波段,其数据传输率可软件编程控制,最高可达500 Kb/s。CC1100具有灵敏度高、链接性能好的特点,所需的外部组件少,电路结构简单,工作稳定,可广泛应用于各种短距离无线通信领域。
2.3 语音播放模块VS1003
VS1003是由荷兰VLSI公司出品的一款单芯片的MP3/WMA/MIDI音频解码和ADPCM编码芯片,其拥有一个高性能低功耗的DSP处理器核心VS _DSP,5 KB的指令RAM,0.5 KB的数据RAM。VS1003的所有数据和控制命令均通过SPI总线接口实现,因此和单片机的接口连接比较简单,只需4根信号线,分别是:设备选择线、时钟信号线(SCLK)、串行数据输出线(MISO)、串行数据输入线(MOSI)。音频数据通过串行数据接口(SDI)传送,控制数据则通过串行控制接口(SCI)来传送。控制数据是通过读写不同的寄存器来实现对VS1003的控制。在本方案中,VS100 3作为一个微处理器的一个从机,通过串行SPI接口接收输入的比特流,输入的比特流被解码后,再经过数字音量控制器到达一个18位过采样∑-△A/D转换器。这样利用一块VS1003芯片与单片机STC89C58相配合,由STC89C58读取SD卡中的MP3音频文件,再通过SPI接口送至VS1003芯片播放。
2.4 音频功率放大模块
报站语音放大由音频功率放大集成块TDA7297完成,其工作电压范围为6~18 V,双通道输出功率可达(15+15)W,即使在嘈杂的环境中也能有足够大的输出功率。
此外还有电源模块和显示模块,电源模块负责系统的电源能量供应,分别为单片机、CC1100、VS1003等模块提供3.3 V的工作电压,为功放模块提供12 V的工作电压;显示模块作为人机对话的一个窗口,用以显示和标识车辆到站的提示信息。
3 系统软件设计
本自动报站系统的软件也采用模块化设计,主要包括主程序、CC1100初始化程序、VS1003初始化程序、站台ID编码程序、MP3语音读取与播放程序、显示处理程序等。
3.1 站台发射端
系统上电后,单片机STC89C51首先对CC1100初始化,接着扫描P1端口的ID编码状态值,并在该值的前面加上前置识别码,后面加上结束标识码,然后通过CC1100调制并发射。
3.2 车载接收端
系统上电后,单片机STC89C58分别对CC1100,VS1003和显示单元进行初始化。当汽车即将到达车站(距离站台发射器约50 m)时,接收到站台发射的RF信号,系统分两次接收解码出该站台的ID编码号,通过比较两次的ID编码值,可有效排除外来干扰,提高系统抗干扰性能。只有两个值相等才判断确定为该站台的正确ID编码号,并与上次存储的ID号进行比较,如若相同,判为同一站台,返回重新检测与识别,不再重复报站;如果不同,则存储本次ID编码值并搜索与读取SD存储卡中相对应的MP3语音文件,然后输送到VS1003进行语音播放报站。
4 结语
本文针对当前我国各城市公交车报站方式上的不足,利用无线射频识别技术,设计了一种基于RFID技术的公交车自动识别车站、自动报站的技术方案。这种基于RFID技术的公交车自动报站系统,实现了公交车的自动报站功能。在识别车站、自动报站的过程中,完全不需要驾驶员进行操作,减轻了驾驶员的负担,增加了车辆行驶的安全性。本系统具有报站准确率高、价格低廉、运行成本低、维护方便的优点,不失为一种实用的公交车智能装置,具有一定的推广应用价值。