Jetson-AGX-Xavier上 时间同步方案GPS+PPS+NTP+PTP

Jetson-AGX-Xavier上 时间同步方案GPS+PPS+NTP+PTP

  • GPS+PPS通过串口、gpio接入Jetson-AGX-Xavier,给Jetson-AGX-Xavier提供时间

  • Jetson-AGX-Xavier通过ptp给激光雷达等其它局域网设备提供时间

GPS+PPS 时间同步

  1. 安装pps-tools工具
    sudo apt-get update
    sudo apt-get install -y pps-tools
    
  2. 检测pps信号是否是秒脉冲
    sudo ppstest /dev/pps0
    #出现每间隔1秒种打印如下内容,即pps信号秒脉冲成功收到
    source 0 - assert xxxxx, sequence: xxx - clear xxxxx, sequence: 0
    
  3. 串口GPRMC数据检测
    #设置串口波特率115200
    stty -F /dev/ttyTHS0 ispeed 115200 ospeed 115200 cs8
    #使用cat打印串口数据
    cat /dev/ttyTHS0
    #显示有$GPRMC数据并1s接收一次,即串口成功接收授时数据。可进行时间同步
    
  4. 编译安装ntp源码

    将ntp-4.2.8p15源码拷贝到xavier上,进入到ntp源码目录下,执行以下命令进行编译

    ./configure
    make
    sudo make install
    
  5. 配置ntpd.conf
    #在xavier系统下的/etc目录下添加ntpd.conf  里面内容如下
    # OpenBSD: ntpd.conf,v 1.7 2004/07/20 17:38:35 henning Exp $
    # sample ntpd configuration file, see ntpd.conf(5)
    
    tinker panic 0
    
    # Addresses to listen on (ntpd does not listen by default)
    #listen on *
    #listen on 127.0.0.1
    #listen on ::1
    
    # sync to a single server
    #server ntp.example.org
    
    # use a random selection of 8 public stratum 2 servers
    # see http://twiki.ntp.org/bin/view/Servers/NTPPoolServers
    #servers pool.ntp.org
    
    driftfile /var/lib/ntp/drift
    
    disable monitor
    
    # NMEA refclock driver directly from serial porta,mode 80 = 460800bps
    # mode 0 = 9600
    # mode 16 = 19200
    # mode 32 = 57600
    # mode 48 = 115200
    # mode 64 = 230400
    # mode 80 = 460800
    server 127.127.20.1 mode 49 minpoll 3 iburst prefer true
    fudge 127.127.20.1 flag1 1 flag2 0 flag3 0 flag4 0 time1 0.00 refid GPS
    
    # ATOM PPS driver directly from interrupt through /dev/pps0
    server 127.127.22.1 minpoll 4 maxpoll 4 iburst true
    fudge 127.127.22.1 flag2 0 flag3 0 flag4 1 time1 0.0 refid PPS
    
  6. 在自启动脚本中添加授时自启动
    sleep 1s
    stty -F /dev/ttyTHS0 ispeed 115200 ospeed 115200 cs8
    ln -s /dev/ttyTHS0 /dev/gps1
    ln -s /dev/pps0 /dev/gpspps1
    ntpd -c /etc/ntpd.conf
    
  7. 重新给Jetson-AGX-Xavier上下电后,在终端输入ntpq -p 就可以看到GPS的授时 其中offset小于5表示时间成功同步。
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
    *GPS_NMEA(1)     .GPS.            0 l   49   64  377    0.000   +1.613   6.642
    

ptp时间同步

  1. xavier编译安装ptpd
    #下载ptpd 并解压
    https://github.com/ptpd/ptpd/tree/ptpd-2.3.1
    #编译
    autoreconf -vi
    ./configure
    make
    #安装
    sudo make install
    
  2. 自启动脚本文件里面添加ptpd 主设备启动命令
    sleep 2s
    ptpd2 -L -C -M -i eth0 &
    
  3. linux笔记本电脑(这里充当ptp从设备)安装ptpd
    #下载ptpd 并解压
    https://github.com/ptpd/ptpd/tree/ptpd-2.3.1
    #编译
    autoreconf -vi
    ./configure
    make
    #安装
    make install
    
  4. 自启动脚本里面添加ptpd 从设备启动命令
    sleep 2s
    ptpd2 -L -C -s -i eth0 -S /var/log/ptpd.log &
    
  5. 重新上下电Jetson-AGX-Xavier设备
  6. 在linux笔记本电脑上查看/var/log/ptpd.log,内容如下,其中Offset From Master字段为同步误差,单位为s,当同步误差小于0.001时,同步成功。
    # Timestamp, State, Clock ID, One Way Delay, Offset From Master, Slave to Master, Master to Slave, Observed Drift, Last packet Received, One Way Delay Mean, One Way Delay Std Dev, Offset From Master Mean, Offset From Master Std Dev, Observed Drift Mean, Observed Drift Std Dev, raw delayMS, raw delaySM
    2022-09-06 11:18:16.120935, init,
    2022-09-06 11:18:16.224368, lstn_init,  1
    2022-09-06 11:18:17.462962, slv, 247625fffe98ca4a(unknown)/1,  0.000000000,  0.000000000,  0.000000000,  0.000000000, 0.000000000, I, 0.000000000, 0, 0.000000000, 0, 0, 0,  0.000000000,  0.000000000
    2022-09-06 11:18:18.461847, slv, 247625fffe98ca4a(unknown)/1,  0.000000000, -8461219.047350856,  0.000000000, -8461219.047350856, 0.000000000, S, 0.000000000, 0, 0.000000000, 0, 0, 0, -8461219.047350856,  0.000000000
    2022-12-13 09:38:37.515919, flt,
    2022-12-13 09:38:37.516015, init,
    2022-12-13 09:38:37.618565, lstn_reset,  2
    2022-12-13 09:38:38.509269, slv, 247625fffe98ca4a(unknown)/1,  0.000000000,  0.000000000,  0.000000000,  0.000000000, 0.000000000, I, 0.000000000, 0, 0.000000000, 0, 0, 0, -8461219.047350856,  0.000000000
    2022-12-13 09:38:39.508787, slv, 247625fffe98ca4a(unknown)/1,  0.000000000, -0.000102161,  0.000000000, -0.000204322, 0.000000000, S, 0.000000000, 0, 0.000000000, 0, 0, 0, -0.000204322,  0.000000000
    2022-12-13 09:38:40.519338, slv, 247625fffe98ca4a(unknown)/1,  0.000000000, -0.000148817,  0.000000000, -0.000093313, 0.000000000, S, 0.000000000, 0, 0.000000000, 0, 0, 0, -0.000093313,  0.000000000
    2022-12-13 09:38:41.509062, slv, 247625fffe98ca4a(unknown)/1,  0.000000000, -0.000076180,  0.000000000, -0.000059048, -148.817000000, S, 0.000000000, 0, 0.000000000, 0, 0, 0, -0.000059048,  0.000000000
    2022-12-13 09:38:42.035599, slv, 247625fffe98ca4a(unknown)/1,  0.000131841, -0.000076180,  0.000586410, -0.000059048, -224.997000000, D, 0.000000000, 0, 0.000000000, 0, 0, 0, -0.000059048,  0.000586410
    2022-12-13 09:38:42.508640, slv, 247625fffe98ca4a(unknown)/1,  0.000131841, -0.000224606,  0.000586410, -0.000258323, -224.997000000, S, 0.000000000, 0, 0.000000000, 0, 0, 0, -0.000258323,  0.000586410
    2022-12-13 09:38:43.061501, slv, 247625fffe98ca4a(unknown)/1,  0.000167006, -0.000224606,  0.000539648, -0.000258323, -449.603000000, D, 0.000000000, 0, 0.000000000, 0, 0, 0, -0.000258323,  0.000539648
    
    
  7. 至此Jetson-AGX-Xavier的GPS+PPS+NTP+PTP时间同步配置成功。
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值