NRF401在公交车报站系统中的应用

来源:百度文库 编辑:神马文学网 时间:2024/04/20 01:42:00
The Application of NRF401 in Bus Auto-Reporting-Calling System
西南石油大学 王勇 王章瑞 中石油西南油气田分公司 张林霞
引言
目前大多数公交车报站系统设计主要考虑为公交车内的乘客服务,没有考虑到在站台等车乘客的需求。虽然站台有站牌,但对于盲人、识字不多以及对乘座公交车不太熟悉的人来说,还不是很方便;再加之,到达同一站台的公交车较多,也很容易引起乘客的混淆。
本文在原公交报站系统的基础上应用射频芯片NRF401设计了一款无线公交车报站系统,在该系统中,公交车内通过半自动报站设计的同时把该车的相关信息通过由NRF401组建的无线电路传送到站台,完成即将到站车辆的预报以及显示该车所经路线基本情况。通过在站台增加语音播报和动态文字显示设计,使原来仅有一个站牌来提供简单静态线路信息的站台成为一个公交信息亭。方便了乘客乘车,有效地提高了公交运营公司的服务质量。
系统硬件设计
在系统中无线通信电路采用无线射频收发一体型芯片NRF401组建,当公交车快到达站台时,车内司机通过按键报站,同时通过无线收发电路把该路车车次、上下行等情况传输到站台,站台接收电路收到信息后送给单片机,由单片机控制完成站台的语音播报和液晶显示。
系统的硬件设计中充分考虑了性价比,用最少的器件设计出满足要求的硬件电路。该系统的总体结构以AT89C52单片机为核心,由ISD1420语音电路、模拟射频电路、LCD显示电路等组成。总体结构框图如图1所示。硬件原理图如图2所示,下面分别予以介绍。
图 1 NRF401原理框图(略)
图2 硬件原理图(略)
单片机电路
AT89C52是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含8K bytes的可反反复擦写 的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM ), 器件采用ATMEL公司的高密度、非易失性存储技术生产。与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器和Flash存储单,功能强大。
根据设计要求,片内闪烁存储器作为程序存储器,内部RAM用作数据存储器。P0口作为语音芯片的地址线,P2口作为LCD芯片的数据线。P1.0作为看门狗芯片MAX813L的信号输入端,P1.1、 P1.2用作两个按键设置信号输入,P1.3为LCD的片选信号, P1.4为语音芯片电平触发放音使能,P1.5作为NRF401的频道选择端,P1.6为NRF401的节电控制输入端,P1.7作为NRF401的发射/接收控制输入端口,TXD和RXD分别作为作为NRF401的数据输入和输出端口。
语音合成电路
系统中语音部分主要涉及到车上和站台两部分,要求采用汉语语音播出,在车上播报“XXX站到了,请要下车的乘客做好下车准备,依次下车,下车时注意安全”。在站台上播报“各位乘客你好,XX路车快到本站了,请要乘座该路车的乘客做好上车准备,依次上车”。
设 计中采用了美国ISD公司1994年推出的新型语音合成芯片ISD1420——一种建立在所谓直接模拟存储这一全新概念上的语音芯片。有128 K存储单,相当于采用A/ D采样技术的1024 K(I兆位)的容量,通过外部8条 地址线A0-A7管理这些单。在语音录入时,语音信号经微音器直接输人M IC‘端,并存入不易失模拟存储单。语音重放时,地址线有效,选择该存储单的语音,送到引脚SP+、SP?,由扬声器发声,完成语音的重放。
REC引脚为录音控制端,低电平有效。PL引脚为放音控制端,低电平有效。A0-A7为地址线或操作模式控制端,A6或A7任一位为低电平“0”时为直接寻址方式。A0-A7决定录放起始地址。每个地址录放时间为0.125秒,共160个地址,录放时间共20秒。
如:A7-A0=OOH 第1段 第0秒 O1H 第2段 0.125秒
O 2 H 第3段 第 0.25秒
………………………………
9FH 第160段 第19.875秒
录音时可连续多个地址存放,只需给出起始地址,直到REC引脚变高,建立结束标志,录音结束。放音时只需给出该起始地址,PL放音控制为低电平,就会重放该段语音直到遇到结束标志,停止放音。
本设计中,语音均预先录制存放好,工作时只完成放音功能,因此,REC引脚、RE引脚、PE引脚均通过电阻固定接高电平。A CC为自动增益控制端,通过一个电阻和一个电容并联接地。
模拟射频电路
在 本系统设计中模拟射频电路采用NRF401芯片组建,该芯片采用FSK调制解调技术,最高工作速率可达到20 Kbit/s;发射功率可以调整,最大发射功率是+10dBm。
NRF401的天线接口设计为差分天线,以便于使用低成本的PCP天线。它所需外围件少,无需声表滤波器、变容管等昂贵的件,只需要便宜且易于获得的4MHz晶体,收发天线合一,无需进行初始化和配置,不需要对数据进行曼彻斯特编码,有2个工作频宽(433.92/434.33 MHz),工作电压为2.7~5 V,还具有待机模式,可以更省电和高效。NRF401无线 收发芯片的结构框图如图3所示。
图 3 NRF401结构框图(略)
NRF401有3种工作模式:收模式(RX)、发模式(TX)和等待模式(Std.by),工作模式可由3个引脚设定,分别是TXEN、CS和PW R-UP。因此通过单片机控制NRF401的工作模式,使其处于接收、发射、等待任一种状态,实现半双工通信。若PW R=0,TXEN和CS任意,系统为待机状态,若TXEN=1,为发送状态;TXEN=0,为接收状态。CS为信道的选通端,CS=0选通信道为433.92 MHz;CS=1选通信道为434.33 MHz,其主要特性如下:
1)工作频率为国际通用的数传频段;
2)工作速率最高可达20 Kbi/s;
3)FSK调制,抗干扰能力强;
4)采用PLL频率合成技术,频率稳定性极好;
5)灵敏度高达-105dBm;
6)功耗小,接收状态250 uA,待机状态仅为8uA;
7)最大发射功率达+10 dBm;
8)低工作电压(2.7 V),可满足低功耗设备的要求;
9 )具有多个频道,可方便地切换工作频率;
10)因采用了低发射功率、高接收灵敏度的设计,使用无需申请许可证,开阔地的使用距离最远可达1000 m。
NRF401接收机使用频移键控(FSK)调制方式,改善了噪声环境下的系统性能。NRF401另一个非常重要的特性是接收机的频带外阻抗很高,这意味着它不需要外部声表面波(SAW)滤波器。此外NRF401的解调器是DC平衡的,因此可以使用任何一种协议,也可以使用各种“0”、“1”序列,因而无需浪费单片机宝贵的处理资源来进行曼彻斯特编码。
本系统的无线通信模块发送部分是通过单片机串行口送到模块由模块发送,而接收部分是由模块接收到数据以后,由单片机控制相应部件工作。这两部分的连接示意图如图4所示。
图4 单片机和NRF401连接示意图(略)
音频功放及LCD显示部分
音频功放部分选用LM358,它内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。 其连接电路图也很简单,具体见硬件原理图。
LCD显示部分选用了北京精电蓬远公司的点阵式图形液晶显示模块QH2001,它由128(列)x 64(行)点阵组成,整个屏幕分左右两半屏,可以显示数字和中文。
Q H2001片内含1个行驱动器KS0107B和2个列驱动器KS0108B,CSA跟KS0108B (1)的CSl相连,/CSB跟KS0108B (2)的CSl相连,因此/CSA、/CSB选通组合信号为/CSA,/CSB=O1,选通(1) ; /CSA,/CSB=10,选通(2)。如表1所示。
表1 QH2001片选组合方式(略)
QH2001与微控制器有两种接口方式:直接访问方式和间接控制方式。本系统采用直接访问方式,即把QH2001作为存储器或I/0设备直接挂在微控制器总线上,微控制器以访问存储器或I/O设备的方式操作液晶显示模块的工作。接口电路如图5所示。
图5 单片机和LCD连接示意图(略)
系统软件设计
该机软件设计采用模块化,主要由四部分组成,包括:初始化程序模块,通信程序模块,显示程序模块,语音程序模块。主程序流程图如图6所示。
图6 主程序流程图(略)
初始化程序模块
主要完成各种参数设置,数据存储区清零,通信波特率设置,定时器参数设置等。
通信程序模块
在设计程序时,要注意各状态转换的时延。NRF401的通讯速率最高为20Kbit/s,发送数据之前需将电路置于发射模式;接收模式转换为发射模式的转换时间至少为lms;可以发送任意长度的数据;发射模式转换为接收模式的转换时间至少为3ms。在待机模式时,电路进人待机状态,电路不接收和发射数据。待机模式转换为发射模式的转换时间至少为4ms;待机模式转换为接收膜式的转换时间至少为5.0ms。
同时为了保证传输数据的高可靠性,本设计采用循环冗余码(CRC码)对单片机通信的差错进行控制。系统中单片机的CRC校验采用CRC-16码,能够保证传输的可靠。系统和程序的工作流程见图7。
图7 发射和接收软件设计流程图(略)
语音程序模块
播放的数字语音和各种汉字语音,均已预先录制好,存放在ISD1420语音芯片的各个单元中,每个数字语音占六个单元,各站站名的汉语词音占八个单元。语音播报程序首先完成语音地址计算,将语音地址存放于缓冲区中,待全部算完,建立结束标记。然后,启动定时器,每隔0.3秒输出一个地址信号,完成语音输出。如站台要播报“各位乘客你好,36路车快到本站了,请要乘座该路车的乘客做好上车准备,依次上车”,根 据该数据,调用语音地址计算子程序,将“3”、“6”语音地址存入缓冲区40 H和41H中,依此类推,直至结束。再在缓冲区中依次间隔0. 3秒时间取出语音地址,直至遇到结束标记。语音文件存放缓冲区中 地址如表2所示。
表2 语音文件存放缓冲区中地址对照表(略)
结束语
本系统应用NRF401芯片来实现无线通信降低了系统成本,同时对单片机数据通信的差错采用循环冗余码(CRC)控制和反馈重传方式,大大提高了数据通信可靠性,误码率很小。语音播报软件设计,使语音自然流畅,完个符合人们的自然习惯,同时为进一步设计功能更多、更人性化的公交报站系统做了技术铺垫。