GPS自动报站系统的设计与实现Word下载.doc
《GPS自动报站系统的设计与实现Word下载.doc》由会员分享,可在线阅读,更多相关《GPS自动报站系统的设计与实现Word下载.doc(8页珍藏版)》请在冰点文库上搜索。
本系统利用RoyalTek公司的21ROEMGPS数据接收板,进行经纬度及行进方向等数据的接收;
使用ISD4004-16长时间语音处理芯片进行语音的存储与播放;
用ATMEL公司的AVR高速嵌入式单片机AT90S8515做数据存储与控制单元,较好地满足了设计要求。
GPS数据接收
本系统使用的是RoyalTek公司的21ROEM接收板,接收板使用NMEA-0183V3.0协议,支持GGA、GLL、GSA、GSV、RMC、VTG等6种数据格式。
本例使用的是较常用的RMC格式。
该格式的数据为:
“<
格式标识>
,<
协调世界时UTC>
接收状态>
纬度>
北/南纬度指示>
经度>
东/西经度指示>
速度>
方向>
日期>
磁偏角>
检查和>
CR>
<
LF>
”。
以上数据均以ASCII码表示。
这里我们主要关心<
、<
状态>
等数据,其中<
是NMEA-0183协议中RMC数据格式的头标志,具体内容为“$GPRMC”;
是指接收的该帧数据是否有效,“A”表示有效,“V”表示无效;
数据格式为“ddmm.mmmm”,<
为“N/S”,纬度与其配合说明是北/南纬度,由于我们地处北纬,所以只需一个纬度值就可以了;
的数据格式为“dddmm.mmmm”,<
为“E/W”,用于配合说明东/西经度,由于我们地处东经,所以我们也只需一个经度值就可以了;
是行驶的速度,单位是哩/小时,数据给出到小数点后两位;
为行驶的方向,数据格式为“ddd.dd”。
例如,若接收到的数据为:
“$GPRMC,031604.719,A,3201.3255,N,12054.1669,E,20.15,298.21,250905”
就表示是RMC格式,北京时间11时16分4.719秒,数据有效,32°
1.3255分(北纬),120°
54.1669分(东经),速度20.15哩/小时,方向298.21°
,日期为05年9月25日。
数据压缩与预存
判别车辆行驶的位置,需要对播报点的语音编码、经纬度坐标、方向、运行状态进行预存。
为了节约存储空间,必须对数据进行预处理与压缩。
由于我国陆地地处东经73度到136度之间,所以我们将采集到的经度数据首先减去73度,变换使得经度范围在0~63度之间。
对经纬度值的预存可以使用存储每次的增量值的办法,这样可使数据长度变短,但处理起来要麻烦一些,并且可能产生误差积累;
另外一种方法就是存储变换后的绝对经纬度值,这样虽然数据略长一些,但处理起来比较简单。
经过权衡,本例使用了后者。
GPS提供的经纬度为1/10000分,实际上它的最低位值是不稳定的,所以我们只取到1/1000分。
由于地球的半径约为R=6378km,这样每1/1000分所对应的弧长约为:
2πR/(360度×
60(分/度))/1000
≈1.86m
所以这里只取小数点后3位。
以1/1000分为单位,经度的最大值为63×
60×
1000=3780000。
我国纬度的最高值不超过北纬60度,同样以1/1000分为单位,最大值为60×
1000=3600000,经纬度以二进制形式存储备用,24位(3个字节)是足够了。
经纬度共需要6个字节即可。
方向数据,GPS可提供1/100度的精度,实际使用时以2度为单位已经足够了,所以对采集的数据整数部分除以2,范围在0~180之间,这样只须1个字节就可以了。
语音编码由语音芯片的地址确定,使用7位便可以设置128段语音,剩余1位用于存放运行状态。
由此,对一帧预存的信息只要8个字节就可以了。
而在AT90S8515中内置512一个字节E2PROM,可以存储64组预存信息。
结构如图1所示。
距离差距的处理与识别
由于一般车辆行使的范围都是比较小的,所以可以将经纬度直接看作直角坐标来处理。
设预存的经度为x0,预存的纬度为y0,车辆位置实时采集的经度为x,纬度为y。
根据距离公式,两点间的距离为:
如果将距离控制在40m内进行播报,则40/1.86≈21.5,这也就是说车辆的位置(x,y)与预存的位置(x0,y0)之间的值小于21.5即满足播报的条件;
方向的判别主要用于往返同一(同名)站点,以及不同方向的运行状况,所以要求的精度并不高,只要在预存的方向值的基础上±
15°
(30°
)即可。
最后再加上运行状态等数据的识别,即可准确的进行播报。
系统组成
图2为系统组成原理图。
图中,IC1是ATMEL公司的AVR高速嵌入式单片机AT90S8515,它完成数据的采集、存储、处理;
控制语音芯片进行语音的录制、播报;
键盘与显示等功能。
AT90S8515是增强低功耗RISC结构,内置8KFlashROM、512B在线可编程E2PROM、512BSRAM、32个通用寄存器,同时具有可编程的UART、同步串行通信接口SPI以及内外中断源等。
I/O口置有上拉电阻,而且上拉电阻的使用与否可通过编程控制;
此外片内还嵌有E2PROM,可以存储预存的信息,从而使得外电路及其结构变得简单可靠。
图2中的GPSB为RoyalTek公司的21ROEMGPS接收板,该板使用NMEA-0183V3.0协议,可支持6种数据格式。
本系统提供了2组TTL电平RS-232接口,分A、B两组,初始状态为9600bps、8位、1个停止位、无校验位。
系统使用A组接口与AT90S8515处理器通信。
定位准确度优于10米。
图2中的IC2为长时间语音处理芯片ISD4004-16,主要用来完成语音储存与播放工作,它与单片机之间通过同步串行接口SPI进行通信,该芯片采用多电平直接模拟量存储技术,将采样值直接存储于闪存中,能真实地再现录制的语音。
图3为ISD4004的控制字,其中各位的含义如下:
C4:
1表示允许操作,0表示禁止操作;
C3:
1表示放音,0表示录音;
C2:
1表示上电,0表示掉电;
C1:
1表示不使用指定地址,0表示使用指定地址;
C0:
1表示允许快进,0表示不允许快进;
A15~A0:
指定地址。
这样组成常用的指令及含义如下:
00100xxx(xxxxxxxxxxxxxxxx):
上电;
11100xxx(A15~A0):
指定放音地址(须后跟放音指令,使放音继续);
11110xxx(xxxxxxxxxxxxxxxx):
放音指令,从当前位置放音,直到遇到段结束或存储器尾标记为止;
10100xxx(A15-A0):
指定录音地址(须后跟录音指令,使录音继续);
10110xxx(xxxxxxxxxxxxxxxx):
录音指令,从当前位置录音,直到停止指令或遇到存储器尾标记;
11101xxx(A15-A0):
指定快进地址(须后跟快进指令,使快机快进继续);
11111xxx(xxxxxxxxxxxxxxxx):
快进指令,直到遇到段结束或存储器尾标记;
0x110xxx(xxxxxxxxxxxxxxxx):
停止指令,停止当前操作;
0x01xxxx(xxxxxxxxxxxxxxxx):
停止当前操作并掉电指令;
读状态指令,读取段结束或存储器尾标记。
在图2中还有控制键和显示部分,这里不再赘述。
结束语
GPS系统被广泛用于电子地图、个人定位报警、车船调度管理系统、车船导航系统、定位防盗报警服务等方面。
在自动报站方面的应用是一个尝试,尚有一些功能可扩充和完善。
相关文章
·
超声波探伤在无损检测焊接质量中的作用
工程机械搅拌设备用称重传感器的选型
D101/HP20大孔吸附树脂分离纯化罗汉果皂甙的新方法
无线传感器网络及其应用
有毒有害气体检测仪在工业中的应用
航天测控电子设备电路板故障诊断技术
如何选购发动机综合性能检测仪
管道内径激光测量传感器
温度冲击试验箱的控制系统-上海林频仪器技术部
测量仪器的分类及其常用仪器的应用