找回密码
 注册
关于网站域名变更的通知
查看: 191|回复: 1
打印 上一主题 下一主题

TSN时钟同步 | PTP对时案例演示——基于NXP i.MX 8M Plus

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-7-10 10:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
TSN简介
TSN介绍4 L8 ~3 h3 F5 _; @- e8 z2 @: Y
时间敏感网络(TSN:Time Sensitive Networking)是IEEE802.1工作组中的TSN任务组开发的一套协议标准。该标准定义了以太网数据传输的时间敏感机制,为标准以太网增加了确定性和可靠性,以确保以太网能够为关键数据的传输提供稳定一致的服务级别。

  S. u  b+ q$ |1 v4 Y
TSN是一组IEEE 802.1协议标准,包括802.1AS-Rev、802.1Qbv、802.1Qbu、802.1CB等多个协议,工作在OSI七层网络模型中的第二层—数据链路层。

% ?  v- k7 k2 G/ N$ R( o
图 1
' {/ s8 s, C# s9 ~9 V
TSN是目前国际产业界正在积极推动的全新工业通信技术。时间敏感型网络允许周期性与非周期性数据在同一网络中传输,使得标准以太网具有确定性传输的优势,并通过厂商独立的标准化进程,已成为广泛聚焦的关键技术。
/ V7 R: R5 R1 K- r
TSN主要价值特点:
(1)TSN提供微秒级确定性服务,保证各行业的实时性需求。
TSN可达到10us级的周期传输,性能优于主流的工业以太网。并且,TSN面向音视频、工业、汽车等多种行业,将实时性延伸至更高的层次。
(2)TSN降低整个通信网络复杂度,实现周期性数据和非周期性数据同时传输。
以工业为例,当前周期性控制数据使用工业以太网传输,非周期性数据使用标准以太网传输。TSN通过其调度机制能够实现周期性数据和非周期性数据在同一网络中传输,进一步简化了整个通信中的网络复杂性。
(3)TSN统一网络传输,提高经济性。

$ Q* S8 c5 }% e7 A+ b' v5 x; K
TSN能够帮助实现信息技术(IT)与运营技术(OT)融合,统一的网络能够减少开发部署成本,降低控制器等产品网络配置所需的工程时间。
- F$ T7 P) ?& x% e3 V1 z
时钟同步机制
4 Q- I& g! G! ~: ]
TSN的标准协议:Timing over packet (802.1AS-2011,IEEE1588,gPTP) with linuxptp (ptp4l)。
( d$ e& N! j* ^
IEEE1588协议简称精确时钟协议PTP(Precision Timing Protocol),它的全称是“网络测量和控制系统的精密时钟同步协议标准”(IEEE1588 Precision Clock Synchronization Protocol),用于同步计算机网络中的时钟。

! ]# \7 N- p* ]( x
IEEE1588其工作的基本原理,是通过主从节点之间进行同步数据帧的发送,记录数据帧的发送时间和接收时间信息进行工作,并且将该时间信息添加到该数据帧中。从节点获取这些时间信息,并计算从节点本地时钟与主时钟的时间偏差和网络节点之间的传输延时,对本地时钟进行纠正,使之与主节点时钟同步。
3 \/ C9 j' A  q% A! i4 @
开发环境
% p+ c* x, N; Q- i% ~, P
本文主要介绍的是基于创龙科技TLIMX8MP-EVM评估板的TSN时钟同步、PTP对时案例,创龙科技TLIMX8MP-EVM是基于NXP i.MX 8M Plus的四核ARM Cortex-A53 + 单核ARM Cortex-M7异构多核处理器设计的高性能工业评估板。

4 B: y  K/ E; V9 G
本次案例演示的开发环境如下:
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware15.5.5
Linux开发环境:Ubuntu20.04.6 64bit
U-Boot:U-Boot-2022.04
Kernel:Linux-5.15.71
Linux SDK:L5.15.71_2.2.0
硬件开发环境:创龙科技TLIMX8MP-EVM评估板

, U/ G0 W% J% T7 i$ k6 k
案例测试
本文主要演示基于TSN的时钟同步机制进行PTP(高精度时间同步协议)对时测试。
请准备2个创龙科技TLIMX8MP-EVM评估板,分别执行如下命令,创建ptp.cfg配置文件,并配置超时参数tx_timestamp_timeout。
Target# vi ptp.cfg
Target# cat ptp.cfg

" B% k0 D( e- B( _
ptp.cfg配置文件添加如下内容:
[global]
tx_timestamp_timeout 600
# t5 x3 D, G* M* T8 o
图 2 评估板1
& Q1 D% O; c5 y- P
图3 评估板2

6 F5 z/ r: X) c$ D( o+ D0 a
下文为IEEE1588对时测试,请使用一根网线将2个评估板的ETH1网口直接连接。本次测试中,评估板1的ETH1网口作为Master,评估板2的ETH1网口作为Slave。
执行如下命令,将2个评估板配置为静态IP,并测试评估板之间的网络连通性。

' t5 n( p& L" I9 e" b& R( f
Target# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 //配置评估板1静态IP
Target# ifconfig eth0 192.168.1.20 netmask 255.255.255.0 //配置评估板2静态IP
Target# ping 192.168.1.20
Target# ping 192.168.1.10

' w- m( [/ ^4 Q1 Q/ L
图 4 评估板1

: Y) S* M& T/ X6 V
图 5 评估板2

$ g( X( x; f$ n% Y; l0 G
进入评估板1文件系统,执行如下命令,进行对时测试。
Target# ptp4l -E -4 -H -i eth0 -l 6 -m -q -f ptp.cfg

$ k# Q' K# R* V+ Z8 b9 |  h
图 6

) ^' u3 n; e: ]: R
进入评估板2文件系统,执行如下命令,进行对时测试。下图第一列红色框打印的信息为2个评估板的对时时差,单位为ns;查看s2时钟的master offset数据,可见IEEE1588对时功能基本正常。第二列红色框打印的信息为path delay,单位为ns。按"Ctrl + C"可停止测试。
Target# ptp4l -E -4 -H -i eth0 -s -l 6 -m -q -f ptp.cfg
( M2 N4 U1 [4 D
图 7
% S8 q* I+ v4 r! P! F
参数解析:
(1)命令参数解析如下:
* ~/ |9 f0 o3 F: [4 v
表 1
参数
解析
-i eth0
指定网络端口
-m
打印测试信息
-H
使用硬件时间戳
-s
slave模式
-E
E2E延迟测量机制(默认配置)
-l
打印级别0~7(默认6,LOG_INFO)
1 J5 j! p4 @) z& R- G
(2)打印信息参数解析如下:
a)master offset:测量与主设备的偏移(以ns为单位),即对时时差;
b)s0、s1、s2:不同的时钟伺服状态;
c)path delay:从主设备发送同步消息的延迟(以ns为单位)。
  • TA的每日心情
    开心
    2023-5-15 15:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2024-7-10 18:51 | 只看该作者
    操作流程很详细,
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-10 00:10 , Processed in 0.093750 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表