0. 简介

之前时间同步也写过一篇文章介绍机器人&自动驾驶中的时间同步。在最近的学习中发现一些额外需要阐述学习的内容,这里就再次写一些之前没写到的内容。

1. NTP

NTP 是网络时间协议,用来同步网络中各计算机时间的协议,把计算机的时钟同步到标准世界时间即UTC时间。NTP version 1 出现于1988年6月,最新的NTP协议标准NTPv4,精度在局域网中可以达到0.1ms,在互联网中大多数地方也可以达到1-50ms。

在一些同步精度要求不高的场合, 达到秒级即可以, 为此推出了 NTP的简化版标准 SNTP 协议(Simple Network Time Protocol), 它简化和缩减了 NTP协议的数据处理算法, 方便应用于同步精度要求不高的场合。

为了寻求并提供精确时间,NTP的时间服务器会与客户端交换时间,利用对方给予的数据计算延迟或误差秒数,并重新调整服务器时间。NTP传输UTC时间的模式为层级状,第零层接收”真实时间”的卫星系统为所有时钟的参考,并将时间传到第一层,第一层再传到第二层,第二层接着传到第三层,如此一来可以避免请求量过大的情况,相对的时间精准度可能也会随着层级下降。

NTP一般只可以用作消费级的内容,是远远不能满足车规级的,因为NTP自身就不稳定,所以还是使用PTP和gPTP多一些

2. PPS

在自动驾驶系统中,时间源一般是来自GPRMC+PPS的信号组合,GNSS接收机的 NMEA-0183 GPRMC报文可以输出UTC时间信息,同时还有一路单独的PPS秒脉冲信号,PPS信号精度在几十ns级别,可以用来精确校时。

这一块之前在之前的文章中就详细介绍了PPS,虽然PPS精度是要比PTP高的,但是实际上很多传感器是不支持PPS硬触发的,所以PTP和gPTP目前是车规的主流同步方式

3. PTP

精确时间协议(PTP)是一种用于在整个计算机网络中同步时钟的协议。在局域网上,它可实现亚微秒级的时钟精度,使其适用于测量和控制系统。IEEE 1588专为要求精度超出使用NTP可获得的精度的本地系统而设计。IEEE 1588标准描述了用于时钟分配的分层主从体系结构。在这种体系结构下,时间分配系统由一个或多个通信媒体(网段)和一个或多个时钟组成。

PTP同步模式采用主从式(master-slave architecture)架构,指每个PTP网域内只有一个主时钟(grandmaster clock),主时钟可直接收到卫星系统的时间,故其最为稳定、精准,在节点底下接收的则为从属时钟,换言之,主时钟与从属时钟同步时间后,后者会再将精确数据送到不同设备。PTP亦使用最佳主时钟算法(Best master clock algorithm),自动选择每个网域内的主要时钟。

PTP之所以优于NTP,是因为前者拥有硬件时间戳(Timestamps)与透明时钟(Transparent clock),比起利用在应用层记录时间戳的NTP,PTP利用实体层(硬件)更能将延迟降到最低,并计算出以供接收端计算自己与网络时间的误差,透明时钟则是用来测量通讯介质的延迟,再交由系统补足延迟的时间。

[外链图片转存中…(img-Kw5Wur59-1695711034039)]

如果需要检查两个设备的PTP时间同步状态可以看一下PTP(Precision Time Protocol)高精度时间同步协议+CS模式测试代码,如果是通信设备可以看一下通过PPS信号验证PTP同步这一篇文章。

4. gPTP

工业网络的一个特殊优势在于其快速“启动” 能力,在同步的语境中,这意味着它可以在几秒钟之内锁定并进行精确定时。为了促进实现这个目标,gPTP系统使用逻辑同步(频率对齐)技术,而不是使用其他PTP系统中的物理同步技术。 这一点,再加上对通道和设备延迟的实时测量,使得网络中的桥接节点和端部节点可以快速实现时间对齐(同步)。

gPTP通过标有时间戳的报文消息交换,在主时钟与多个桥接设备和端点设备之间进行时间通信。 带有时间戳的报文消息是SYNC,PEER_DELAY_REQ 和PEER_DELAY_RESP, 如下所示。与其他PTP实现方式的明显区别在于,gPTP还使用时间戳消息计算频偏,并在运行过程中进行调整。

5. 相关同步设备

5.1 酷鲨校时

PTP授时服务器ROUTE66是酷鲨科技针对各种不同环境而推出的一款便携式产品,具有1588 PTP 2008 V2特性及NTP V1-V4功能,它可以作为PTP/NTP的时间服务器。PTP授时服务器ROUTE66内置了卫星接收机,接收北斗+GPS信号,并将其转换为PTP和NTP数字授时信号,通过网口向其他设备提供PTP+NTP授时服务,支持PTP单播和多播,E2E和P2P,一步和两步,二层和三层。同时可以对外提供1路PPS+ToD(RS422)、3路PPS+ToD(RS232)信号、3路独立PPS/频率/B码, 输出频率脉冲相位对齐,给不支持PTP的雷达或相机进行触发。WEB配置界面,配置参数自动保存,断电开机后自动进行配置。本身功耗低,体型小巧,可以放在路侧的抱杆盒里,一台时间盒给盒内所有雷达、摄像头、相机、计算机等设备授时。

5.2 星旗科技

XQ-500多功能时间同步盒适用于基站、自动驾驶、轨道交通、科研军工、电力等时间同步,可同时接收北斗卫星导航系统、GPS、PTP/gPTP 网络时间报文及 PPS_TOD、IRIG-B(DC)码等地面授时信号,产生与 UTC 保持同步的 PPS 信号、IRIG-B 时间码、PPS_TOD 时间报文、NTP/PTP/gPTP网络时间报文,保证时间信号输出的有效性,提供稳定、可靠、精确的时间和频率基准。XQ-500提供高性能的客户端处理能力、基于硬件时间戳的硬件架构设计

6. 参考链接

https://zhuanlan.zhihu.com/p/607427373

https://zhuanlan.zhihu.com/p/288467842