【導讀】車載網絡 (IVN) 能夠讓微控制器和發動機控制單元 (ECU) 處理器與傳感器、執行器、指示器、顯示器之間實現相互通信。控制器區域網絡 (CAN) 總線便是經典的 IVN 之一。CAN 問世至已有近三十年,并且仍在繼續發展。
車載網絡 (IVN) 能夠讓微控制器和發動機控制單元 (ECU) 處理器與傳感器、執行器、指示器、顯示器之間實現相互通信。控制器區域網絡 (CAN) 總線便是經典的 IVN 之一。CAN 問世至已有近三十年,并且仍在繼續發展。
正如 ISO11898 標準中描述的那樣,經典 CAN 總線的數據速率高達 1 Mbps,并使用單根雙絞線處理中等帶寬需求。CAN 總線像所有有源網絡一樣將繼續發展以滿足行業需求。例如,CAN 靈活的數據速率 (CAN FD) 將數據率提高到 5 Mbps。最新的 CAN 標準是超長 CAN (CAN XL),其運行速度可達 10 Mbps 或更高;且兩者都向后兼容傳統 CAN。
CAN 網絡的物理層 (PHY) 布線由 CAN 節點之間的雙絞線完成(圖 1)。
圖 1:CAN 網絡采用端接式雙絞線布線,且節點采用垂線連接方式。每個節點都有一個 CAN 收發器和一個具有 CAN 控制器功能的微控制器單元 (MCU)。(圖片來源:Texas Instruments)
CAN 網絡的總線布線要求在總線兩端分別端接 120 Ω 電阻器,以最大限地度減少反射。總線速率取決于 CAN 的具體實施,并受到網絡實際長度的影響。網絡越長,能支持的最大數據速率就越低。1 Mbps 的數據率適合 40 m 或更短的網絡長度。
在通信過程中,使用雙絞線中的兩根線實現差分,指定為 CANH 和 CANL:要在端接雙絞線的 60 Ω 差分負載上實現 1.5 V 差分信號,需要使用 CAN 收發器驅動器。信號電平被稱為顯性電平和隱性電平。顯性電平(“1”)具有大于或等于 0.9 V 的差分電壓。隱性電平(“0”)具有小于 0.5 V 的差分電壓(圖 2)。
圖 2:所示為 CAN 總線 CANH 和 CANL 導線的差分信號定義。(圖片來源:Texas Instruments)
總線驅動器能夠自動將總線驅動到顯性狀態,而返回到隱性狀態則依賴于通過端接進行的電阻放電。它還允許顯性位覆蓋隱性位狀態。此功能用于確認和總線仲裁。
測試 CAN 總線
可用示波器測試 CAN 總線的 PHY。確保示波器和相關探頭的帶寬大約是串行數據信號的時鐘速率的 5 倍。如果考慮整個的 CAN 總線數據速率范圍,那么 CAN XL 的數據字段的最大速率是 20 Mbps。這表明我們應該使用一個帶寬超過 100 MHz 的示波器。讓我們選用 Teledyne LeCroy 的 HDO4024A 示波器。這是一款帶寬為 200 MHz 的四通道示波器。
連接 CAN 總線
用探頭將示波器與 CAN 總線連接。可以用示波器附帶的兩個 10:1 高阻抗探頭。這樣,就可以查看差分組件,即 CANL 和 CANH。為了查看差分信號,使用示波器的差分數學函數,用 CANH 減去 CANL(圖 3)。
圖 3:CANH(頂部軌跡),CANL(中心軌跡)以及 CAN 差分信號(底部軌跡)。差分信號是用示波器的差分數學函數計算出來的。(圖片來源:Teledyne LeCroy)
一個更好的方法是使用類似 Teledyne LeCroy ZD200 的差分探頭。ZD200 的帶寬為 200 MHz,差分電壓范圍為 ±20 V,共模電壓范圍為 ±60 V。該探頭有兩個輸入:非反相 (+) 輸入連接到 CANH,而反相輸入 (-) 則連接到 CANL。因為我們使用的是差分探頭,所以只需一個示波器通道(圖 4)。這表示一個持續時間為 100 ms 的 CAN 信號,且包含大約 20 條信息。底部是一個水平擴展的縮放軌跡,顯示了較長時間采集過程中的單條信息。
圖 4:所示為一個持續時間為 100 ms 的 CAN 信號,通過差分探頭采集了大約 20 條信息。水平擴展的縮放軌跡(底部)顯示了較長時間采集過程中的單條信息。(圖片來源:Art Pini)
差分探頭的另一個優點是,能夠削弱兩個輸入端共有的任何噪聲或瞬態,從而提高測量信噪比 (SNR)。這在充滿電噪聲的車輛環境中尤為重要。
CAN 協議
CAN 總線信息遵守標準化協議,允許網絡在需要時進行數據和指令尋址(圖 5)。
圖 5:CAN 協議提供了一個在總線上傳輸數據并驗證其是否被接收的架構。該協議還提供錯誤檢查。(圖片來源:Texas Instruments)
在 CAN 總線方面,Teledyne LeCroy 示波器提供了一個讓人喜歡的、非常有用的選項:CAN 和 CAN FD 觸發和解碼軟件。HDO4K-CAN BUS TD 示波器軟件適用于傳統 CAN 網絡,而 HDO4k-CAN FD TD 選項適用于 CAN FD 總線。利用這些選項,示波器可在出現特定的 CAN 消息內容時觸發,包括消息 ID、ID 加數據內容、遠程消息、錯誤事件或者所有消息。主要功能是對信息進行解碼——就像一臺協議分析儀(圖 6)。
圖 6:HDO4K-CAN BUS TD CAN 觸發和解碼選項會讀取 CAN 信息,并以不同顏色覆蓋這些信息,以顯示不同的字段及其內容。(圖片來源:Art Pini)
每個信息字段都通過覆蓋特定的顏色及文本標簽來識別。每條信息也被列在位于所顯示波形下方的表格中。點擊表格中的任何條目,相關的波形便在縮放軌跡中顯示,以便仔細檢查。
點擊表格的標題,用戶可以搜索或篩選該字段內符合特定條件的表格條目,并只顯示需要的條目。例如,通過選擇 ID 字段,只顯示具有特定 ID 或特定 ID 范圍的條目。
通過選擇符號查看,示波器將使用行業標準的數據庫 CAN (DBC) 文件,將十六進制字段條目轉換成描述每個字段的純語言文本(圖 7)。
圖 7:符號解碼將原始十六進制數據轉換成純文本,以幫助解釋 CAN 信息中包含的數據。(圖片來源:Art Pini)
例如,擴展發動機冷卻液的消息內容,以顯示數據包括了冷卻液溫度、壓力和液位信息。
解碼選項還顯示了填充位的存在。如果位序列包含五個或更多個相同狀態的位,則控制器將會插入一個相反狀態的填充位,以確保信號中有足夠多的邊沿來保持同步。這些填充位會被接收器移除,以確保數據內容正確無誤。在前面兩幅圖中,用 SB 標簽顯示這些填充位。
結語
盡管 CAN 總線技術已經很成熟,但仍在不斷發展和適應,以滿足汽車工程師的需求。示波器也是如此。設計人員可以使用配有適當探頭的示波器和可選的觸發和解碼軟件,將其作為一種有效的工具來簡化 CAN 總線網絡的測試和故障查找。
(來源:作者:Art Pini)
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: