KDocsKDocs
首页
学习
笔记
首页
学习
笔记
  • 1PPS(Pulse per second )

1PPS(Pulse per second )

概念

1PPS(Pulse Per Second)信号是一种广泛应用于计时和同步领域的标准时钟信号。

  • 每秒提供一个脉冲,用于确保不同系统间的时间同步和时间标记。常用于高精度的时间同步应用中。

  • PPS信号通常来源于原子钟,如GPS系统中的原子钟。GPS接收器接收到射频信号后,进行变频解调等处理,生成PPS信号。PPS信号的上升沿时间精度可以达到纳秒级别。

  • 1PPS信号在许多领域都有应用,比如GPS设备、无线通信、精密测量等。

  • 一个标准的1PPS信号通常是高电平持续时间为1秒的脉冲信号,其上升沿和下降沿非常陡峭,可以用于精确的计时和同步。在理想的1PPS信号中,上升沿和下降沿是瞬间发生的,即理想情况下它们的时间宽度可以忽略不计。然而,在实际应用中,由于各种物理和电气因素的影响,这些瞬间会有所扩展,形成所谓的“抖动”。这种抖动会在同步操作中引入误差,因此对于高精度时间同步系统而言,减少信号抖动是至关重要的。

TOD

  • TOD(Time Of Day)是以计算机系统的时钟为基础的时间同步技术,它把计算机系统时钟同步到全球标准时间。
  • TOD广泛应用于计算机和网络系统,以确保它们的时钟与全球标准时间同步。
  • TOD可以用于在计算机网络中使用事件标记进行调试,以便更好地调查问题。

协议格式

NMEA-0183协议

采用ASCII码来传递信息,我们称之为帧。

帧格式如下:

$aaccc,ddd,ddd,…,ddd∗hh\$aaccc,ddd,ddd,…,ddd * hh $aaccc,ddd,ddd,…,ddd∗hh

\x0d\x0a

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

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

  • ddd…ddd——数据

  • “*”——校验和前缀

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

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

  • CR LF 回车和换行

通用TOD报文一般支持:gprmc、gpzda的输入输出

GPRMC语句

帧格式

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

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

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

保留

保留

保留

保留

保留

保留

保留

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

保留

保留

校验和

示例

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

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

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

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

GPZDA语句帧格式

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

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

UTC日期,dd (日)

UTC日期,mm(月)

UTC日期,yy (年)

保留

保留

校验和

示例

报文:$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的上升沿,因此应该注意秒脉冲和时间信息的对应关系。