前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TI Sitara系列 AM64x开发板——TSN通信测试手册(下)

TI Sitara系列 AM64x开发板——TSN通信测试手册(下)

原创
作者头像
创龙科技Tronlong
发布2022-11-26 20:45:05
1.5K0
发布2022-11-26 20:45:05
举报

前 言

1 TSN简介

2 时钟同步机制

3 时间感知整形器机制

4 抢占式MAC机制

5 时间敏感流转发与排队机制

前 言

本指导文档适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:Ubuntu18.04.4

虚拟机:VMware15.5.5

Linux Processor SDK:ti-processor-sdk-linux-rt-am64xx-evm-08.01.00.39

U-Boot:U-Boot-2021.01

Kernel:Linux-5.10.65

本文档主要演示TSN(时间敏感型网络)的通信测试。案例位于产品资料“4-软件资料\Demo\base-demos\tsn_test\”目录下。

进行本文档操作前,请先按照《调试工具安装》文档安装USB转串口驱动、SecureCRT串口调试终端等相关软件。默认使用USB TO UART0作为调试串口。

评估板简介

创龙科技TL62x-EVM是一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F异构多核处理器设计的高性能低功耗工业评估板,由核心板和评估底板组成。处理器ARM Cortex-A53(64-bit)主处理单元主频高达1.4GHz,ARM Cortex-M4F实时处理单元主频高达400MHz,采用16nm最新工艺,具有可与FPGA高速通信的GPMC并口,同时支持双屏异显、3D图形加速器。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出3x Ethernet(两路支持TSN)、3x CAN-FD、9x UART、多路DI/DO、GPMC、USB、MIPI、LVDS LCD、TFT LCD、HDMI等接口,板载WIFI模块,支持4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。

评估板正面图

根据抓取的数据包分析可知:

端口5001:在204us之后关闭(TC0/Q0)阀门。

图 35

端口5002:在572us之后关闭(TC1/Q1)阀门。

图 36

端口5003:在198us之后关闭(TC2/Q2)阀门。

图 37

备注:数据包未按设置的门限打开时间进行发送,原因未知,但与官方测试结果一致。

抢占式MAC机制

TSN的标准协议:Preemption (IET,802.1Qbu/802.3br) with Linux packet scheduler

简介

在TAS机制中会存在两个问题:第一,保护带宽消耗了一定的采样时间;第二,低优先级反转的风险。因此,TSN的802.1Qbu和IEEE 802.3工作组共同开发了IEEE 802.3br,即可抢占式MAC机制。其采用了802.3TG中的帧抢占机制,将给定的出口分为2个MAC服务接口,分别称为可被抢占MAC(pAMC-Preemptable MAC)和快速MAC(eMAC-express MAC)。pMAC可被eMAC抢占,进入数据堆栈后等待eMAC数据传输完成,再进行传输。

图 38 基于抢占式MAC的传输机制

通过抢占,保护带宽可被减少至最短低优先级帧片段。然而在最差情况下,低优先级的片段可在下一个高优先级前完成。当然,抢占这个传输过程仅在连接层接口,即对于抢占式MAC,交换机需专用的硬件层MAC芯片支持。

案例测试

基于CPSW网口测试

请准备2个TL64x-EVM评估板,使用网线将2个评估板的ETH1网口互连。其中评估板1作为iperf3服务端,评估板2作为iperf3客户端。

备注:暂不支持PRG网口。

请将案例"iet\bin\"目录下iet-fpe-with-mac-verify.sh脚本文件分别拷贝至评估板1、2文件系统。分别进入评估板1、2文件系统,执行如下命令初始化并使能网口IET功能。

Target# ./iet-fpe-with-mac-verify.sh

图 39 评估板1文件系统

图 40 评估板2文件系统

进入评估板1文件系统,执行如下命令,设置评估板1网口ETH1的静态IP为192.168.2.10,并启动2个iperf3服务器,对应端口分别为5002和5003。

Target# ip addr add 192.168.2.10/24 dev eth0

Target# iperf3 -s -i30 -p5002 &

Target# iperf3 -s -i30 -p5003 &

图 41

进入评估板2文件系统,执行如下命令,设置评估板2网口ETH1的静态IP为192.168.2.20,并启动2个iperf3客户端,对应端口分别为5002和5003。首先运行端口为5002的客户端,数据将会进入Q0队列;然后运行端口为5003的客户端,数据将会进入Q1队列。由于在使用脚本初始化时将会配置Q0可被Q1抢占,因此端口为5002的客户端可被端口为5003的客户端抢先发送数据。

Target# ip addr add 192.168.2.20/24 dev eth0

Target# iperf3 -c 192.168.2.10 -u -b200M -l1472 -u -t30 -i30 -p5002 &

Target# iperf3 -c 192.168.2.10 -u -b50M -l1472 -u -t30 -i30 -p5003 &

图 42

评估板1串口调试终端将会打印如下信息。

图 43

分别进入评估板1、2文件系统,执行如下命令,查看IET的状态。

Target# ethtool -S eth0 | grep iet

图 44 评估板1(服务端)

图 45 评估板2(客户端)

参数解析:

iet_rx_assembly_ok:表示接收端成功重新组装MAC帧的次数。

iet_rx_frag:表示接收端接收到抢占帧的次数。

iet_tx_frag:表示发送端产生抢占帧的次数。

从上述测试结果分析可知:客户端参数iet_tx_frag为13805,表示存在发送帧抢占的情况,发送端使用MAC抢占机制。服务端参数iet_rx_frag为13805,iet_rx_assembly_ok为11316,表示存在接收到对端抢占帧的情况。

时间敏感流转发与排队机制

TSN的标准协议:Forwarding and Queuing Enhancements for Time-Sensitive Streams (FQTSS, 802.1Qav)

简介

802.1Qav协议制定初衷是确保传统的异步以太网数据流不会干扰AVB的实时数据流传输,现在Qav不再局限于音视频的传输。此协议规定了每类优先级的入口计量、优先级再生以及处理时间感知队列的算法。其利用IEEE 802.1AS协议生成的定时信息和VLAN优先级来隔离受控和非受控队列之间的帧,同时支持时间敏感流量在有线或无线局域网之间传输。

案例测试

基于CPSW网口测试

请使用网线将评估板的ETH1网口与PC机网口直连。

备注:暂不支持PRG网口。

请将PC机配置为静态IP,其中IP地址为:192.168.2.10,子网掩码为:255.255.255.0,请根据实际情况进行修改,如下图所示。

图 46

请将案例"fqtss\bin\"目录下所有脚本拷贝至评估板文件系统任意目录。

图 47

  1. TX CPPI channels on Host P0测试

在fqtss-tx_cppi_channel_on_host_p0-init.sh脚本所在目录下执行如下命令测试TX CPPI channels on Host P0功能。本此测试将会对主机端口TX通道限制速率。

Target# ./fqtss-tx_cppi_channel_on_host_p0-init.sh

图 48

执行如下命令,设置评估板网口ETH1的静态IP为:192.168.2.20,并测试与PC机是否通信正常。

Target# ip addr add 192.168.2.20/24 dev eth0

Target# ping 192.168.2.10

图 49

在PC机上,在CMD命令行终端执行如下命令,运行3个iperf3服务器进程,对应端口分别为5001、5002和5003。

CMD# iperf3.exe -s -i30 -p5001

CMD# iperf3.exe -s -i30 -p5002

CMD# iperf3.exe -s -i30 -p5003

图 50

图 51

图 52

进入评估板文件系统,执行如下命令,启动3个iperf3客户端,并与服务端进行通信测试。

Target# iperf3 -c 192.168.2.10 -t10 -p5001 -Tpri7 & iperf3 -c 192.168.2.10 -t10 -p5002 -Tpri6 & iperf3 -c 192.168.2.10 -t10 -p5003 -Tpri0

图 53

从上图可知,端口为5001的客户端(pri7,限速100Mb/s)的带宽为89.2Mb/s;端口为5002的客户端(pri6,限速200Mb/s)的带宽为162Mb/s;端口为5003的客户端(pri0,不限速)的带宽为502Mb/s。

根据上述测试结果分析可知:对主机端口TX通道的速率限制功能正常。

External Ports FIFOs测试

请将评估板断电重启,进入评估板文件系统。

在fqtss-external_ports_fifos-init.sh脚本所在目录执行如下命令测试External Ports FIFOs功能。本此测试将会对主机端口TX通道和外部端口FIFO,启用速率限制。

Target# ./fqtss-external_ports_fifos-init.sh

图 54

执行如下命令,设置评估板网口ETH1的静态IP为:192.168.2.20,并测试与PC机是否通信正常。

Target# ip addr add 192.168.2.20/24 dev eth0

Target# ping 192.168.2.10

图 55

在PC机上,在CMD命令行终端执行如下命令,运行3个iperf3服务器进程,对应端口分别为5001、5002和5003。

CMD# iperf3.exe -s -i30 -p5001

CMD# iperf3.exe -s -i30 -p5002

CMD# iperf3.exe -s -i30 -p5003

图 56

图 57

图 58

进入评估板文件系统,执行如下命令,启动3个iperf3客户端,并与服务端进行通信测试。

Target# iperf3 -c 192.168.2.10 -t10 -p5001 -Tpri7 & iperf3 -c 192.168.2.10 -t10 -p5002 -Tpri6 & iperf3 -c 192.168.2.10 -t10 -p5003 -Tpri0

图 59

从上图可知,端口为5001的客户端(pri7,限速100Mb/s)的带宽为80.5Mb/s;端口为5002的客户端(pri6,限速200Mb/s)的带宽为139Mb/s;端口为5003的客户端(pri0,不限速)的带宽为368Mb/s。

根据上述测试结果分析可知:对主机端口TX通道和外部端口FIFO的速率限制功能正常。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前 言
  • 评估板简介
  • 抢占式MAC机制
  • 简介
  • 案例测试
  • 基于CPSW网口测试
  • 时间敏感流转发与排队机制
  • 简介
  • 案例测试
  • 基于CPSW网口测试
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档