用 PTP 同步时间
1 概述
禾赛激光雷达产品支持 PTP(Precision Time Protocol,精确时间协议),用户可通过这一功能实现多传感器之间的精确时间同步。
2 使用方法
使用 PTP 时间同步功能的方法如下:
2.1 参数配置
通过网页控制页面或 LidarUtilities 软件方式对激光雷达进行 PTP 相关参数配置(如下图所示,各参数选项信息详见对应产品的使用手册):
网页控制页面 - Settings(适用于 Pandar 系列/QT 系列/XT 系列等型号)
LidarUtilities - Time Sync(适用于 OT128/AT128P 等型号)
注:LidarUtilities 软件可通过禾赛官网获取(OT128,AT128P)。
2.2 进行 PTP 时间同步
将激光雷达连接至外部时钟源设备,对时钟源进行 PTP 主时钟相关参数配置后启动 PTP 授时。
禾赛激光雷达产品支持使用软件模拟方式或专用硬件主时钟设备方式进行 PTP 时间同步,具体操作方法如下:
2.2.1 使用软件模拟方式进行 PTP 时间同步
通过软件模拟方式进行激光雷达 PTP 时间同步的硬件设备连接方式参考如下:
针对不同类型的 PTP 时间同步协议,可按照以下方法在 Ubuntu 系统中配置 PTP 主时钟:
2.2.1.1 1588v2 协议
对于 1588v2 协议,常用的开源 PTP 时间同步模拟软件有 linuxptp 和 ptpd,对应的使用方法分别如下:
2.2.1.1.1 linuxptp(推荐)
- 安装
sudo apt-get install linuxptp
- 使用 ethtool 命令查看本地网络接口所支持的 PTP 同步功能
sudo apt-get install ethtool
sudo ethtool -T 网络接口名
注:查看本地网络接口名的方法参见Ubuntu 系统如何查看本地网络接口名。
- 终端打印信息如下:
此处显示的 hardware 或 software 表示该网络接口是否具备硬件时间戳能力,或仅支持软件时间戳功能。其中,硬件时间戳的同步精度能够达到几微秒甚至更低,而软件时间戳的时间同步偏差则一般要大于硬件时间戳方式。
- 运行以下指令,将主机网络接口配置为主时钟并启动授时
首先检查2.1 参数配置 中的 PTP Network Transport 选项,执行对应操作。
- 3.1 Network Transport -> UDP/IP
sudo ptp4l –m -4 –i 网络接口名 –S
- 3.2 Network Transport -> L2
sudo ptp4l –m -2 –i 网络接口名 –S
- 观察命令行打印信息,当此时网络接口显示为Grand Master状态时,代表本地主机已正常配置为 PTP 主时钟:
若此时激光雷达网页控制页面或 LidarUtilities 界面上显示的 PTP 状态同步更新为Tracking或Locked且 offset 数字有变化,则表示激光雷达与 PTP 主时钟之间的时间同步已成功建立(参考下图所示):
网页控制页面 - Home(Pandar 系列/QT 系列/XT 系列等型号)
LidarUtilities - Time Sync(OT128/AT128P 等型号)
需要注意,当禾赛激光雷达 PTP 状态显示为‘Tracking’时,仅代表当前激光雷达与 PTP 主时钟之间的时间戳偏移(Master Offset)未满足‘Locked’状态对应的 Time Offset 参数阈值(此阈值可在激光雷达控制页面中设置,默认为±1μs,最大可支持±100μs),实际激光雷达已处于正常的 PTP 时间同步状态。
2.2.1.1.2 ptpd
- 安装
sudo apt-get install ptpd
- 运行以下指令,将主机网络接口配置为主时钟并启动授时
sudo ptpd -i 网络接口名 -C -M
- 观察命令行输出信息,当此时网络接口显示为PTP_MASTER状态时,代表本地主机已正常配置为 PTP 主时钟:
若此时激光雷达网页控制页面或 LidarUtilities 软件所显示的 PTP 状态同步刷新为Tracking或Locked且 offset 数字有变化,则表示激光雷达与 PTP 主时钟之间的时间同步已成功建立。
注:对于多台激光雷达同时进行 PTP 时间同步的情况,仅需要在网络连接中加入交换机以实现 PTP 报文的转发,此过程不影响上述 PTP 主时钟的配置方法。
2.2.1.2 802.1AS 协议
2.2.1.2.1 单台激光雷达 PTP 同步
对于单台 lidar 上使用 802.1AS 协议进行时间同步,建议使用 linuxptp 软件工具进行配置,操作方法如下: