序:以下介绍的是通过u-blox公司的UBX协议来配合u-center软件来对u-blox公司的GPS模块进行模块的设置参数更改,UBX格式是u-blox公司独家开发且应用于所有自产的模块中的可支持的通信协议,UBX格式具体说明资料可以在本站内进行下载.
前言:设置前准备:安装u-center8.10
软件:一块GYGPSV5- NEO-M8N-0-01模块一个usb转串口线以及一台电脑
以下为转载部分,都是经过亲手确认过,以及修改了和新版本的不同部分。
1. 利用u-center软件来修改GPS模块的波特率
首先,打开u-center软件并设置好COM口及9600的初始波特率(此波特率根据你上次设置的gps波特率而选择)
然后,点击下面图标进入Messages-NMEA的设置栏。
再,出现下图所示的栏目框,是u-blox针对于模块进行的配置参数选项,选择UBX>>CFG(config)>>PRT(ports),此时就是对波特率的修改。
然后可以根据需要修改相应的波特率在下拉菜单中进行选择。例如我们计划选用通信波特率为57600,请在Baudrate中选择57600,并请按底部的SEND按钮对模块进行命令发送,发送过去后就算保存在你的GPS模块中,而且下次启动也会保存住
注意:点了Send之后我们要把波特率调为57600,然后继续通讯,不然通讯不到。
接下来就是保存在模块的FLASH中去,,下次模块断电启动后便可从模块的FLASH(或E2PROM)当中读取新设置的波特率了。不然下次开机就变成上一次设置好的值了。UBX>>CFG(config)>>CFG(configuration)选项中。默认为: save current configuration 选项,这是进行保存设置的选项。
最后再次在底部的状态栏再次选择SEND对模块进行保存指令的发送
ROM版本,例如LEA-4S/4A,TIM-4S/4A系列
E2PROM版本,如新出的LEA-4S-1,TIM-4S-1
8M Flash的版本,如LEA-4H/4P/LH/LP,TIM-4H/4P/LH/LP
E2PROM版本及FLASH版本是可以通过u-center软件来完成配置及修改,但ROM版的如LEA-4S/4A及TIM4S/4A系列,内部是没有FLASH的,而这几个版本在中国为大多数客户选用,而且将涉及到调整波特率的问题,那么改变参数的方法如下:
第一种方式需要通过外围的引脚定义接线来硬件配置波特率及启动参数等相对较常用的配置,这些内容可以参考u-blox的原厂的模块PDF文档
第二种方式是每次在机器一开始运行时,便选用单片机来对模块进行控制,给模块的串口通信端发送相应的代码来控制不同的波特率,关于用单片机来控制当前模块的通信波特率。
2. 通过单片机发送十六进制数据怎样修改冷热温启动以及波特率。
什么情况下进行冷启动呢?一是客户客观的需要,二是有时比如在信号特别差的地方,很久都没有办法收到GPS信号,有时转换地点也不行,这时候选用冷启动运行新的搜星定位反而会令到启动速度更快,在这种情况之下有些客户便选择冷启动让模块重新查找星系定位,设置方法如下:
首先,在状态栏当中选择:UBX>>CFG(config)>>Startup option
以在Startup option中,将会有热启动,温启动,冷启动三个选项,分别对应三种不同的启动方式,我们选择三种模式就会发现在蓝色框当中的16进制代码会发生相应的变化,注意蓝色框当中的红色框,那段代码是对模块启动控制三种方式的16进制代码,这些代码将是我们利用单片机对模块进行控制所需要用到的内容
然后我们选中红色栏目当的内容,将红色框内的16进制代码通过单片机对模块的UART通信端口进行发送,发送三种不同的代码就可以通过单片机来控制GPS模块的热启动,温启动,冷启动三个状态了。现在对使用获取的代码来控制u-blox公司的GPS模块的启动有一定的概念了。
我们再回过来讲用单片机控制来配置(ROM版本的LEA-4A/4S及TIM-4A/4S的)波特率问题:
首先在状态栏当中选择:UBX>>CFG(config)>>PRT(ports),在Baudrate中选择不同的参数就会有不同的波特率,注意蓝色方框的代码变化:
然后,选择需要的波特率,提取蓝色方框中的红色框内的16进制代码,用单片机对模块的UART端口进行数据发送,上面谈到是在机器冷启动的时候便开始发送,模块便开始在当前的波特率下进行通讯工作.
另外,若是以蓝牙等形式没有单片机等相连的直接发送模块的方式,也需要使用波特率设置,可以用上页中提到的用硬件外接跳线的方式设置波特率.
3. 通过单片机发送十六进制数据怎样修改GPS模块输出频率。
我们找到UBX--->CONFIG--->Rate(rates)。设置Measurement的参数,更改不同的ms将会有不同的速率更新,以下为每秒4Hz输出为例:
我们底部的状态栏再次选择SEND对模块进行保存指令的发送:
然后就是保存这些数据到FLASH中去。
再选中UBX>>CFG(config)>>CFG(configuration)选项中,默认为: save currentconfiguration 选项,这是进行保存设置的选项:
最后我们再次在底部的状态栏再次选择SEND对模块进行保存指令的发送(就算完毕):
4. 通过对NMEA输出帧进行屏蔽。(貌似新版本和老板本这里设置的有点不一样)
由于CPU的功耗低,而且运算速度慢,希望尽量减少其中不相关的参数输出,故我们得屏蔽一些数据的输出,但是屏蔽后是否更加节能,还不知道。(特别需要注意的是,只有u-blox的模块NMEA码的经纬度输出是小数点后5位的,其它公司的产品是4位数,为什么呢,因为u-blox是高精度GPS模块,小数点后的数位越多,自然就越精确啰.)填写图片摘要(选填)
找到UBX--->CFG(config)-->MSG(messages)。在Message里面选择你所需要屏蔽的数据内容,以屏蔽NMEA输出帧。GPGGA指令输出为例,选用这个选项
我们可以做的有两件事情,如果你是4H及4S-1系列的产品线,请选择将要去除Target所需要关闭的选项去钩。去钩则表示关闭该段数据输出,对于4A/4S系列的ROM版本模块,则是只能发送去钩变化后的蓝色框内指令代码给模块而不能进行以下的保存。
最后我们再次在底部的状态栏再次选择SEND对模块进行保存指令的发送:
再次查看指令集输出,发现NMEA GPGGA的消息指令集消失了:
5. GPS模块冷启动时间TTFF测试
我们可以通过u-center软件来查看u-blox 模块冷启动时间TTFF测试时间,冷启动时间TTFF对于手持机而言的重要之处在于反映GPS进入定位状态的等待的时间,TTFF时间与GPS模块的冷启动搜索窗口数目,机器的设计,天线选用及使用时间及使用周围环境有很大关系,使用以下为u-center软件测试的TTFF时间(在无人机行业更笨不需要做这个测试):
但有些时候并不会在u-center软件上面显示,我们可以刷新u-center选项进行显示:我们找到UBX--->NAV(Navigation)-->STATUS (Navigation Status)这里面也可以显示。
可以通过下载GPS历书去,提高冷启动的速度。