車用總線技術CAN接口——實時串流傳輸CAN總線和OBD2數據

Advertisements

車用總線技術 | CAN接口——實時串流傳輸CAN總線和OBD2數據

蓋世汽車快訊 童郜 2021-06-23 07:49:06

您是否需要低成本的CAN接口將CAN / OBD2數據流傳輸到PC嗎?在本簡介中,我們將展示虹科CLX000如何讓您通過USB實時傳輸數據,以及相關用例。并且我們還會解釋為什么與Wireshark集成后使CLX000成為最流行的CAN接口之一。

1、CAN / OBD2串流傳輸如何工作?

使用CLX000,可以從任何基于CAN的應用場景(汽車,卡車,輪船,機器等)中串流式傳輸CAN總線數據。下面以汽車串流式傳輸為例。

傳輸原始CAN / OBD2數據涉及4個步驟:

1、配置CLX000(例如,請求OBD2 PID)

2、通過OBD2適配器將CLX000連接到汽車

3、通過USB線將CLX000連接到PC

4、通過免費軟件開始串流式傳輸

有關詳細信息,可以查看CLX000簡介。

2、使用CLX000和Wireshark進行數據串流傳輸的四大好處

使用CLX000和Wireshark進行CAN / OBD2數據串流傳輸具有以下優點:

2.1 快速逆向工程

CLX000可用作Wireshark中的“ CAN嗅探器 ”,用于執行快速反向工程,例如專有的CAN參數或OBD2 PID。

2.2 實時問題診斷

通過Wireshark中的實時數據流,可以對數據進行過濾和著色以快速放大特定模式然后進行快速診斷。

2.3 實時查看物理值

Wireshark支持對數據進行實時OBD2和DBC(例如J1939)解碼,從而簡化了對卡車和汽車等的實時分析。

2.4 通過圖像立即反饋

可以繪制物理值圖像,從而以圖形方式顯示速度/ RPM使其更容易查看物理值的變化。

3、CLX000 CAN / OBD2記錄器和接口

CLX000是一款低成本CAN總線數據記錄器和接口,具有強大的功能,主要有以下六個功能及特點:

3.1 即插即用

兩分鐘內完成配置,通過CAN連接器供電,自動檢測比特率。

3.2 獨立設備

將CAN數據記錄到8-32GB SD卡——無需PC

3.3 免費軟件

配置CLXOOO,記錄數據并轉化數據文件

3.4 實時傳播

在Wireshark中輕松串流式傳輸原始數據以及DBC轉換的CAN / OBD2數據

3.5 緊湊

小巧易攜帶(6.6 x 4.3 x 2.4 CM),重量<50g

3.6 低成本

CLX000的性價比高

以下是CLX000的圖片:

4、示例:在Wireshark中串流式傳輸CAN / OBD2數據

下面將說明一下數據流是以什么形式呈現的:

4.1 串流傳輸原始CAN數據

將CLX000連接到汽車,可以通過USB實時傳輸原始CAN數據,然后通過CANvas打開Wireshark,以查看原始輸入所顯示的CAN幀,其中包括時間戳(timestamp)、CAN ID和數據字節。

4.2 解碼OBD2數據

如果將CLX000設置為請求OBD2 PID,則可以在原始數據流中查看汽車OBD2 PID響應(通常是CAN ID 7E8)。通過右鍵單擊并選擇'Decode As / OBD-II’,則可以將原始的OBD2數據轉換為易于理解的格式,例如實時顯示車速。

5、8個實用的Wireshark功能

下面我們列出了使用CLX000和免費插件Wireshark中一些強大的可用功能:

5.1 加載CAN DBC文件

利用Wireshark插件,可以使用自己的DBC文件(包括支持J1939 DBC文件)實時轉換原始CAN數據。這是一項強大的功能,因為這將能夠使我們實時分析/繪制汽車,卡車,拖拉機或機器上的物理值。有關更多信息,可以參考Wireshark DBC轉換指南。

5.2 啟用“CAN live”跟蹤視圖

對于逆向工程和汽車黑客,Wireshark插件啟用了功能強大的“ CAN Live”跟蹤視圖。這將為每個CAN ID顯示一行,并實時為每個ID的數據字節著色。它提供了一個極好的工具,可將CAN ID連接到物理事件,并識別專有CAN總線信號的位或者字節位置。有關更多信息,可以參考CAN總線嗅探器簡介。

5.3 自定義列

我們可以輕松調整Wireshark的列結構。要刪除列,只需右鍵單擊并單擊“Remove Columns”。要將數據字段添加為列,請在詳細信息窗格中右鍵單擊它,然后選擇“Apply as Column”。這對于添加具有OBD2 / DBC物理值、最小值、最大值、名稱等的列十分有用,我們也可以將列重命名為“Column Preferences”。

5.4 繪制數據圖像

要以圖形方式實時繪制轉換后的OBD2數據,可以使用OBD2解碼數據并轉到“Statistics/IO Graph”,最多可以添加5個圖表。首先,在X軸下啟用“'View as time of day”。在Y軸下,將單位設置為“"Advanced...”。在計算字段中,選擇“ AVG(*)”,然后在右側的字段中輸入“ obd-ii.mode01_”,這樣會打開一個下拉列表,從中可以選擇各種模式和參數。選擇一個后,點擊“Graph”將其繪制。這也適用于以下情況:例如在J1939 DBC文件中,可以在其中實時繪制轉換后的CAN總線信號。

5.5 數據著色

還可以輕松添加條件格式。例如,如果需要快速發現串流中特定CAN報文或物理值,此時著色功能非常好用。通過右鍵單擊窗口中間部分的字段,可以將所有出現的事件涂成紅色,其中特定的CAN消息包含特定范圍的數據字節。如下圖所示,在OBD2數據中,當“Converted value”超過50 km / h時,可以將車速涂成黃色,而當超過60 km / h時,則將其涂成紅色。

5.6 添加過濾器

過濾器能夠更好的讓我們控制數據流。要添加過濾器,最快的方法是右鍵單擊詳細信息窗格中的數據字段,然后選擇“'Apply as Filter”。這將更新左上方的文本字段,接下來就可以編輯詳細信息以適合我們的需求。假設我們正在串流式傳輸OBD2的“requests”(ID 7DF)和“responses”(ID 7E8),并且只想看響應報文?只需在過濾器中寫入“ can.id == 0x000007e8”。它會變成綠色,表明它是有效的,可以單擊Enter,使用“Expression...”按鈕,當然還可以使用各種關系運算符構建更高級的過濾器。

5.7 以自定義格式導出數據

利用Wireshark,可以輕松地以各種自定義格式(包括* .CSV,*。TXT,*。JSON,*。PCAP,*。C,*。PS等)保存數據流。此外,可以將過濾器應用于數據,并且僅保存可見的選擇。

5.8 加載CLX000日志文件

使用該插件,可以加載以獨立模式(例如沒有PC的時候)記錄的CLX000日志文件。這讓我們可以使用CLX000日志文件上的所有Wireshark功能,包括OBD2 / DBC轉換。這個功能結合導出為自定義格式的功能也非常有用。

本文地址:https://auto.gasgoo.com/news/202106/23I70260643C103.shtml

0

好文章,需要你的鼓勵

來源:蓋世汽車

大家都在玩的社團☞熱門大爆料☜加入社團和大家一起交流

Advertisements