天天看點

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

作者:Tronlong創龍科技

前 言

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子產品,可選配外殼直接應用于工業現場,友善使用者快速進行産品方案評估與技術預研。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

評估闆正面圖

根據抓取的資料包分析可知:

端口5001:在204us之後關閉(TC0/Q0)閥門。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 35

端口5002:在572us之後關閉(TC1/Q1)閥門。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 36

端口5003:在198us之後關閉(TC2/Q2)閥門。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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資料傳輸完成,再進行傳輸。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 39 評估闆1檔案系統

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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 &

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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 &

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 42

評估闆1序列槽調試終端将會列印如下資訊。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 43

分别進入評估闆1、2檔案系統,執行如下指令,檢視IET的狀态。

Target# ethtool -S eth0 | grep iet

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 44 評估闆1(服務端)

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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,請根據實際情況進行修改,如下圖所示。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 46

請将案例"fqtss\bin\"目錄下所有腳本拷貝至評估闆檔案系統任意目錄。

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 50

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 51

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 56

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 57

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 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

TI Sitara系列 AM64x開發闆——TSN通信測試手冊(下)

圖 59

從上圖可知,端口為5001的用戶端(pri7,限速100Mb/s)的帶寬為80.5Mb/s;端口為5002的用戶端(pri6,限速200Mb/s)的帶寬為139Mb/s;端口為5003的用戶端(pri0,不限速)的帶寬為368Mb/s。

根據上述測試結果分析可知:對主機端口TX通道和外部端口FIFO的速率限制功能正常。

繼續閱讀