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