車載以太網在當今現代車輛中擔任著至關重要的角色,為各種關鍵功能和服務提供支持。隨著車輛網絡的不斷發展,大規模以太網的部署使得網絡拓撲變得更加復雜,數據格式和協議也變得更加多樣,數據流量也變得更加龐大。這些復雜性給車載以太網絡的分析帶來了嚴峻的挑戰。專業的分析工具,可以讓開發和測試人員更為輕松地應對挑戰。
CANoe/CANalyzer提供了“Protocol Monitor”分析窗口,可幫助用戶從大量的流量信息中快速獲取“Who talks to whom about what”的內容。Protocol Monitor具備以下主要特性:
根據網絡流量建立協議層次模型
提供協議端點及其連接的可視化視圖
支持多種協議
靈活的過濾功能
強大的搜索功能
01
Protocol Monitor vs Trace Window
Trace Window通常更側重于分析數據,如圖1所示。當觀察到一條以太網幀時,Trace Window將其列為新事件并以文本行的形式顯示出來,其中Detail View可以顯示所有細節,但無法直觀地獲取通信的端點信息以及報文之間的關系。相比之下,Protocol Monitor可以將這條以太網幀按照Ethernet|IPv4|UDP|SOME/IP的分層結構,逐層顯示通信的端點和連接,提供更為清晰的層次化協議信息。
圖1:Protocol Monitor vs Trace Window
02
Protocol Monitor重要概念介紹
>
Endpoint(端點)
協議信息從一個源端傳輸到一個目的端,源端和目的端都稱為端點(Endpoint)。每個協議層都有相應的端點,并且端點之間存在嵌套關系,對應于協議層級的依賴關系。
>
Connection(連接)
連接表示兩個端點之間的通信。一個連接包含一個發起者(Initiator)和一個接收者(Addressee),角色分配由連接中觀測到的第一幀來決定,第一幀的源地址自動成為連接的發起者,目的地址則自動成為連接的接收者。
>
Network Node(網絡節點)
一個網絡節點對應一個ECU,節點通常包括一個或多個端點。
>
Network(網絡)
網絡是一個廣播域內能互相連通的端點的組合,可通過物理網絡(如以太網)和虛擬網絡(如VLAN)劃分。
圖2:重要概念
03
Protocol Monitor用戶界面介紹
>
Diagram View
Diagram View使用圖形的方式顯示網絡通信。不同顏色的方塊表示不同協議層級中的端點,箭頭則表示各端點之間的連接及通信方向。
>
Endpoints View
Endpoints View以樹形結構顯示實時通信的端點。用戶可以根據端點所屬的網絡節點或網絡進行分組,并根據需要設置過濾器。
>
Detail View
Detail View可以顯示當前選中元素的更多詳細信息。
>
Connections View
Connections View以列表形式顯示所有連接的信息。用戶可以根據需要設置過濾器。
圖3:用戶界面
04
典型應用案例:SOME/IP通信分析
以CANoe自帶的示例工程“SOMEIPBasicAutosar.cfg”為例,說明如何通過Protocol Monitor有針對性地對SOME/IP通信進行分析。
首先,點擊Analysis| Protocol Monitor以激活Protocol Monitor窗口,然后運行CANoe工程,即可通過Protocol Monitor快速解決如下問題:
問題:如何查看節點ADAS的MAC地址、IP地址、傳輸層端口等信息?
- 解決方法:
打開Endpoints View窗口,在列表中找到節點ADAS,如圖4所示。
查看其MAC地址:MAC地址為020001:04。
查看其IP地址:IP地址為192.168.3.4。
查看其傳輸層端口:傳輸層端口為UDP30500。
圖4:ADAS節點信息
問題:哪些節點通過SOME/IP進行通信?
- 解決方法:
在Endpoints View窗口的左上角,找到“Filter”(過濾器)。點擊Filter進行過濾設置,確保僅勾選了Application->SOME/IP。
在Diagram View窗口中,可以看到一個可視化的節點圖表,如圖5所示,顯示所有通過SOME/IP通信的節點以及它們的端點之間的連接關系。
圖5:SOME/IP通信節點
問題:誰是服務“sif_2001”的提供者和消費者?
- 解決方法:
在Diagram View窗口中,點擊工具欄上的搜索框
在搜索框中輸入文本“sif_2001”,查找與服務“sif_2001”相關的內容。
雙擊Type為Endpoint的[Offers]所在行,如圖6所示,在Detail View窗口可以看到服務“sif_2001”的提供者為CAMF。
雙擊Type為Endpoint的[Subscriptions]所在行,如圖7所示,在Detail View窗口可以看到服務“sif_2001”的消費者為ADAS。
圖6:服務sif_2001的提供者(Text Search)
圖7:服務sif_2001的消費者(Text Search)
- 解決方法2:
在Diagram View窗口中,點擊工具欄上的搜索框
點擊搜索框上設置按鈕,激活Extended Mode。
寫入文本“Offers~sif_2001 OR Subscriptions~sif_2001”,查找服務“sif_2001”的提供者或消費者。
雙擊Type為Endpoint的[Offers]所在行,如圖8所示,在Detail View窗口可以看到服務“sif_2001”的提供者為CAMF。
雙擊Type為Endpoint的[Subscriptions]所在行,如圖9所示,在Detail View窗口可以看到服務“sif_2001”的消費者為ADAS。
圖8:服務sif_2001的提供者(PMQL)
圖9:服務sif_2001的消費者(PMQL)
問題:節點ADAS訂閱了節點CAMF的哪些服務?
- 解決方法:
在Connections View中,點擊位于左側邊緣的分割器以展開Stop and Pass Filter區域。
在Stop and Pass Filter區域添加Pass Filter,并命名為“ADAS<->CAMF”。
選擇剛添加的過濾器“ADAS<->CAMF”,之后點擊圖標以添加一個AND條件。
選擇剛添加的AND條件行,之后點擊圖標,添加兩個Property Condition,分別設置條件為”Initiator Node = ADAS”以及”Addressee Node = CAMF”。
激活過濾器后,選中搜索結果,如圖10所示,即可在Detail View窗口看到ADAS訂閱的CAMF的服務為sif_2001。
圖10:ADAS節點訂閱CAMF節點的服務
問題:如何為Trace窗口創建過濾器,從而與Trace窗口聯合分析數據?
- 解決方法:
在Protocol Monitor中選擇要創建過濾器的特定元素,可以是各個視圖中的端點或連接。
在選中的元素上右擊選擇“Create Filter for Trace Window”,在彈出的配置對話框中,選擇要應用過濾器的Trace窗口。
配置Filter的類型以及名稱。
點擊Create之后,新的過濾器組將顯示在Trace窗口的Analysis Filter區域,如圖11所示,可用于對Trace窗口中的數據進行分析。
圖11:創建Trace窗口過濾器
04
結論和展望
Protocol Monitor的引入增強了CANoe/CANalyzer的分析功能。在特定的應用場景下,Protocol Monitor能加速和簡化問題定位、數據分析和通信監控的過程,為開發和測試人員提供更高效的工作方式。
未來Protocol Monitor的功能也將逐步擴展,以滿足越來越多的新需求。例如,支持更多的以太網協議,并擴展到支持其它總線系統的協議,以及更多基于各種協議校驗規則的錯誤檢測功能。此外,Vector還計劃支持通過Protocol Monitor生成關于網絡內容的詳細報告,以使其成為更為全面的可視化網絡分析工具。
-
以太網
+關注
關注
40文章
5419瀏覽量
171598 -
網絡
+關注
關注
14文章
7553瀏覽量
88729 -
車輛
+關注
關注
0文章
82瀏覽量
15128
發布評論請先 登錄
相關推薦
評論