GPS 卫星

GPS卫星 使用原子钟(铷原子钟,是一种计时装置,精度可以达到每2000万年才误差1秒,由接收板、铷振荡器、锁相电路、分频电路等部分组成。)

GPS 接收机

GPS接收机的时钟模块上的GPS接收机负责接收GPS天线传输的射频信号,然后进行变频解调等信号处理,向基站提供1pps信号,进行同步。

输出:

  • 频率信号,1PPS 信号以及时间码信息。
  • 外部频率输入和外部秒信号输入。

授时仪 与 同步时钟

GPS时钟主要分为两类,

  • 一类是GPS授时仪,主要输出时标信息,包括1PPS及TOD信息;
  • 一类是GPS同步时钟,后者输出利用卫星信号驯服OCXO或者铷钟得到的高稳定频率信息,以及本地恢复的更平稳的时标信号。

GPS PPS信号(pps :pulse per second)

ns级别

模块输出的高精度1PPS信号,精度优于50ns,占空比为50%,1PPS信号 上升沿为时间同步点,上升沿时间小于5ns。第一帧串口报文信息与1PPS信号同步精度约为36ms。如图所示:

Android 手机 work profile_上升沿

1PPS信号提供精确的时钟同步信号,脉冲宽度为200-300ms,采用上升沿为准时点,上升时间△T不超过10ns。

NMEA时间数据信息包含了当前1PPS上升沿所 对应的时刻信息,在1PPS上升沿之后1ms开始传送,并在500ms内传完。

对于Ublox F9P模块,UART 输出 NEMA 数据,另外一个GPIO输出 1PPS 脉冲,有如下时序图:

Android 手机 work profile_校验和_02

NMEA信息

  1. NEMA中包含有时间信息,一般是秒级别,也有部分带有毫秒
  2. 1PPS即每秒输出一个脉冲,图中以高电平触发为例(没画下降沿),接收及处理1PPS脉冲的时间也在ns级别
  3. 因为NEMA是通过串口发送和接收,而且一次NEMA数据量也有KB级别大小,处理时间远比1PPS时间长
  4. 通过NEMA中的秒级时间和1PPS脉冲相配合,即可实现高精度时间同步(ns级:依据1PPS的响应时间)
1、 协议格式

NMEA-0183协议采用ASCII码来传递信息,我们称之为帧。

帧格式如下:$aaccc,ddd,ddd,…,ddd * hh
\x0d\x0a

Ø “$”——帧命令起始位

Ø aa(识别符号)ccc(语句名)——地址域

Ø ddd…ddd——数据

Ø “*”——校验和前缀

Ø hh——校验和(check sum),$与*之间所有字符ASCII码的校验和

(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。)

Ø CR LF 回车和换行

通用TOD报文一般支持: g p r m c 、 gprmc、 gprmc、gpzda的输入输出,格式如下:

3.1$GPRMC语句

3.1.1帧格式

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13>

    UTC(Coordinated Universal Time)时间,hhmmss.ms(时分秒.毫秒)格式

    定位状态,A=有效定位,V=无效定位

    保留

    保留

    保留

    保留

    保留

    保留

    保留

    UTC日期,ddmmyy(日月年)格式

    保留

    保留

    校验和

3.1.2示例

报文:$GPRMC,083550.00,A, 200919,A*57

1) 083550.00 含义:当前UTC时间为8:35:50.00

2) A 含义:当前状态有效

10)200919 含义:20日9月19年

3.2$GPZDA语句

3.2.1帧格式

$GPZDA,<1>,<2>,<3>,<4>,<5>,<6>*<7>

    UTC(Coordinated Universal Time)时间,hhmmss.ms(时分秒.毫秒)格式

    UTC日期,dd (日)

    UTC日期,mm(月)

    UTC日期,yy (年)

    保留

    保留

    校验和

3.2.2示例

报文:$GPZDA,083550.00,20,09,19,00,00*57

1) 083550.00 含义:当前UTC时间为8:35:50.00

2) 20 含义:当前UTC日期为20日

3) 09 含义:当前UTC日期为9月

4) 19 含义:当前UTC日期为19年

然而在实际的应用中由于TOD信息结束滞后于PPS的上升沿,因此应该注意秒脉冲和时间信息的对应关系。