杭州中科微电子有限公司
中科微“在线AGNSS”服务
针对中科微GNSS接收机的客户端实现方法
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法2/17
杭州中科微电子有限公司
标题中科微“在线AGNSS”服务
子标题针对中科微GNSS接收机的客户端实现方法
文档类型应用手册
文档编号
文档状态内部预览
文档摘要
本文档详细介绍“在线AGNSS”的使用方案,向客户介绍如何基于中科微的GNSS接收机使
用中科微的免费“在线AGNSS”服务。
日期版本作者说明
2016.8.10.3
何文涛初稿
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法3/17
目录
1简介...................................................................................................................................4
2访问AGNSS服务器..........................................................................................................5
2.1申请账户......................................................................................................................5
2.2连接服务器..................................................................................................................5
2.3评估工具......................................................................................................................5
3获取AGNSS数据..............................................................................................................7
3.1请求语句格式...............................................................................................................7
3.1.1位置和时间参数....................................................................................................8
3.2响应数据格式...............................................................................................................9
3.2.1正常响应数据........................................................................................................9
3.2.2错误响应数据.......................................................................................................10
4辅助数据格式....................................................................................................................10
5客户端实现方法.................................................................................................................11
5.1即时辅助的实现方法示例............................................................................................11
5.2代理辅助的实现方法示例............................................................................................12
6相关文档...........................................................................................................................14
7相关术语...........................................................................................................................15
8联系方式...........................................................................................................................17
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法4/17
1简介
中科微的AGNSS服务器是基于商用的云服务器,收集全球的GPS和北斗电文信息,并
且免费的发布这些电文信息给采用中科微GNSS接收机的终端设备。
中科微的第四代GNSS接收机都已经支持在线AGNSS服务。在卫星信号遮挡或者信号衰
减严重的环境下,GNSS接收机自主定位都很慢,甚至长时间不定位。利用AGNSS辅助信息,
可以加速捕获卫星信息,并提高定位速度。
AGNSS服务的整体框架如下图所示,包括下面几个部分:
1)中科微AGNSS服务器。
该服务器负责收集全球的AGNSS电文数据,并实时更新。接收到客户端的AGNSS请求
后,构建AGNSS辅助数据信息包,并返回给客户端。
2)客户端设备(集成了中科微GNSS接收机)
一个典型的客户端设备包括三个部分(通信模块,MCU主控芯片以及GNSS接收机),
MCU主控芯片通过通信模块与服务器建立连接,并发送AGNSS请求,接收到服务器发送来
的AGNSS辅助数据后,需要校验辅助数据的完整性(后面文档将会详细接收辅助数据包的格
式);MCU主控芯片再将这些有效的AGNSS辅助数据发送给GNSS接收机芯片。
客户端和服务器之间采用TCP/IP通信协议,本文档详细介绍交互的数据格式和内容。
AGNSS服务的整体框架
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法5/17
2访问AGNSS服务器
2.1申请账户
AGNSS目前仅对得到授权的客户提供免费的AGNSS服务。请联系销售获取AGNSS权
限,请提供下面的信息:
用户名(有效的邮箱名称)
密码(用户自己设置)
为了方便用户前期评估,提供一个免费试用帐号
用户名:freetrial
密码:123456
限制:每小时1000次请求
2.2连接服务器
AGNSS服务器和客户端之间采用TCP/IP协议连接,AGNSS服务器的IP地址为
121.41.40.95(域名:),端口号为2621。
2.3评估工具
中科微的GNSS可视化软件工具(GNSSTOOLKIT2)集成了AGNSS评估功能,利用该
工具可以很快速的评估AGNSS功能。该软件工具可以联系销售免费获取。
打开GNSSTOOLKIT2工具,设置串口。
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法6/17
设置好串口,并连接中科微的GNSS接收机。打开AGNSS服务评估工具。
设置好请求语句的参数后,点击“RequestAidData”,就可以向AGNSS服务器发送请求,
并显示服务返回的数据。
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法7/17
3获取AGNSS数据
3.1请求语句格式
客户端连接到中科微的AGNSS服务器后,就需要立即向服务器发送AGNSS请求,以获
取AGNSS辅助数据。AGNSS请求语句采用ASCII编码,格式如下:
key=value;key=value;key=value;…
请求语句必须下面的规则:
请求语句是多组key=value;的组合,后面的“;”不可少。
所有key/value区分大小写。
具体的key和value定义如下表:
关键字
(Key)
取值
(value)
可选性备注
ur
字符串必需用户名。强烈建议用户名为一个有效的邮箱地址,重要的
AGNSS服务器维护信息将会发送到该邮箱。
pwd
字符串必需用户密码
gnss
字符串可选用加号或者逗号隔开的GNSS列表。有效的取值有:
gps,bds,glo
”gnss=gps;”表示请求GPS辅助信息;
”gnss=gps+bds;”表示请求GPS和BDS辅助信息;
cmd
字符串可选full:全部信息,包括星历,估计的时间和位置
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法8/17
eph:仅提供星历信息
aid:辅助时间、位置等信息
此项若不填,默认为full
lat
数值可选用户位置纬度的估计值。纬度的单位:度。取值范围是-90~90
度。两者位置辅助格式,经纬高格式和ECEF格式,二选一。
有效的经纬高位置辅助格式是”lat=30;lon=120.3;alt=100;”三
个字段都必须完整。
lon
数值可选用户位置经度的估计值。经度的单位:度。取值范围是
-180~180度。
alt
数值可选用户位置高度的估计值。单位:米。
x
数值可选用户位置(ECEF坐标系下的X,Y,Z)的估计值。单位:米。有
效的ECEF位置辅助格式
是”x=30000;y=1111120.3;z=3345100;”三个字段都必须完整。
y
数值可选用户位置(ECEF坐标系下的X,Y,Z)的估计值。单位:米。
z
数值可选用户位置(ECEF坐标系下的X,Y,Z)的估计值。单位:米。
pacc
数值可选用户位置的准确度。单位为米。
注意事项:
1)ur和pwd两项是必需项,否则请求无效。
2)客户端可以在请求语句提供接收机的粗略位置,可以采用两种格式:
经纬高位置格式(”lat=30;lon=120.3;alt=100;”),或者
ECEF坐标系下的XYZ格式(x=30000;y=1111120.3;z=3345100;)
AGNSS请求语句的示例:
ur=freetrial;pwd=123456;cmd=full;lat=60.0;lon=55.0;alt=0;
3.1.1位置和时间参数
客户端在请求语句中把接收机的粗略位置发送给服务器,主要有两个目的:
1)服务器根据当前接收机的位置(位置误差必须保证100km以内),来预测所有卫星的
可见性,只把当前客户端所处位置的天空视野的可见卫星的星历返回给客户端。这有助于减小
AGNSS数据量。
2)服务器把请求语句的粗略位置打包到AGNSS辅助数据包中,返回给GNSS接收机。
利用该粗略位置,接收机可以加速捕获,提供捕获灵敏度。
服务器接收到客户端的请求语句后,把当前的时间也一起打包到AGNSS辅助数据包中,
返回给GNSS接收机。利用辅助的位置和时间,结合辅助星历信息,GNSS接收机可以采用
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法9/17
热启动方式,实现快速定位。
注意:客户端提供给服务器的粗略位置必须保证误差小于100km,位置误差越小,定位速
度越快。如果无法提供可靠的粗略位置,就采用cmd=eph模式,AGNSS请求语句中忽略位
置字段。比如:
ur=freetrial;pwd=123456;cmd=eph;
3.2响应数据格式
服务器接收到客户端的请求语句后,返回AGNSS辅助数据包,并断开连接。AGNSS辅
助数据包分为两部分:
1)数据头,采用ASCII编码;
2)数据体,二进制数据格式
3.2.1正常响应数据
接收到正确有效的请求语句,服务器发送给客户端的一条典型的响应信息如下:
AGNSSdatafromCASIC.n
DataLength:2582.n
Limitation:230/1000.n
2582bytesofbinarydata
数据头的第一行:是服务器的欢迎信息,固定不变。以’.’和’n’结尾。
数据头的第二行:告知客户端,发送数据体的大小(单位:字节)以’.’和’n’结尾。
数据头的第三行:表示账户使用情况(比如:230/1000,该账户限制每小时使用1000次,
已经使用了230次)。也是以’.’和’n’结尾。
紧接着数据头,就是数据体,数据体就是AGNSS辅助信息。客户端必须原样把数据体发
送给GNSS接收机。注意:在cmd=full或者cmd=aid模式下,数据体必须立即发送给接收机,
因为数据体中包含了AID-INI语句,其中的时间信息表示客户端向服务器发送请求语句的时间。
如果数据体延迟发送给接收机,将会导致性能损失。
注意:由于卫星星座的变化,返回的数据体的长度不是固定的。对于单GPS,建议接收
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法10/17
缓存设置为4kB。对于GPS+BDS双模辅助,建议缓存设置为8kB。
3.2.2错误响应数据
如果账户名称或者密码错误,将会返回异常数据。
账户名错误时,AGNSS服务器返回的信息如下:
AGNSSdatafromCASIC.n
DataLength:20.n
Limitation:.n
Invalidurorpwd.n
账户名正确,但是密码错误时,AGNSS服务器返回的信息如下:
AGNSSdatafromCASIC.n
DataLength:20.n
Limitation:360/1000.n
Invalidurorpwd.n
注意:第三行的红色数字不是固定的,与账户名称和使用情况有关。
4辅助数据格式
AGNSS辅助数据采用二进制格式。具体格式参考《CASIC多模卫星导航接收机协议规范》。
辅助数据主要包括下面的信息:
辅助数据消息ID说明
MSG-BDSUTC
0x080x00
BDS的UTC参数
MSG-BDSION
0x080x01
BDS的电离层修正参数
MSG-BDSEPH
0x080x02
BDS的星历参数,每颗卫星一条语句
MSG-GPSUTC
0x080x05
GPS的UTC参数
MSG-GPSION
0x080x06
GPS的电离层修正参数
MSG-GPSEPH
0x080x07
GPS的星历参数,每颗卫星一条语句
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法11/17
MSG-GLNEPH
0x080x08
GLONASS的星历参数,每颗卫星一条语句
AID-INI
0x0B0x01
辅助位置和时间
5客户端实现方法
本文档给出两种典型的实现方法:即时辅助方案和代理辅助方案。
5.1即时辅助的实现方法示例
即时辅助:MCU主控芯片从AGNSS服务器获取辅助数据后,立即发送给GNSS接收机。
建议给GNSS接收机的备份电源单独供电,这样即使接收机主电源掉电,接收机内部的
RTC正常工作,同时备份SRAM中仍保存了上次的定位和星历等信息。
GNSS接收机上电
查询接收机时间信息
星历是否有
效?
否
是
连接AGNSS服务器
请求辅助数据
接收到AGNSS辅助数据
检查数据完整性
发送给GNSS接收机
完成
前提:主控MCU记录了上次GNSS接收机定位的时间T0
从接收机输出的NMEA语句中,解析当前的时间T1
如果时间T1无效(NMEA语句中无法解析到时间),或者
T1-T0超过2小时,说明星历失效;否则星历有效
获取到粗略位置,请求语句(完整辅助模式,最佳性能!)
ur=freetrial;pwd=123456;cmd=full;lat=xx;lon=xx;alt=xx;
否则,请求语句(星历辅助模式)
ur=freetrial;pwd=123456;cmd=eph;
获取粗略位置
通过其它方式获取粗略位置,
比如通过GSM模块的CELLID获取经纬度格式的位置
服务器返回的数据包中,包含了数据头和数据体,通过
数据头中的DataLength字段,可以检查数据体的完整性
“即时辅助”流程
即时辅助的实现方法,中科微提供了公开的源代码可供参考。请联系销售获取。
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法12/17
5.2代理辅助的实现方法示例
代理辅助:MCU主控芯片定时从AGNSS服务器获取辅助数据,并保存到MCU的存储
器里,每次GNSS接收机上电,把辅助数据发送给GNSS接收机。
大致有三种情况会用到这种实现方法:
1)低功耗客户端应用。GNSS接收机的备份电源没有单独供电,但是GNSS接收机又需
要频繁的开关(比如降低功耗的目的)。解决方法:MCU主控芯片定时从AGNSS服务器请求
数据(比如每隔1小时,或者判断MCU内部存储的星历过期);GNSS接收机每次上电,都
把辅助数据(需要重构AID-INI语句)发给接收机。
2)通信延迟大的应用。如果通信延迟较大,每次从AGNSS服务器获取数据都需要较长
的时间,这样就会影响GNSS接收机的定位速度。
3)代理服务器的应用。如果客户有很多终端设备,建议架设代理服务器,代理服务器定
时从中科微的AGNSS服务器中获取星历数据,客户的终端设备再从代理服务器获取辅助数据。
这样可以避免大量终端设备同时访问中科微的AGNSS服务器而造成的网络拥堵问题。
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法13/17
下面结合一个具体的应用案例,给出一个实现流程示例。
应用案例:具有GNSS定位功能的学生卡,为了省电,GNSS接收机每隔5分钟开机一
次,GNSS接收机定位后关机。
案例分析:学生卡中,卫星信号遮挡严重,且天线接收信号较弱;如果不用AGNSS,定
位速度很慢,甚至长时间不定位。另外,学生卡融合了多种定位方式,比如GSM定位或者
WiFi定位,在没有GNSS信号的环境中,采用GSM或者WiFi定位。
可以采用代理辅助的AGNSS实现方法。具体流程如下(包括两个独立的线程):
线程1:MCU主控芯片定时(比如1小时)向AGNSS服务器请求辅助数据(采用EPH
请求模式),并把数据缓存到本地存储器里(注意避免缓存溢出)。
线程2:每次GNSS接收机上电,重构AID-INI语句(前提是能够通过其它方式获取粗略
位置和时间)发送给GNSS接收机,再把缓存的星历数据发送给GNSS接收机(为了可靠性,
发送前检查星历数据的有效性)。
GNSS接收机上电
重构AID-INI语句,并发送
给GNSS接收机
把缓存的辅助数据发送给
GNSS接收机
完成
比如定时1小时
获取粗略位置和时间
最佳性能:通过其它方式获取粗略位置,
比如通过GSM模块的CELLID获取经纬度格
式的位置,位置误差不能超过100km,误
差越小,性能越好
定时
连接AGNSS服务器
请求辅助数据
把辅助数据更新到本地缓
存,同时检查各个卫星星
历的时效
MCU主控芯片上电
粗略位置和时
间是否获取成
功?
是
否
必须采用cmd=eph模式,请求星历数据。
请求语句(星历辅助模式)
ur=freetrial;pwd=123456;cmd=eph;
结合当前的时间,以及星历的
参考时间,两小时内有效,如
果星历过期,需要修改数据标
志(提供了专门的函数)
“代理辅助”流程
代理辅助的实现方法,中科微提供了公开的源代码可供参考。请联系销售获取。
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法14/17
6相关文档
[1]CASIC多模卫星导航接收机协议规范V3.5
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法15/17
7相关术语
术语名称说明
GNSS
是北斗、GPS、GLONASS等卫星导航系统的统称
AGNSS
辅助GNSS,是ABDS,AGPS等统称,利用AGNSS辅助数据可以提高接收
机的定位速度
GNSS接收机指的是中科微的GNSS芯片或者模块产品
星历英文单词:Ephemeris,简称EPH,是卫星向全球广播的电文参数,用来计
算卫星的位置速度等信息,有效期2小时
AGNSS服务
器
中科微的AGNSS服务器,实时提供最新的AGNSS数据,包括全球的GPS
星历信息
客户端在本文档中,指的是集成了通信模块,主控芯片和GNSS接收机芯片或者模
块的终端设备
即时辅助MCU主控芯片从AGNSS服务器获取辅助数据后,立即发送给GNSS接收
机
代理辅助MCU主控芯片定时从AGNSS服务器获取辅助数据,并保存到MCU的存储
器里,每次GNSS接收机上电,把辅助数据发送给GNSS接收机
粗略位置客户端通过其它方式(比如通信模块)得到的位置,误差小于100km,但是
对提高GNSS接收机的性能有很大的帮助。
完整的AGNSS功能需要三个信息:
1)粗略位置(误差小于100km)
2)时间(误差半分钟内)
3)星历(有效期2小时)
中科微的AGNSS服务器可以提供时间和星历数据,不能直接提供粗略位置
信息。
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法16/17
杭州中科微电子有限公司应用手册
中科微“在线AGNSS”服务:客户端实现方法17/17
8联系方式
杭州中科微电子有限公司
杭州市滨江区江南大道3850号创新大厦10楼
有关于AGNSS的问题,请联系销售,或者技术支持人员。
联系方式:*****************
本文发布于:2022-12-07 13:44:53,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/59901.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |