进阶必读!最系统全面的时间敏感型网络(TSN)技术资料分享
来源:嵌入式专栏发布时间:2023-01-304934浏览
询问 AI
TSN源于Time-Sensitive Networking的缩写,中文译名为时间敏感网络,因其具备的确定性和微秒级交互特性,受到了对实时性要求较高的工业控制领域的关注。
图1TSN与工业数智化
TSN技术在工业控制、智能电网、5G等领域有着广阔的应用场景,这些领域对时间的敏感度上有着极具严苛的要求,具备TSN技术的设备能够将控制指令的传送过程控制在微秒级别的时间精度内。通过提高数据传输的实时性,来保障相应场景的安全性,从而保障人员安全及提高调度效率。
目前,TSN技术已实现了部分的落地应用。如,中国移动与南瑞继保的5G TSN绿色智慧电网、鞍钢的5G云化PLC。TSN技术帮助企业提升生产控制柔性,TSN技术正成为更多工业用户降本增效的考虑项。
图 2港口集装箱调度创龙科技TSN最新产品TSN作为较前沿技术,虽现业界未大范围应用,但为更快速响应客户在未来生产控制柔性及效能的需求,经过数月的测试研发,创龙科技(Tronlong)已推出基于TI 16nm的AM64x设计的SOM-TL64x工业核心板、TL64x-EVM工业评估板,为国内首发,现已正式对外发售。
TL64x-EVM工业评估板产品资料/公开源码/案例说明:https://tronlong.com/Product/show/211.html
图3 TL64x-EVM工业评估板(硬件资源图解)创龙科技TI AM64x工业核心板/评估板,具备5路TSN原生千兆网,并可同时使用。通过时钟同步、数据流调度策略、TSN网络与用户配置的技术标准实现控制指令的高速传输,为各用户提供低时延、低抖动、高可靠、广覆盖的工业互联网网络基础设施。
图 3SOM-TL64x工业核心板框图下面简单演示基于创龙科技TI AM64x工业核心板/评估板,做的TSN(时间敏感型网络)的通信测试。获取更多案例测试说明/公开源码请长按识别下方二维码下载

进行操作前,请先安装USB转串口驱动、SecureCRT串口调试终端等相关软件。默认使用USB TO UART0作为调试串口。
适用开发环境:Windows开发环境:Windows 7 64bit、Windows 10 64bitLinux开发环境:Ubuntu18.04.4虚拟机:VMware15.5.5Linux Processor SDK:ti-processor-sdk-linux-rt-am64xx-evm-08.01.00.39U-Boot:U-Boot-2021.01Kernel:Linux-5.10.65
1时钟同步机制
TSN的标准协议:Timing over packet (802.1AS-2011,IEEE1588,gPTP) with linuxptp (ptp4l)1.1简介
TSN标准由IEEE 802.1AS[10]和为工业所开发的升级版IEEE 802.1AS-rev[11]构成。IEEE 802.1AS是基于IEEE 1588 V2精确时钟同步协议发展的,称为:gPTP——广义时钟同步协议。gPTP是一个分布式主从结构,它对所有gPTP网络中的时钟与主时钟进行同步。
首先由最佳主时钟算法(best clock master algrothms,BCMA)建立主次关系,分别称为主时钟(clock master,CM)和从时钟(clock slave,CS)。每个gPTP节点会运行一个gPTP Engine。
IEEE1588所采用的PTP是由网络的L3和L4层的IP网络传输,通过IPv4或IPv6的多播或单播进行分发时钟信息。而gPTP则是嵌入在MAC层硬件中,仅在L2工作,直接对数据帧插入时间信息,并随着数据帧传输到网络每个节点。
图 5IEEE802.1AS的时钟结构1.2案例测试
本小节主要演示TI AM64x基于TSN的时钟同步机制进行PTP(高精度时间同步协议)对时测试。评估板配备5个千兆网口,对应的网卡名字如下所示:
表 1
| 网口名称 | 支持模式 | 网口名称 |
| ETH1 | CPSW(RGMII1) | eth0 |
| ETH2 | CPSW(RGMII2)(默认),或PRG1(RGMII2)(仅限AM6442) | eth1 |
| ETH3 | PRG0(RGMII1)(仅限AM6442) | eth2 |
| ETH4 | PRG0(RGMII2)(仅限AM6442) | eth3 |
| ETH5 | PRG1(RGMII1)(仅限AM6442) | eth4 |
请准备2个TL64x-EVM评估板,2个评估板上电启动,请将案例"ptp\bin\"目录下可执行文件ppstest、testptp文件分别拷贝至2个评估板文件系统任意目录下。2个评估板分别在可执行执行所在目录下,执行如下命令,使能PTP,并测试当前评估板计时是否准确,按"Ctrl + C"停止测试。Target#./testptp -d /dev/ptp0 -P 1//使能PTPTarget#./ppstest /dev/pps0//测试计时是否准确
图 61.2.1基于CPSW网口测试
请使用网线将2个评估板的ETH1网口互联。评估板1的ETH1网口作为Master,评估板2的ETH1网口作为Slave。进入评估板1文件系统,执行如下命令,查看ETH1网口PTP编号。Target#ethtool -T eth0
图 7从上图打印信息可知,ETH1的PTP编号为0。进入评估板1文件系统,执行如下命令,进行对时测试。Target#ptp4l -E -2 -H -i eth0-l 7 -m -q -p /dev/ptp0
图 8
图 9
图 10进入评估板2文件系统,执行如下命令创建ptp.cfg配置文件,配置超时参数为600。Target#vi ptp.cfgTarget#cat ptp.cfg
添加如下内容:[global]tx_timestamp_timeout 600
图 11进入评估板2文件系统,执行如下命令,进行对时测试。Target#ptp4l -E -2 -H -i eth0-s -l 6 -m -q -p /dev/ptp0 -f ptp.cfg
图 12由上图可知,path delay约为536ns,即PTP对时功能正常。
1.2.2基于PRG网口测试
请使用网线将2个评估板的ETH3网口互联。评估板1的ETH3网口作为Master,评估板2的ETH3网口作为Slave。进入评估板1文件系统,执行如下命令,查看ETH3网口PTP编号。Target#ethtool -T eth2

图 13从上图可知,ETH3的PTP编号为3。
进入评估板1文件系统,执行如下命令,进行对时测试。Target#ptp4l -E -2 -H -i eth2-l 7 -m -q -p /dev/ptp3
图 14
图 15
图 16进入评估板2文件系统,执行如下命令创建ptp.cfg配置文件,配置超时参数为600。Target#vi ptp.cfgTarget#cat ptp.cfg
添加如下内容:[global]tx_timestamp_timeout 600
图 17进入评估板2文件系统,执行如下命令,进行对时测试。Target#ptp4l -E -2 -H -i eth2-s -l 6 -m -q -p /dev/ptp3-f ptp.cfg
图 18由上图可知,path delay约为455ns,即PTP对时功能正常。
1.3案例编译
请将产品资料“4-软件资料\Demo\base-demos\tsn_test\ptp\src”目录下源码拷贝至Ubuntu工作目录。在源码目录下,执行如下命令编译testptp.c,编译完成后将会在当前目录下生成ppstest可执行程序。Host#aarch64-none-linux-gnu-gcc -Wall testptp.c -o testptp
图 19执行如下命令,将pps-tools.tar.gz压缩包解压至当前目录,并进入解压后的目录进行编译,编译完成将在当前目录下生成ppstest可执行程序。Host#tar -zxf pps-tools.tar.gz -C .Host#cd pps-tools/Host#make CC=aarch64-none-linux-gnu-gcc
图20通过针对TSN网口通信的专业测试,相信各位工程师也看到TSN传输上的优势。
想要获取更多案例测试说明/产品资料/公开源码请长按识别下方二维码下载





联系创龙科技:
销售邮箱:sales@tronlong.com技术邮箱:support@tronlong.com创龙总机:020-8998-6280技术热线:020-3893-9734创龙官网:www.tronlong.com技术论坛:www.51ele.net官方商城:https://tronlong.tmall.com
新闻来源:嵌入式专栏,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。

