序:以下介绍的是通过u-blox公司的UBX协议来配合u-center软件来对u-blox公司的GPS模块进行模块的设置参数更改,UBX格式是u-blox公司独家开发且应用于所有自产的模块中的可支持的通信协议,UBX格式具体说明资料可以在本站内进行下载.
前言:设置前准备:安装u-center8.1x
软件:一块GPS模块一个usb转串口线以及一台电脑
以下都是经过亲手确认过。
1. 利用u-center软件来修改GPS模块的波特率
首先,打开u-center软件并设置好COM口及9600的初始波特率(此波特率根据你上次设置的gps波特率而选择)
然后,点击下面图标进入Messages-NMEA的设置栏。
(https://img-blog.csdn.net/20171027163121785?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHlsXzIwMTcxMDI2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
再,出现下图所示的栏目框,是u-blox针对于模块进行的配置参数选项,选择UBX>>CFG(config)>>PRT(ports),此时就是对波特率的修改。
(https://img-blog.csdn.net/20171027162557028?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHlsXzIwMTcxMDI2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后可以根据需要修改相应的波特率在下拉菜单中进行选择。例如我们计划选用通信波特率为9600,请在Baudrate中选择9600,并请按底部的SEND按钮对模块进行命令发送,发送过去后就算保存在你的GPS模块中,而且下次启动也会保存住
注意:点了Send之后我们要把波特率调为9600,然后继续通讯,不然通讯不到。
接下来就是保存在模块的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文档
第二种方式是每次在机器一开始运行时,便选用单片机来对模块进行控制,给模块的串口通信端发送相应的代码来控制不同的波特率,关于用单片机来控制当前模块的通信波特率。
我们找到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模块,小数点后的数位越多,自然就越精确啰.)
(https://img-blog.csdn.net/20171027163702996?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHlsXzIwMTcxMDI2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
找到UBX—>CFG(config)–>MSG(messages)。在Message里面选择你所需要屏蔽的数据内容,以屏蔽NMEA输出帧。GPGGA指令输出为例,选用这个选项
我们可以做的有两件事情,如果你是4H及4S-1系列的产品线,请选择将要去除Target所需要关闭的选项去钩。去钩则表示关闭该段数据输出,对于4A/4S系列的ROM版本模块,则是只能发送去钩变化后的蓝色框内指令代码给模块而不能进行以下的保存。
最后我们再次在底部的状态栏再次选择SEND对模块进行保存指令的发送:
再次查看指令集输出,发现NMEA GPGGA的消息指令集消失了:
我们可以通过u-center软件来查看u-blox 模块冷启动时间TTFF测试时间,冷启动时间TTFF对于手持机而言的重要之处在于反映GPS进入定位状态的等待的时间,TTFF时间与GPS模块的冷启动搜索窗口数目,机器的设计,天线选用及使用时间及使用周围环境有很大关系,使用以下为u-center软件测试的TTFF时间(在无人机行业更笨不需要做这个测试):
但有些时候并不会在u-center软件上面显示,我们可以刷新u-center选项进行显示:我们找到UBX—>NAV(Navigation)–>STATUS (Navigation Status)这里面也可以显示。