Time Mode是U-Blox模块的一种特定工作模式。这种模式下,U-Blox的GPS接收机位置固定,主要作用是通过GPS接收机实现时间的同步。由于这种模式下接收机不用考虑自身的随机移动,因此可以优化GPS接收的矫正算法,提高时间同步的精度。

这种模式的配置很简单,可以通过U-Blox的UBX-CFG-TMODE或者UBX_CFG-TMODE2两条配置消息进行配置(两条消息都一样,TMODE2简单的说是TMODE的升级版)。具体可以参考《u-blox6接收机协议描述》文档的31.22章节(P142)。主要配置项有下面三类:

  • timeMode:用于配置是否使用Time Mode,以及位置定位的方式。0表示不使用Time Mode;1表示使用Survey In方式获取坐标;2表示手动指定坐标。

  • svinMinDur:用于配置Survey In方式的最小估计时间(单位秒)。

  • svinAccLimit:用于配置Survey In方式的位置定位精度(单位毫米)。

  • ecefXorLat、ecefYorLon、ecefZorAlt:用于手动配置坐标;

通常情况下,我们使用Survey In模式,让U-Blox自己去获取坐标,而不是我们手动指定坐标值。因此我们把timeMode配置为1,然后配置svinMinDur的时间长度、svinAccLimit的位置精度。根据《u-blox6接收机协议描述》文档的10章中的描述,通常情况下定位时间从几分钟到24小时,时间误差逐渐减小,推荐在十分钟的样子。位置精度根据经验的话,如果时间同步误差要求在ns级,则建议小于1米,如果要求在ms级别,则建议小于300m。

另外,建议可以试试看U-Blox提供的u-center这个工具。通过这个工具的“View|Message View”可以帮助我们方便的配置各个参数,并且生成对应的配置消息。这样就不用我们自己去一个一个字节的分解,还要计算校验码了。