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