CAN物理層調(diào)試基礎(chǔ)知識及舉例
圖10:帶有損壞CANH線路的CAN演示系統(tǒng)
圖11所示CANH信號表明了該損壞PCB線路的效果。另外,DMM連續(xù)性檢查也可證實(shí)該開路。
圖11:PCB上CANH線路遭損壞的TI CAN信號
圖 11還突出詳細(xì)顯示了CAN幀的另一個(gè)重要部分,即ACK位。示波器使用單一模式,在某個(gè)單比特發(fā)現(xiàn)觸發(fā)器時(shí),其在右手節(jié)點(diǎn)的TXD引腳上被觸發(fā)。該單比特為這一節(jié)點(diǎn)產(chǎn)生的ACK位,目的是確認(rèn)接收到一個(gè)有效的CAN幀。所有接收節(jié)點(diǎn)確認(rèn)收到發(fā)送節(jié)點(diǎn)的CAN幀。相比在TXD上看到的發(fā)送ACK位,總線上所看到的ACK位的位時(shí)間稍長。這是同時(shí)發(fā)送ACK位的多個(gè)節(jié)點(diǎn)的假象。影響這種長位時(shí)間的一些因素包括:通過線纜的5ns/m延遲、三個(gè)CAN節(jié)點(diǎn)之間的時(shí)鐘計(jì)時(shí)漂移以及同時(shí)發(fā)送一個(gè)ACK位的兩個(gè)節(jié)點(diǎn)所產(chǎn)生的高差分電壓。如果這些因素使ACK位(空檔)變得更長,并在ACK分隔符內(nèi)保持顯性,則其可能引起CAN誤差幀。
CAN總線調(diào)試的另一個(gè)例子是,在某個(gè)系統(tǒng)中,只有非常慢的CAN數(shù)據(jù)速率(比特計(jì)時(shí))才會(huì)起作用。把一個(gè)示波器連接至TXD引腳,在TXD輸入端顯示出非常慢的上升時(shí)間,如圖12所示。1Mbps的CAN數(shù)據(jù)速率下,9.6μs計(jì)時(shí)延遲相當(dāng)于10比特。它的根本原因是:我們正使用一個(gè)具有開路漏極的微處理器來驅(qū)動(dòng)收發(fā)器的TXD引腳。在這種情況下,沒有真正的邏輯高電平驅(qū)動(dòng)。僅有CAN收發(fā)器的弱內(nèi)部上拉正驅(qū)動(dòng)TXD引腳高,因此它的RC時(shí)間常量非常長。通過在TXD引腳上添加一個(gè)上拉電阻器,便可輕松解決這個(gè)問題。
圖12:TXD引腳上慢上升時(shí)間例子
結(jié)論
本文介紹的CAN物理層基礎(chǔ)和調(diào)試舉例,應(yīng)該讓您不那么懼怕進(jìn)入CAN世界了吧。利用本文提供的其他一些參考資料以及相應(yīng)的數(shù)據(jù)表,設(shè)計(jì)人員應(yīng)該可以馬上讓其CAN系統(tǒng)正常運(yùn)行了。
評論