CAN物理層調試基礎知識及舉例
控制器局域網(CAN)標準不斷發展,正用于車載和工業網絡之外的許多新應用。支持它的微處理器變得普遍且價格低廉,并且開源協議棧讓其非常容易訪問,同時也容易添加至新系統。有許多CAN板可用于BeagleBone (Capes)、Slaris (BoosterPacks)、Arduino (Shields)和其他微處理器開發平臺。當設計人員的系統上電卻不能工作時,應該怎么辦呢?本文為您介紹一種對CAN物理層進行調試的較好工程方法。我們將介紹基礎調試步驟,并說明一個CAN物理層應有的性能,以及找出問題的一些小技巧。
調試基礎知識
ISO11898-2和ISO11898-5規范詳細說明了高速CAN物理層即收發器。掌握CAN物理層的基礎知識以后,利用簡單的調試工具便可迅速地找出常見問題。所需的基本實驗室工具為示波鏡、數字萬用表(DMM)和一個電源。如果想要深入了解問題,則需要更高精度和更復雜的工具。這種問題已非本文討論的范疇,但是這里介紹的基礎知識可幫助確定問題所屬類別,以及進一步調試所需的其他工具。一個由 TI 組裝的CAN演示系統以及TI的SN65NVD255D評估模塊(EVM)1,用于演示硬件。另外,我們還使用了其他一些東西,例如:CAN連接器外接頭電纜和芯片鉤(抓住收發器引腳,讓其連接至電纜,以更加容易地連接示波器指針,如圖1所示)。
連接檢查
開始調試對話時,使用DMM確認印刷電路板(PCB)上連接如我們所預計的那樣—系統未上電。這看似很基礎,但令人吃驚的是,這個簡單的方法卻解決了許多簡單問題。所有人都會認為原理圖、布局和制造工藝沒有問題,但不幸的是,它們有時卻并不如人愿。子插件板位置錯誤、虛焊和錯誤端接或者連接的電纜,都是一些常見問題。利用DMM電阻設置來確認所有線路和連接均正確。圖2所示CAN應用的簡易原理圖用作參考。
表1列舉了需要檢查的PCB和網絡連接。收發器引腳和PCB上其他相關連接之間的電阻應為0Ω,除非設計使用表注里介紹的一些選項。例如,限流串聯電阻器、總線端接電阻器或者數字I/O的上拉或下拉電阻器。
表1:PCB和CAN收發器連接總結
總線端接檢查
大多數CAN標準均規定使用一條單雙絞線(有或者無屏蔽層),其特性阻抗(Z0)為120Ω。應使用與線路特性阻抗相同的電阻器來端接電纜兩端,以防止信號反射。端接可以為電纜上總線端的單120Ω電阻器,如圖3中CAN總線左側所示;或者,它也可以位于某個端接節點內,如圖3右側所示。不得將端接電阻從總線移除。如果CAN端接電阻負載不存在,則信號完整性會受到影響,并且無法滿足比特計時要求。如果總線共模電壓濾波和穩壓理想,則使用分裂端接,如圖2所示。在該圖中,每個電阻器均為60Ω,而分裂電容器范圍為1 nF到100 nF,具體取決于共模濾波器所需的頻率。2CANH到CANL的測得電阻應介于45Ω到65Ω之間,以達到CAN標準、兩個端接電阻器的并聯阻抗以及并聯節點輸入電阻的容差。應根據可能碰到的故障狀態(通常為系統接地的電源電壓)來確定端接電阻器的額定功率。
電源檢查
在系統上電以前,應首先檢查CAN收發器的一個或者多個電源。根據所使用的收發器類型,VCC應為3.3V或者5V。不管您相不相信,在一些情況下,丟失VCC確實為問題的根本原因。因此,我們應確保VCC存在于收發器的VCC引腳上。只需檢查DMM,便可確認有電源存在。必須注意電源短路接地(不幸的是,該引腳就在VCC引腳的旁邊)。
顯性狀態(60Ω總線負載時約為60mA)和隱性狀態(10mA)之間所需電流(ICC)差約為50mA。顯性總線狀態期間端接電阻差分電壓的產生需要這50mA的電流差,并且其隨總線負載變化而變化。DMM還可用在電流模式下,以驗證預計ICC電源電流。由于CAN的開關性質,DMM測得的電流偽平均讀取值。
建議本地旁路電容器至少應為4.7μF,以確保總線狀態轉換期間有足夠的電源緩沖。否則,收發器的突入電流可能會引起明顯的電壓電源紋波。我們可以使用一個示波器來驗證電源電壓是穩定,還是隨著總線狀態變化而變化。轉換期間,不要讓收發器“饑餓”。收發器受到其限流的保護,但是,當收發器試圖驅動總線至顯性狀態時,如果其中一條總線短路至電源或者接地,則電源電流*。如果電壓調節器無法提供這么多的電流,則電壓電平降至收發器規格范圍以下,甚至可能會低至觸發收發器的欠壓鎖定狀態。
CAN物理層基礎知識
一旦完成所有基礎檢查,就可以檢查CAN物理層的核心CAN總線了。收發器的兩個關鍵組件便是接收器和發射器。發射器被稱作CAN的驅動器。通過VCC/2共模點(約2.5V)對CAN物理層偏置,見圖4。
發收器將單端數字邏輯信號、TXD(或者D)和RXD(或者R)轉換為差分CAN總線所要求的電平。當總線為顯性時,在接收節點,其CAN標準定義的差分電壓(Vdiff(D))大于1.2V,并且處于邏輯低狀態。當總線為隱性時,在接收節點,其CAN標準定義的差分電壓(Vdiff(R))為-120mV≤(Vdiff(R))≤ 12 mV,并且處于邏輯高狀態。兩種總線狀態均通過收發器內共模網絡偏置。圖5顯示了典型的總線層級。