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服务。

  • 若问题依旧,提交以下信息至技术支持:

    • 信号源设备型号与固件版本;

    • 终端命令完整输出截图;

    • 配置文件修改记录。