汽車can總線協議usb轉canj1939?

為做汽車電子及車輛故障診斷的用戶,最新開發OBD接口CAN分析儀產品,用戶可以將汽車OBD的CAN數據通過軟件在電腦中顯示出來。產品採用一體化設計、即插即用,極大的方便了對汽車CAN數據的分析與調試。

工具/原料

OBD接口CAN分析儀

方法/步驟

對配套調試軟件進行全新升級,新增功能十分強大。

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

1. 功能特點

1.1 產品概述

USBCAN-OBD高性能 CAN 接口卡是與 USB2.0 總線全速規範兼容的,集成 1 路 CAN 接口的高性能型 CAN-bus 總線通訊接口卡。採用 USBCAN-OBD高性能 CAN 接口卡,PC 可 以通過 USB 總線連接至 CAN-bus 網絡,構成現場總線實驗室、工業控制、高性能小區、汽 車電子網絡等 CAN-bus 網絡領域中數據處理、數據採集的 CAN-bus 網絡控制節點。

USBCAN-OBD高性能 CAN 接口卡是 CAN-bus 產品開發、CAN-bus 數據分析的強大工 具;同時,具有體積小巧、即插即用等特點,也是便攜式系統用戶的最佳選擇。

USBCAN-OBD接口卡上自帶電氣隔離模塊,使接口卡避免由於地環流的損壞,增強系 統在惡劣環境中使用的可靠性。

USBCAN-OBD高性能 CAN 接口卡支持 Win2000/XP/Win7/Win8 等操作系統。USBCAN-OBD提供了統一的應用程序編程接口和完整的應用示範代碼,含 VC、VB、Net、Delphi、Labview 和 C++Builder 等開發例程示範,方便用戶進行應用程序開發。

USBCAN-OBD接口卡支持ECantools 通用測試軟件,可執行 CAN-bus 報文的收發和 監測等功能。

1.2 參數指標

 PC 接口符合 USB2.0 全速規範;

 支持 CAN2.0A 和 CAN2.0B 協議,符合 ISO/DIS11898 規範;

 集成 1路 CAN-bus 接口;

 CAN-bus 通訊波特率在 5Kbps~1Mbps 之間任意可編程;

 使用 USB 總線電源供電, (DC+5V,200mA);

 CAN-bus 接口採用電氣隔離,隔離模塊絕緣電壓:DC 1000V;

 最高接收數據流量:8000 fps(標準幀);

 支持 Win2000、WinXP、Win7 等 Windows 操作系統;

 支持 ECantools測試軟件;

 體積小巧,即插即用;

 尺寸:(長)85mm * (寬)43mm * (高)20mm。

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

1.4 典型應用

 CAN-bus 網絡診斷與測試

 汽車電子應用

 電力通訊網絡

 工業控制設備

 高速、大數據量通訊

2. 設備安裝

2.1 供電模式

USBCAN-OBD高性能 CAN 接口卡具有體積小巧、支持即插即用的特點。直接由PC 機的 USB 端口向 USBCAN-OBD接口卡供電。

2.1.1 USB總線供電模式:

USB 總線供電模式適合於大多數應用場合,例如,當 USBCAN-OBD接口卡是 USB 端 口連接的唯一設備時。

將 PC 與 USBCAN-OBD接口卡直接連接,由 USB 電纜向 USBCAN-OBD接口卡提供+5V 電源;此時,指示燈點亮,顯示紅色表示設備供電正常,燈顯示綠色表示設備驅動正常。

2.2 CAN-bus連接器

USBCAN-OBD接口卡集成1路CAN通道,可以用於連接一個 CAN-bus 網絡或者CAN-bus 接口的設備。CAN-bus 通道由1個16Pin的OBDII插拔式接線端子引出。接線的引腳定義如表 2.1 所示

汽車can總線協議usb轉canj1939 協議

2.3 信號指示燈

2.3.1 USBCAN-OBD信號指示燈

USBCAN-OBD接口卡有 1 個 雙色指示燈來指示設備的運行狀態。這個指示燈的具體指示功能見表 2.3,這個指示燈處於各種狀態下時,CAN 總線的狀態如表 2.4 所示。

汽車can總線協議usb轉canj1939 協議

USBCAN-OBD接口卡上電後,系統狀態指示燈變為紅色,表明設備已經供電,系統正在初始化;否則,表示存在系統電源故障或系統發生有嚴重的錯誤。

USB接口連接正常後,如您已安裝設備驅動,此時系統會自動調用驅動,如驅動安裝正確且正常,此時系統狀態燈變為綠色。當 USB 接口有數據在傳輸時,系統指示燈會閃爍。

當CAN端有信號傳輸時,此時系統指示燈會按接收頻率閃爍,如總線負載較高,則閃爍較快,如總線負載較低,則閃爍較慢。

汽車can總線協議usb轉canj1939 協議

2.4 系統連接

2.4.1 CAN總線連接

USBCAN-OBD接口卡和 CAN-bus 總線連接的時候,僅需要將 CAN_L 連 CAN_L,CAN_H

連 CAN_H 信號。

CAN-bus 網絡採用直線拓撲結構,總線的 2 個終端需要安裝 120Ω 的終端電阻;如果節 點數目大於 2,中間節點不需要安裝 120Ω 的終端電阻。對於分支連接,其長度不應超過 3 米。CAN-bus 總線的連接見圖 2.1 所示。

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

2.4.3 USB總線連接

USBCAN-OBD接口卡的 USB 端口符合 USB2.0 全速協議規範,可以與具有 USB1.1 標 準、或 USB2.0 標準的 PC 機連接通訊。

USBCAN-OBD接口卡與 PC 的連接方式有以下兩種:

通過隨機附帶的 USB 電纜,直接連接 PC 的 USB 端口;此時,由 PC 的 USB 端口向 USBCAN-OBD接口卡提供+5V 電源,採用總線供電模式。

USBCAN-OBD接口卡通過外置的 USB 總線集線器連接到 PC 機;如果使用總線供電方式的 USB 集線器,必須保證電源達到5V,200mA電流。

3. 驅動程序安裝

下面以裝有 WinXP 操作系統的 PC 為實例,說明如何正確地安裝一個 USBCAN-OBD系 列工業級高性能 CAN 接口卡設備。

USBCAN-OBD的驅 動程序和 其它系列USBCAN 的驅動程序是一樣的,直接使用 GC-Tech USBCAN的驅動程序即可。

3.1 驅動安裝

Windows XP 能自動檢測新設備(如圖 3.1 所示)並激活 “找到新的硬件嚮導”程序來 安裝即插即用設備驅動程序(如圖 3.2 所示)。如果此時系統沒有提示發現新設備,請檢查 硬件是否安裝正確。

汽車can總線協議usb轉canj1939 協議

選擇“從列表或指定位置安裝”,單擊“下一步”繼續。

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

通過“開始→控制面板→系統”檢查設備的安裝情況。選擇“硬件”標籤,然後單擊“設 備管理器”按鈕。

3.2 卸載設備驅動

您可以通過“開始→控制面板→系統”卸載設備驅動。選擇“硬件”標籤,然後單擊“設 備管理器”按鈕。

將鼠標移動到“USBCAN-I/II+”上,單擊鼠標右鍵,在彈出菜單上選擇“卸載”按鈕。

在“確認設備刪除”對話框中點擊“確定”按鈕。USBCAN-I/II+的驅動將會被卸載。“設 備管理器”會自動刷新並顯示該設備已經被移除。

4. 設備尺寸

USBCAN-OBD高性能 CAN 接口卡的三維尺寸:

(長)85mm * (寬)43mm * (高)20mm

5. 常見問題

1. 在 ECantools 測試軟件下,為何顯示“找開設備失敗”? 可能產生此類故障的原因是:USBCAN-OBD設備驅動沒有正常安裝。在 PC 控制面板的“系統”中檢查 USBCAN設備屬性,看看有沒有“!”或“?”在 USBCAN設備前面;若有,則檢查硬件/軟件衝突,並重新安裝 USBCAN 設備驅動程序。

2. 是否一定需要使用 120Ω 終端匹配電阻?

建議 120Ω 終端匹配電阻用於吸收端點反射,提供穩定的物理鏈路。當進行單節點的自 發自收測試時必須連接該 120Ω 的終端電阻構成迴路,否則無法進行自發自收測試。 USBCAN-OBD高性能 CAN 接口卡內部已經連接有 120Ω的終端電阻。

3. 一臺計算機能否安裝多塊 USBCAN-OBD接口卡? 舊版的接口不支持多卡同時操作,但是目前的 USBCAN-OBD接口卡,支持多達 8 個同一型號的 PC-CAN 接口卡同時操作。

4. USBCAN-OBD接口卡最高的數據轉換率是多少?

USBCAN-OBD接口卡的單一 CAN 通道最高支持8000 fps 的 CAN 總線數據轉換,這裡 提到的幀是指標準幀8個數據的數據幀,如果是小於8字節數據或者遠程幀可能會更快。另外,最高數據流量 會受 PC 性能的限制。

5. 為何 CAN 狀態指示燈不亮?

因為 USBCAN-OBD接口卡的所有操作是受 PC 機控制的,只有 PC 機發送了啟動 CAN

通訊的命令後,CAN 狀態指示燈才會有意義。

6. 為何調用接口函數時系統非法操作? 首先在使用接口函數時請認真閱讀函數說明,保證輸入參數合法,特別注意指針(地址)的傳遞,或參照提供的例子程序,倘若問題還是未能解決,可聯繫我們的技術支持。

7. PC-CAN 接口卡的通訊波特率如何設置? 錯誤!未找到引用源。提供一組常用的波特率的設置值,若要使用其他的波特率,請參照《CAN-bus 通用測試軟件及接口函數庫使用手冊》自行計算。需要注意:USBCAN-OBD接口卡的 CAN 控制器使用24MHz 時鐘,用戶自定義波特律時要根據該時鐘頻率進行計算。

8. 系統進入待機或睡眠狀態是否影響接收? 會有影響。這時所有處理將停止,最大可能導致硬件接收緩衝溢出錯誤。若有程序打開設備將嘗試阻止系統進入待機或睡眠狀態,從而保證系統正常工作。使用 USBCAN-OBD接 口卡時,請禁止系統的待機和睡眠功能。

15

USBCAN-OBDi

USBCAN 系列工業級 PC-CAN 接口卡

瀋陽廣成科技有限公司

產品數據手冊 Shenyang Guangcheng Technology CO., LTD.

9. 如何處理應用中的錯誤?

錯誤主要分為函數調用錯誤和 CAN-bus 通訊錯誤兩種。 函數調用錯誤一般由參數錯誤引起,如:設備號超出範圍,類型號錯誤等,用 Win32函數 GetLastError 返回的錯誤號是 87,還有的是對未打開的設備進行操作,實際是對一個非法句柄操作,根據具體函數調用情況都有相應的 Win32 標準錯誤碼提供,用戶可以使用GetLastError 進行錯誤分析,這部分除錯工作一般應該在設計時完成。

對於 CAN-bus 通訊錯誤,一般由 CAN 網絡引起,也可能因用戶設置不當而引起,如: 波特率設置不一致、沒有啟動 CAN 控制器便調用發送函數等。大部分錯誤已經在設備驅動 中作了簡單的處理,如果要進行更深層次的錯誤分析和處理,可以調用 VCI_ReadCANStatus 函數。

另外需要注意的是數據溢出中斷錯誤,它的產生有兩種可能:(1) 軟件接收緩區衝溢出。 這說明應用程序無法及時處理接收到的數據,這時用戶應該優化應用程序或更改通訊策略。 (2)硬件接收緩衝區溢出。產生這種錯誤是由於接收端 PC 中斷延遲太大而引起的。只能通過 提升計算機性能或協調其餘節點適當降低發送速度來解決。

10. 打開關閉設備要注意哪些事項?

USBCAN-OBD接口卡提供 1 個 CAN 端口,用戶能夠在同一程序中操作不同的端口。 USBCAN-OBD 接口卡不允許共享方式打開設備,同一個設備不可被不同進程通過調用 VCI_OpenDevice 函數多次打開。VCI_OpenDevice 和 VCI_CloseDevice 函數一般在應用程序 初始化和退出時只需要調用一次。

當關閉設備時若能當前端口不再使用,應該先調用 VCI_ResetCAN 函數使當前端口脫離CAN 總線,設備驅動程序只會在最後一個設備句柄關閉時才自動調用 VCI_ResetCAN 退 出 CAN 總線的連接。

11. 如何使用中斷方式操作通訊卡?

USBCAN-OBD接口卡不提供直接操作中斷的接口,因為中斷已經在驅動程序中處理了。 需要在應用程序中操作中斷的多數原因是:程序不知道數據何時能到達設備,需要得到一個 接收消息的觸發才能從緩衝讀取數據。解決這個問題的一般手段是使用多線程(或多任務)。 即啟動一個新的線程,在線程中循環調用 VCI_Receive 函數來查詢接收緩衝。VCI_Receive 內部已實現了阻塞機制,在緩衝裡沒有數據時會掛起調用線程,這時不會佔用 CPU 的時間, 應用程序仍然可以處理其他事務。

12. 如何更好的使用 VCI_Transmit 發送函數?

USBCAN-OBD接口卡的驅動提供約 128 幀發送緩衝 FIFO,每次 VCI_Transmit 調用最多發送約 128 幀數據。發送設備的發送速度由當前計算機軟硬件性能決定,一般連續發送速度在 2000 fps 左右(標準數據幀 11Bytes,1Mbps),若發送速度過快將有可能使遠端接收設備數據溢出而失去響應,這樣用戶可在應用編程中適當添加延時以降低發送速度。

發送過程中每一幀都有超時限制,單幀發送時超時時間約 2 秒,一次發送多幀時最後一 幀發送超時為 2 秒,其餘為 1 秒。發送超時一般由於 CAN 總線繁忙且當前節點優先級較低時發生,並不是函數調用或通訊錯誤,用戶可以編程實現重發(一般中低速網絡極少發生發 送超時事件)。因此,在系統設計時注意保證 CAN 總線佔用不應該超過總線

16

USBCAN-OBDi

USBCAN 系列工業級 PC-CAN 接口卡

瀋陽廣成科技有限公司

產品數據手冊 Shenyang Guangcheng Technology CO., LTD.

容量的 60-70%。

13. 如何更好的使用 VCI_Receive 函數?

設備驅動提供 100000 幀軟件接收緩衝區,這為應用編程人員提供了充足的反應處理時 間。當軟件接收緩衝數據溢出時設備驅動程序將調用 VCI_ResetCAN 復位 CAN 總線,同時 置位 CAN status 的數據溢出中斷標誌位,注意軟件緩衝溢出和 CAN 控制器硬件緩衝溢出都 是使用該標誌位。

接收函數提供 Wait 參數適合用於多線程編程,函數內部封裝一個阻塞函數,其參數 Wait 含義如同 Win32 的 WaitForSingleObject 的 dwMilliseconds 參數(請參考 Win32API 說明),它 為 VCI_Receive 指定一個超時返回時間,單位為毫秒。

當 Wait 為 0 時函數調用時立即返回當前成功讀取到的幀數,若接收緩衝為空則返回 0。 當 Wait 非 0 時,若函數調用時接收緩衝中已經有數據則馬上返回成功讀取的幀數,若這時 接收緩衝為空,函數將等待一個指定的超時到達或接收到數據才返回成功接收的幀數。當 Wait 為 0xFFFFFFFF 時為無限等待直到有數據接收到,建議不要把 Wait 設得過大,無限等 待更應該注意。

nFrames 等於 0 時函數實際是一個通知消息返回,不要求讀接收緩衝區,是一個特殊的 技巧性用法。注意:若在主線程中調用 VCI_Receive 函數並且 Wait 非 0 則有可能引起應用 程序暫時性的失去響應。若通過查詢方式接收,一般應該把 Wait 設為 0。

17

USBCAN-OBDi

USBCAN 系列工業級 PC-CAN 接口卡

瀋陽廣成科技有限公司

產品數據手冊 Shenyang Guangcheng Technology CO., LTD.

6. 檢查和維護

USBCAN-OBD接口卡的主要電氣部件都是半導體元件,儘管它有很長的壽命,但在不 正確環境下也可能加速老化。應該進行定期檢查,以保證保持所要求的條件。推薦每 6 個月 到一年,至少檢查一次。在不利的環境條件下,應該進行更頻繁的檢查。

如果在維護過程中遇到問題,請閱讀下面的內容,以便找到問題的可能的原因,如表

6.1 所示。如果仍無法解決問題,請聯繫瀋陽廣成科技有限公司。

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

方法/步驟2

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

汽車can總線協議usb轉canj1939 協議

注意事項

需要更詳細的內容,請與我們工程師直接聯繫!

相關問題答案