詳解CAN物理層調(diào)試基礎(chǔ)知識及舉例
CAN物理層基礎(chǔ)知識
本文引用地址:http://www.ex-cimer.com/article/247725.htm一旦完成所有基礎(chǔ)檢查,就可以檢查CAN物理層的核心CAN總線了。收發(fā)器的兩個關(guān)鍵組件便是接收器和發(fā)射器。發(fā)射器被稱作CAN的驅(qū)動器。通過VCC/2共模點(約2.5V)對CAN物理層偏置,見圖4。
圖4:簡易CAN總線收發(fā)器
發(fā)收器將單端數(shù)字邏輯信號、TXD(或者D)和RXD(或者R)轉(zhuǎn)換為差分CAN總線所要求的電平。當(dāng)總線為顯性時,在接收節(jié)點,其CAN標(biāo)準定義的差分電壓(Vdiff(D))大于1.2V,并且處于邏輯低狀態(tài)。當(dāng)總線為隱性時,在接收節(jié)點,其CAN標(biāo)準定義的差分電壓(Vdiff(R))為 -120mV≤(Vdiff(R))≤ 12 mV,并且處于邏輯高狀態(tài)。兩種總線狀態(tài)均通過收發(fā)器內(nèi)共模網(wǎng)絡(luò)偏置。圖5顯示了典型的總線層級。
圖5:CAN總線狀態(tài)
對總線進行調(diào)試時,最為有用的工具之一便是示波器。盡管單通道示波器便可看到信號,但最好還是用雙或者四通道。理想情況下,可同時看到TXD、RXD、 CANH和CANL,以確保收發(fā)器和總線性能如預(yù)期。進行初次調(diào)試時,只需一個低帶寬示波器,因為標(biāo)準CAN被限定在1Mbps。(在不遠的將來,在引入擁有靈活數(shù)據(jù)速率的CAN以后,這種情況將有所改變。)如果該節(jié)點正發(fā)送數(shù)據(jù)比特流,則可在TXD輸入端看到輸入數(shù)據(jù)。差分CAN總線引腳(CANH/CANL)存在傳輸延遲,同時還存在RXD輸出傳輸延遲。在CAN中,這些延遲均為循環(huán)時間,或者說循環(huán)延遲。如果該節(jié)點正在接收,則TXD 閑置;但是總線和RXD輸出會顯示CAN幀。
為了演示基礎(chǔ)CAN總線工作情況,圖6顯示了一個示波器,它擁有兩個模擬通道和兩個數(shù)字通道,以及一個函數(shù)生成器。CAN總線由兩個 SN65HVD255D EVM組成,每個在總線上的端接電阻均為120Ω。示波器函數(shù)生成器連接至頂部EVM的TXD輸入引腳。圖7中,數(shù)字通道1顯示了CANH信號(藍色);模擬通道2顯示了CANL信號(黃色);數(shù)字通道2顯示了RXD信號(綠色)。盡管該示波器的精確度很低,但這個簡單的測試表明,該CAN物理層的表現(xiàn)在總體上符合我們的預(yù)期。
圖6:兩個EVM的CAN總線調(diào)試
圖7:TI CAN EVM信號
圖 8顯示了該示波器和用于調(diào)試TI CAN演示系統(tǒng)的探針裝置。該節(jié)點使用菊形鏈,并使用CANopen D-SUB 9針連接器。一個總線外接頭連接器位于圖8左上方。利用它,我們可以輕松地連接模擬示波器探針至CAN總線的CANH和CANL引腳以及GND。由于探針過大,無法抓住中間CAN節(jié)點的TXD和RXD IC引腳,因此可通過連接至探針的芯片鉤和一小段電纜,將這些引腳連接至示波器的數(shù)字通道。另一種方法是,給每個收發(fā)器焊接一小段線,這樣示波器探針便可更容易地連接。
圖8:TI CAN演示系統(tǒng)調(diào)試
圖 9顯示了示波器獲得的CAN信號詳細情況。盡管這些信號的分辨率和精度均不高,但它們可以幫助確定需要了解CAN節(jié)點工作的那些信息。中間節(jié)點的TXD觸發(fā)了示波器;CANH和CANL信號差異符合預(yù)期;在CAN構(gòu)架端可清楚地看到高差分電壓的收到確認(ACK)位。該高壓為同時并行產(chǎn)生ACK位的多個 CAN節(jié)點的結(jié)果。輕松找出ACK位的另一個方法是其存在于RXD信號中而非TXD信號中,這意味著它由另一些節(jié)點產(chǎn)生。
圖9:TI CAN演示系統(tǒng)的信號
CAN調(diào)試例子
圖10顯示了一個CAN演示系統(tǒng),在PCB右邊,連接至菊形鏈輸出的CANH線路被損壞。出現(xiàn)這種情況的原因是,系統(tǒng)后面的一個固定螺栓摩擦PCB,而在幾年的時間里該系統(tǒng)被運輸至世界各地。當(dāng)系統(tǒng)通過菊形鏈總線接口連接至其他CAN節(jié)點時,便故障無法工作。
圖10:帶有損壞CANH線路的CAN演示系統(tǒng)
圖11所示CANH信號表明了該損壞PCB線路的效果。另外,DMM連續(xù)性檢查也可證實該開路。
圖11:PCB上CANH線路遭損壞的TI CAN信號
圖 11還突出詳細顯示了CAN幀的另一個重要部分,即ACK位。示波器使用單一模式,在某個單比特發(fā)現(xiàn)觸發(fā)器時,其在右手節(jié)點的TXD引腳上被觸發(fā)。該單比特為這一節(jié)點產(chǎn)生的ACK位,目的是確認接收到一個有效的CAN幀。所有接收節(jié)點確認收到發(fā)送節(jié)點的CAN幀。相比在TXD上看到的發(fā)送ACK位,總線上所看到的ACK位的位時間稍長。這是同時發(fā)送ACK位的多個節(jié)點的假象。影響這種長位時間的一些因素包括:通過線纜的5ns/m延遲、三個CAN節(jié)點之間的時鐘計時漂移以及同時發(fā)送一個ACK位的兩個節(jié)點所產(chǎn)生的高差分電壓。如果這些因素使ACK位(空檔)變得更長,并在ACK分隔符內(nèi)保持顯性,則其可能引起CAN誤差幀。
CAN總線調(diào)試的另一個例子是,在某個系統(tǒng)中,只有非常慢的CAN數(shù)據(jù)速率(比特計時)才會起作用。把一個示波器連接至TXD引腳,在TXD輸入端顯示出非常慢的上升時間,如圖12所示。1Mbps的CAN數(shù)據(jù)速率下,9.6μs計時延遲相當(dāng)于10比特。它的根本原因是:我們正使用一個具有開路漏極的微處理器來驅(qū)動收發(fā)器的TXD引腳。在這種情況下,沒有真正的邏輯高電平驅(qū)動。僅有CAN收發(fā)器的弱內(nèi)部上拉正驅(qū)動TXD引腳高,因此它的RC時間常量非常長。通過在TXD引腳上添加一個上拉電阻器,便可輕松解決這個問題。
圖12:TXD引腳上慢上升時間例子
結(jié)論
本文介紹的CAN物理層基礎(chǔ)和調(diào)試舉例,應(yīng)該讓您不那么懼怕進入CAN世界了吧。利用本文提供的其他一些參考資料以及相應(yīng)的數(shù)據(jù)表,設(shè)計人員應(yīng)該可以馬上讓其CAN系統(tǒng)正常運行了。
電容器相關(guān)文章:電容器原理
萬用表相關(guān)文章:萬用表怎么用
上拉電阻相關(guān)文章:上拉電阻原理 雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
評論