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

2022-11-26 20:45:05 浏览数 (1)

前 言

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-软件资料Demobase-demostsn_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网口。

请将案例"ietbin"目录下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

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

图 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的速率限制功能正常。

0 人点赞