在實際應用中,工業(yè)網(wǎng)絡設備可能會面對復雜的網(wǎng)絡數(shù)據(jù)環(huán)境,比如復雜物理拓撲結(jié)構(gòu)(網(wǎng)絡中大量使用路由器/交換機,并且可能有外部設備接入),可能導致網(wǎng)絡中出現(xiàn)大量的IP廣播/多播,非目標IP包,這些包大量出現(xiàn),就有可能把真正攜帶有效通信數(shù)據(jù)的包“淹沒”掉。為了解決這些風險,T2M/N2L平臺內(nèi)置的ETHSW模塊提供了廣播/多播風暴抑制,數(shù)據(jù)幀過濾等硬件功能。
本文主要介紹用于數(shù)據(jù)幀過濾的“模式匹配 (Pattern Matcher)”功能,并舉例T2M/N2L ETHSW模塊提供的Receive Pattern Matcher功能,可以用來和PORT接收到的Frame的特定字段對比,在normal forwarding processing的基礎上執(zhí)行一些預定義的特定動作:如Discard, MGMTFWD,F(xiàn)orce_Forward,從而在ETHSW的PORT端完成對特定數(shù)據(jù)幀的識別,減少通過ETHSW Management Port進入GMAC/CPU處理的數(shù)據(jù)幀數(shù)量,從而降低GMAC數(shù)據(jù)傳輸負載和CPU處理IP協(xié)議棧的軟件負載,降低“丟幀”發(fā)生的風險;
ETHSW總共12個Pattern Matcher可用。
Pattern Matcher支持固定匹配模式和2字節(jié)匹配模式;最多可匹配到從數(shù)據(jù)幀源MAC地址字段之后最多偏移256字節(jié)處。
Pattern Matcher可以與集成的hub模塊結(jié)合使用。允許實現(xiàn)當一個特定的幀被接收時,觸發(fā)MAC傳輸。這允許在實現(xiàn)像Powerlink這樣的協(xié)議時,節(jié)點設備被觸發(fā)傳輸,是通過接收來自中央主節(jié)點的特定幀來控制的。
Pattern Matcher的4種模式:
MODE 1固定模式
固定比對Frame的SRC MAC地址域后開始的12字節(jié),(第13th-24th字節(jié))因為該范圍包含了Type_Length字段(2字節(jié)),所以最多比對10 Bytes負載內(nèi)容;
通過PTRN_CMP寄存器和PTRN_MSK寄存器配置數(shù)據(jù)幀中參與對比的每個字節(jié)的比較值和掩碼,運行時根據(jù)掩碼對Frame中相應字節(jié)作AND運算,對比PTRN_CMP中的比較值,相同即為Match,然后預定義的Action操作被觸發(fā)。
MODE 2-4:flexible模式
Mode 2-4都是2字節(jié)比較,比較的具體方法描述如下,比較位置(offset值:0-256)從13 th byte開始計算偏移;
MODE 2:2 byte table look-up:Frame中Offset位置開始的2字節(jié),和最多8個比較值作比較;
MODE 3:2 byte range compare with minimum and maximum range:Frame中Offset位置開始的2字節(jié),判斷其是否在預設的最小值(min)和最大值(max)范圍內(nèi);Compare Match規(guī)則為:Min <= 2 byte Value <= Max
MODE 4:2 byte inverted 2-byte inverted range compare by using a minimum and maximum range:Frame中Offset位置開始的2字節(jié),反向比較 ,Compare Match規(guī)則為:2byte value <= Min or ?2 byte value >= Max;
Mode 2/3/4下比較值和寄存器配置的對應關(guān)系:

舉例:
在我們的PN例程中,為了解決測試和實際應用時,網(wǎng)絡中出現(xiàn)ARP風暴,導致DCP連接出現(xiàn)故障的問題,因為ARP.request本身是廣播幀,用廣播風暴抑制不太合適(可能會把真正需要答復的ARP.request屏蔽掉),所以用Pattern Matcher 提取針對該Station IP地址的ARP.request;
實現(xiàn)該功能使用2個Pattern Matcher(編號0xa和 0xb),工作在Mode 3(2 byte range compare)下,對比ARP.request幀中的Target IP Address 域,每個Pattern Matcher對比2字節(jié)IP地址;
UM中MODE 3的意義為:
2-byte range compare by using a minimum and maximum range,at a programmable offset, with port and queue mask for frame triggering and optional Length/Type matching.
從Offset指定的位置,F(xiàn)rame中的2字節(jié),如果這兩字節(jié)的值落在定義的Min和Max值之間,則認為匹配成功;
Max/Min配置值與寄存器配置對應關(guān)系如下:

代碼如下:

這段代碼可以看到:
action=MGMTFWD | MODE_2BYTE_RANGE| VLAN_SKIP | LEARNING_DIS | SWAP_BYTES |MATCH_LT| SET_PRIO;
其中比較重要的配置有:
MGMTFWD:定義為Compare Match的幀,提取到Management Port(ETHSW PORT 3),不再轉(zhuǎn)發(fā);
MODE_2BYTE_RANGE:定義Pattern Matcher 工作在MODE 3;
MATCH_LT:定義除了比較2 byte數(shù)據(jù),還需要同時比較Length_Type域,該示例中為0x0806;
max_min:分別定義IP地址的高低2字節(jié)需要匹配的值,按照上面的對照表,寫入到PTRN_CMP寄存器中;
offset:定義需要比較的2字節(jié)從數(shù)據(jù)幀MAC地址域后開始的位置;Target IP Address域的高低2字節(jié)的offset分別為26和28;
port_mask:表示在哪些PORT口上實施該Pattern Matcher;示例中port_mask = 3,即在3個PORT口上都實施;
函數(shù)ethsw_setup_mqprio_pattern_add()配置Pattern Matcher相關(guān)寄存器;這里不作詳細說明,請參考UM(Section 28.3.15)和Source Code;
以上簡單說明了ETHSW提供的Pattern Matcher的基本功能。T2M/N2L平臺的ETHSW是功能強大的交換機,實現(xiàn)了較多Lay2級別的交換功能,后續(xù)文檔會繼續(xù)介紹如TDMA/HUB等亮點功能,敬請期待。
-
mcu
+關(guān)注
關(guān)注
147文章
19015瀏覽量
400492 -
瑞薩
+關(guān)注
關(guān)注
37文章
22500瀏覽量
90988 -
Mac
+關(guān)注
關(guān)注
0文章
1130瀏覽量
55440 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
49瀏覽量
7128
發(fā)布評論請先 登錄
瑞薩電子RA-Eco-RA4M2搭建Keil開發(fā)環(huán)境指南
瑞薩電子RZ/T和RZ/N系列微處理器全面支持PROFINET
Renesas RZ/N2L Starter Kit+:功能解析與使用指南
RZ/N2L MPU:高性能與多功能的完美融合
探索 RZ/N2L 工業(yè)網(wǎng)絡 SOM 套件:工業(yè)以太網(wǎng)解決方案的理想之選
【RA4M2-SENSOR】—— 2.串口通訊測試
基于瑞薩64位MPU RZ/G2L進行32位應用軟件開發(fā)
Banana Pi 最新邊緣 AI 系統(tǒng)模塊 BPI-AI2N 采用瑞薩電子 RZ/V2N
新品發(fā)布丨瑞薩電子推出全新超低功耗RA2L2微控制器,支持USB-C Rev. 2.4標準
解析RZ/N2L CANFD模塊的緩沖區(qū)機制(3)
解析RZ/N2L CANFD模塊的緩沖區(qū)機制(2)
解析RZ/N2L CANFD模塊的緩沖區(qū)機制(1)
【RA-Eco-RA4M2開發(fā)板評測】初學瑞薩-使用瑞薩flash programmer燒錄程序
【RA-Eco-RA4M2開發(fā)板評測】試用瑞薩flash programmer燒錄
2025年瑞薩電子工業(yè)以太網(wǎng)技術(shù)日(下)
瑞薩RZT2M/N2L ETHSW Pattern Matcher模塊功能說明和舉例
評論