1 前言1.1 课题的研究背景在一些发达城市(如广州),公交车网已经比较完善,给人们的生活和工作带来了很多的便利。
可以说城市的人们已经离不开它了,在这样的前提下,公交车服务的质量也应该要不断的提高。
坐过公交车的人或许都会遇到这样一种情况——公交车经常会报错站或漏报站,这是因为现在的公车报站是由司机来完成的(每到一个站都要按一次报站按钮),人手操作难免会出错。
1.2公交车报站方式分类随着社会的不断发展,人们对公交系统的服务质量要求越来越高。
而目前大中城市公交车报站方式主要有以下几种:(1)手动电子报站:车辆每到一个站点,司机需要按下相应的按钮来启动语音报站系统;这种报站方式需要靠驾驶员控制,不仅增加了驾驶员的操作,还存在一定的安全隐患;(2)利用GPS 定位系统报站:该报站方式是全自动报站,根据GPS 的定位数据(经纬度信息)计算出车辆所处的确定位置,报站非常准确,但是其生产及运行成本非常昂贵,而且需要专业人员进行维护,在现今条件下难以推广(孙戈等,2007);(3)利用车辆行驶特征进行自动报站:该报站方法根据起步后的行驶距离、开关门信号和进站打转向灯的方式综合起来判断车辆是否到站。
这种方法要求驾驶员一定要按规范驾驶,如果驾驶员操作不规范或者遇到特殊情况,例如中途停车等,就有可能引起报站错误。
针对上述报站方式的弊端,设计一种基于nRF905 的公交车自动报站系统,能有效提高了公交系统的服务质量,方便乘客乘车。
1.3基于nRF905的公交车自动报站系统本项目以自动报站为核心,主要采用语音芯片、无线电遥控、液晶显示、单片机等技术,功能实用强大,设计思路符合人性化。
我们立足于在应用中降低司机的工作强度,提高车辆运行的安全性,具有广泛的应用性,适合推广使用。
2 总体方案确定2.1 无线模块的比较与选择以下是选择无线模块的总体建议:(1)如果需要较远的传输距离,可用433MHz模块,如果需要传输较大数据量,选择2.4GHz模块;(2)如果应用场合是空旷环境,根据标称距离选择模块即可(最好留一点余量),如果使用环境比较复杂,如有较多障碍物、穿墙、强电环境、电磁波干扰等,可以选择穿透性较强的模块或带功放的中大功率模块;(3)Nordic/TI系列模块,如nRF905/CC1101微功率模块,相对来说开发比较简单;(4)为了降低研发人员开发投入,可以选择无线透传模块,串口通信无需编程即可使用,目前以UTC1212,UTC903,UTC4432为代表的第三代无线模块,由于性能优异,已经逐渐替代早期的SPI无线模块,得到大规模应用;(5)以TI的CC1101为代表的无线模块,价格低,性价比高;(6)如果想组建以PC为中心的无线监控系统,可以考虑USB接口的无线模块和SPI 模块(接单片机)配合使用;(7)无线模块的传输距离,和天线的关系很大,一是天线的增益(一般是天线越大增益越高),二是天线和射频电路的匹配。
nRF24L01是由NORDIC出品的工作在2.4GHz-2.5GHz的ISM频段的单片无线收发器芯片。
无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。
输出功率频道选择和协议的设置可以通过SPI接口进行设置。
几乎可以连接到各种单片机芯片,并完成无线数据传送工作。
nRF905单片无线收发器是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9-3.6V,32引脚QFN封装(5mm×5mm),工作于433/868/915MHz3个ISM频道(可以免费使用)。
nRF24L01工作频率是2.4GHz-2.5GHz,适合传输较大的数据量,例如传输图像数据;nRF905工作频率是433/868/915MHz,适合传输较远的距离。
显然,本设计需要传输较远的距离,再加上nRF905相对来说开发比较简单,因此最终选择nRF905作为本设计的无线模块。
2.2实现原理要同时实现车上语音报站和站上液晶显示车号的功能,则必须分别设计车上语音系统和站上液晶显示系统。
报音和报号都需要各自系统接收到相应的信号才能启动,而要二者的通讯不受对方干扰则要选择两对不同频段的发射与接收模块。
车上和站上系统分别有不配对的发射与接收模块——车上接收芯片与站上发射芯片配对,站上接收芯片与车上发射芯片配对。
对应的发射与接收模块要事先把地址设置相同,由于频段的不同两对发射与接收模块可各自通讯完成报音与报号功能。
通讯模块的工作距离范围有限,只有当公交车进入有限范围时各自的接收模块才能接收到对应发射模块的信号,此时启动报站功能,为防止车上语音不断报站本设计限定了每一个站的报站时间,此后车上系统即使继续接收到信号也不会启动语音芯片工作。
本设计采取的语音芯片操作简便,采用并行方式时最多可自动平均分配地址为8段,每段可长达8秒的录音与放音,适当进行芯片级联便可满足整条线路的报站要求。
采用单片机进行编码与解码,程序设计简单,只需把站号和车号分别与通讯芯片数据对应好即可,当需要其他线路的公交车增援或车站名改动时,只需在程序方面简单重新编码与解码时即可投入工作。
2.3系统总体结构整个报站系统由车载设备和电子站牌两大部分组成。
车载设备主要通过单片机读取射频收发电路收到的数据,判断是否应该向语音录放芯片发送语音信息地址播放预先录制好的语音信息,并向站牌发送该路车即将到站的信息和显示行车方向,而电子站牌主要用于发送站牌数据和接收并显示从车载设备发来的信息,实现与车载设备间的双工通信。
系统总体设计框图如下页图1 所示。
本系统的硬件主要由以单片机AT89S52为核心的控制器、nRF905组成的射频通信电路、语音芯片APR9600组成的语音功放电路。
3图1 系统总体框图3硬件设计本系统主要由语音芯片、液晶显示、通讯(发射与接收)、单片机控制等几部分构成。
语音部分采用APR9600模拟语音录放芯片,液晶部分选用RT1602c字符型显示模块,通讯则选择稳定实用的nRF905。
控制电路由AT89S52及外围电路组成。
3.1 控制模块电路为满足设计要求,系统采用ATMEL 公司生产的低功耗、高性能的8 位CMOS 单片机AT89S52 作为系统的主控制器(王卫星等,2009),负责对射频收发芯片、语音芯片的初始化工作,单片机通过SPI(串行外设接口)端口与射频收发芯片进行通信,实现公交车与站台间的无线数据通信,完成接收、发射、显示和语音报站等各项操作。
3.2 通讯(发射与接收)模块电路采用nRF905无线通讯模块,实现公车与站台的信息通讯,是本系统的核心模块。
nRF905是一款收发一体的单片无线通讯模块,可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置非常方便,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。
nRF905单片无线收发器工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节器组成。
以下是nRF905的详细参数:(1) 433Mhz开放ISM频段免许可证使用(2) 最高工作速率50kbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合(3) 125频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V工作,待机模式下状态仅为2.5uA(6) 收发模式切换时间 < 650us(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) TX Mode: 在+10dBm情况下,电流为30mA; RX Mode: 12.2mA(9) 标准DIP间距接口,便于嵌入式应用ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。
通讯距离远,而且误码率低,因此采用nRF905作为通讯模块的设计。
nRF905芯片共有32个引脚,重要的引脚有十五个,如下图所示:图2 nRF905管脚图5表1 nRF905管脚说明名称管脚功能说明VCC 电源电源+3.3-3.6V DCTX_EN 数字输入TX_EN=1写TX_EN=0读TRX_CE 数字输入使能芯片发射或接收PWR_UP 数字输入芯片上电uCLK 时钟输出本模块该脚废弃不用CD 数字输出载波检测AM 数字输出地址匹配DR 数字输出接收或发射数据完成MISO SPI接口SPI输出MOSI SPI接口SPI输入SCK SPI时钟SPI时钟CSN SPI使能SPI使能GND 地接地GND 地接地与单片机的数据通信采用SPI接口,管脚MISO为SPI输出,MOSI为SPI 输入,CSN为SPI使能端,SCK为SPI时钟信号,分别与单片机的P1.6、P1.7、P3.3、P3.4引脚连接,而CD、AM、DR三个管脚分别为载波检测输出、地址匹配输出、数据就绪输出引脚与单片机的P1.3、P1.4、P1.5引脚相连,使能芯片发射或接收引脚TRX_CE与P1.0相连,芯片上电引脚PWR_UP与P1.1相连,P1.2与uPLCK时钟输出引脚连接,其中ANT1与ANT2外接PCB环形天线(杨伟平等,2009)。
单片机只需将要发送数据送给nRF905发送缓存器中,nRF905就会自动产生前导码和CRC校验码,发送数据;在接收数据时,当nRF905监测到有效的载波和相匹配的地址时,将开始接收数据,并自动移去字头和校验码,将接收数据存储到接收缓存器中,等待微处理器读取数据。
图3 nRF905模块接法nRF905模块VCC引脚接电压范围为3.3V——3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。
推荐电压3.3V左右(胡文明等,2007)。
3.3V电压可以用AMS1117系列的3.3V稳压器得到,该稳压器可以从大于4V的电压稳定得到3.3V,可以将小于20V 的电压稳压到3.3V,若大于20V稳压器将处于闭锁(就是不工作的意思)。
7图4 AMS1117稳压器的接法3.3语音模块电路采用台湾公司推出的APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段(周湘竣,1998)。
芯片扩展外围电路如下,其中M1、M2、M3、M4从单片机处接收控制信号。
图5 APR9600语音模块接法本设计采用并行控制下的4段模式即可满足要求。
并行控制时操作简便,每段都有对应的键控制,按哪一键就录、放哪一段,而且可以方便地对任意一段重新录音不影响其他段、对任意一段循环放音等。