APEX ORIN NANO 同步IO PPS接口#
注意#
需要使用额外的串口接口,来作为PPS UART接口。
PPS接口,是指米文设备将自己的系统时间转换为高精度的PPS信号,对外输出。该接口无法编程,主要用于脱离GPS设备,来构建整个传感器系统的同步。

硬件定义#

引脚定义:

Pin |
Signal |
|---|---|
1 |
GND |
6 |
PPS_A_SYNC |
Pin |
Specification |
|---|---|
PPS_A_SYNC |
5V |
使用方式#
配置串口以获得GPRMC#
vim /opt/miivii/config/sync/pps_out.cfg
修改uart_dev:后的信息 NONE改为/dev/ttyUART_232_A或者B
重启设备
配置GPRMC串口的波特率#
修改/etc/systemd/miivii-autostarter.sh
其中
/usr/local/bin/pps_sync 9600 > /var/log/pps_sync.log & 中的9600即为PPS的波特率
PPS OUT功能#
设备输出PPS信号(每秒产生一个脉冲,脉宽50ms),并通过串口(UART/RS232)的Tx引脚发送该脉冲上升沿产生时间的NMEA GPRMC消息,消息示例:
$GPRMC,060249.000,A,3949.63046,N,11616.48565,E,0.296,,291118,,,A*4d
其中“060249.000”为每秒产生脉冲时的时间戳(UTC时间),格式为“时分秒.000”,正常时间都是整秒格式。支持PPS同步模式的传感器会通过收到的PPS以及GPRMC消息对自身时钟系统进行校时,使之与设备的系统时钟保持一致。传感器的采样时间会作为时间戳(timestamp),与数据一起被发送至设备。至此,系统获取了传感器采样的系统时间,完成同步。
PPS同步原理图

同步功能验证方法(以RS-LiDAR-16激光雷达为例):
当传感器只有数据输入接口与设备相连,未连接设备的PPS_A_SYNC口和PPS_A_TX时,传感器的ROS node向操作系统上传数据中的时间戳为硬件时间戳(hardware timestamp),即传感器内部时钟计器的时间(多数传感器会设定一个固定的初始时间作为计时起点,每次上电后开始计时)。此时在Ubuntu操作系统中打印该硬件时间戳,并与设备的系统时间进行比较,可发现二者的偏差较大。
RS-LiDAR-16未同步时硬件时间戳与系统时间戳对比#

当传感器连接设备的PPS_A_SYNC及PPS_A_TX后,传感器的ROS node向操作系统上传数据中的硬件时间戳为传感器内部时钟经过PPS授时后的时间,与设备的系统时间一致。此时在Ubuntu操作系统中打印接收到的硬件时间戳,并与收到该数据时的系统时间(ros::time::now)比较,当二者的差值小于100ms时,说明PPS功能生效。
数据时间戳与系统时间对比#

设备PPS信号校准异常通用排查指南#
现象1:使用命令行工具测试PPS信号时提示“连接超时”#
解决办法:#
检查硬件物理连接
确认PPS信号线已牢固接入设备的专用输入接口。
重新插拔信号线,确保接头无氧化或变形。
若信号源为外部设备(如GPS模块),尝试更换另一台正常设备验证信号输出。
验证信号源状态
在终端输入命令查看当前识别的PPS信号源:
# 替换为实际设备节点
sudo cat /dev/pps0
正常输出:持续显示时间戳和序列号(示例):
source 0: 1715652256.000018408 sequence: 7929
无输出或报错:检查信号源设备是否正常工作。
现象2:系统无法识别PPS信号源#
解决办法:#
检查驱动安装状态
输入命令验证驱动是否加载:
dmesg | grep -i "pps"
若输出包含 No PPS source found→ 重新安装或更新PPS驱动。
重新配置输入端口
编辑系统配置文件,指定正确的PPS设备节点:
# 或其他配置文件路径
sudo vim /etc/pps.conf
修改后重启服务:
sudo systemctl restart pps.service
现象3:PPS信号周期不稳定或误差过大#
解决办法:#
排除环境干扰
检查设备周边是否存在强电磁干扰源(如大功率电机、高频通信设备)。
将设备移至屏蔽环境测试,观察信号是否恢复稳定。
校准本地时钟
输入命令同步本地时钟与PPS信号:
# 使用校准工具验证同步精度
sudo ppscheck -s /dev/pps0
若输出显示偏差超过阈值(如±1ms),需检查信号线长度或更换高质量屏蔽线。
现象4:所有排查后仍无法解决#
解决办法:#
系统镜像修复
重新烧录系统镜像(操作前备份数据),完成后重新配置PPS服务。
若问题依旧,提交以下信息至技术支持:
信号源设备型号与固件版本;
终端命令完整输出截图;
配置文件修改记录。