關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 控制器局域網(wǎng)(CAN)物理層調(diào)試基礎(chǔ)知識(shí)

控制器局域網(wǎng)(CAN)物理層調(diào)試基礎(chǔ)知識(shí)

作者: 時(shí)間:2013-11-26 來(lái)源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://butianyuan.cn/article/201918.htm

控制器局域網(wǎng)(CAN)標(biāo)準(zhǔn)不斷發(fā)展,正用于車(chē)載和工業(yè)網(wǎng)絡(luò)之外的許多新應(yīng)用。支持它的微變得普遍且價(jià)格低廉,并且開(kāi)源協(xié)議棧讓其非常容易訪(fǎng)問(wèn),同時(shí)也容易添加至新系統(tǒng)。有許多CAN板可用于BeagleBone (Capes)、Stellaris® (BoosterPacks)、Arduino (Shields)和其他微開(kāi)發(fā)平臺(tái)。當(dāng)設(shè)計(jì)人員的系統(tǒng)上電卻不能工作時(shí),應(yīng)該怎么辦呢?本文為您介紹一種對(duì)CAN物理層進(jìn)行調(diào)試的較好工程方法。我們將介紹基礎(chǔ)調(diào)試步驟,并說(shuō)明一個(gè)CAN物理層應(yīng)有的性能,以及找出問(wèn)題的一些小技巧。

調(diào)試基礎(chǔ)知識(shí)

ISO11898-2和ISO11898-5規(guī)范詳細(xì)說(shuō)明了高速CAN物理層即收發(fā)器。掌握CAN物理層的基礎(chǔ)知識(shí)以后,利用簡(jiǎn)單的調(diào)試工具便可迅速地找出常見(jiàn)問(wèn)題。所需的基本實(shí)驗(yàn)室工具為示波鏡、數(shù)字萬(wàn)用表(DMM)和一個(gè)電源。如果想要深入了解問(wèn)題,則需要更高精度和更復(fù)雜的工具。這種問(wèn)題已非本文討論的范疇,但是這里介紹的基礎(chǔ)知識(shí)可幫助確定問(wèn)題所屬類(lèi)別,以及進(jìn)一步調(diào)試所需的其他工具。一個(gè)由 TI 組裝的CAN演示系統(tǒng)以及TI的SN65NVD255D評(píng)估模塊(EVM)1,用于演示硬件。另外,我們還使用了其他一些東西,例如:CAN連接器外接頭電纜和芯片鉤(抓住收發(fā)器引腳,讓其連接至電纜,以更加容易地連接示波器指針,如圖1所示)。

圖1 CAN物理層調(diào)試基本工具

連接檢查

開(kāi)始調(diào)試對(duì)話(huà)時(shí),使用DMM確認(rèn)印刷電路板(PCB)上連接如我們所預(yù)計(jì)的那樣—系統(tǒng)未上電。這看似很基礎(chǔ),但令人吃驚的是,這個(gè)簡(jiǎn)單的方法卻解決了許多簡(jiǎn)單問(wèn)題。所有人都會(huì)認(rèn)為原理圖、布局和制造工藝沒(méi)有問(wèn)題,但不幸的是,它們有時(shí)卻并不如人愿。子插件板位置錯(cuò)誤、虛焊和錯(cuò)誤端接或者連接的電纜,都是一些常見(jiàn)問(wèn)題。利用DMM電阻設(shè)置來(lái)確認(rèn)所有線(xiàn)路和連接均正確。圖2所示CAN應(yīng)用的簡(jiǎn)易原理圖用作參考。

2.jpg

圖2 CAN應(yīng)用簡(jiǎn)易原理圖

表1列舉了需要檢查的PCB和網(wǎng)絡(luò)連接。收發(fā)器引腳和PCB上其他相關(guān)連接之間的電阻應(yīng)為0Ω,除非設(shè)計(jì)使用表注里介紹的一些選項(xiàng)。例如,限流串聯(lián)電阻器、總線(xiàn)端接電阻器或者數(shù)字I/O的上拉或下拉電阻器。

3.jpg

表1 PCB和CAN收發(fā)器連接總結(jié)

總線(xiàn)端接檢查

大多數(shù)CAN標(biāo)準(zhǔn)均規(guī)定使用一條單雙絞線(xiàn)(有或者無(wú)屏蔽層),其特性阻抗(Z0)為120Ω。應(yīng)使用與線(xiàn)路特性阻抗相同的電阻器來(lái)端接電纜兩端,以防止信號(hào)反射。端接可以為電纜上總線(xiàn)端的單120Ω電阻器,如圖3中CAN總線(xiàn)左側(cè)所示;或者,它也可以位于某個(gè)端接節(jié)點(diǎn)內(nèi),如圖3右側(cè)所示。不得將端接電阻從總線(xiàn)移除。如果CAN端接電阻負(fù)載不存在,則信號(hào)完整性會(huì)受到影響,并且無(wú)法滿(mǎn)足比特計(jì)時(shí)要求。如果總線(xiàn)共模電壓濾波和穩(wěn)壓理想,則使用分裂端接,如圖2所示。在該圖中,每個(gè)電阻器均為60Ω,而分裂電容器范圍為1 nF到100 nF,具體取決于共模濾波器所需的頻率。2CANH到CANL的測(cè)得電阻應(yīng)介于45Ω到65Ω之間,以達(dá)到CAN標(biāo)準(zhǔn)、兩個(gè)端接電阻器的并聯(lián)阻抗以及并聯(lián)節(jié)點(diǎn)輸入電阻的容差。應(yīng)根據(jù)可能碰到的極端故障狀態(tài)(通常為系統(tǒng)接地的電源電壓)來(lái)確定端接電阻器的額定功率。

4.jpg

圖3 典型CAN總線(xiàn)

電源檢查

在系統(tǒng)上電以前,應(yīng)首先檢查CAN收發(fā)器的一個(gè)或者多個(gè)電源。根據(jù)所使用的收發(fā)器類(lèi)型,VCC應(yīng)為3.3V或者5V。不管您相不相信,在一些情況下,丟失VCC確實(shí)為問(wèn)題的根本原因。因此,我們應(yīng)確保VCC存在于收發(fā)器的VCC引腳上。只需檢查DMM,便可確認(rèn)有電源存在。必須注意電源短路接地(不幸的是,該引腳就在VCC引腳的旁邊)。

顯性狀態(tài)(60Ω總線(xiàn)負(fù)載時(shí)約為60mA)和隱性狀態(tài)(10mA)之間所需電流(ICC)差約為50mA。顯性總線(xiàn)狀態(tài)期間端接電阻差分電壓的產(chǎn)生需要這50mA的電流差,并且其隨總線(xiàn)負(fù)載變化而變化。DMM還可用在電流模式下,以驗(yàn)證預(yù)計(jì)ICC電源電流。由于CAN的開(kāi)關(guān)性質(zhì),DMM測(cè)得的電流偽平均讀取值。

建議本地旁路電容器至少應(yīng)為4.7µF,以確??偩€(xiàn)狀態(tài)轉(zhuǎn)換期間有足夠的電源緩沖。否則,收發(fā)器的突入電流可能會(huì)引起明顯的電壓電源紋波。我們可以使用一個(gè)示波器來(lái)驗(yàn)證電源電壓是穩(wěn)定,還是隨著總線(xiàn)狀態(tài)變化而變化。轉(zhuǎn)換期間,最好不要讓收發(fā)器“饑餓”。收發(fā)器受到其限流的保護(hù),但是,當(dāng)收發(fā)器試圖驅(qū)動(dòng)總線(xiàn)至顯性狀態(tài)時(shí),如果其中一條總線(xiàn)短路至電源或者接地,則電源電流極高。如果電壓調(diào)節(jié)器無(wú)法提供這么多的電流,則電壓電平降至收發(fā)器規(guī)格范圍以下,甚至可能會(huì)低至觸發(fā)收發(fā)器的欠壓鎖定狀態(tài)。

CAN物理層基礎(chǔ)知識(shí)

一旦完成所有基礎(chǔ)檢查,就可以檢查CAN物理層的核心CAN總線(xiàn)了。收發(fā)器的兩個(gè)關(guān)鍵組件便是接收器和發(fā)射器。發(fā)射器被稱(chēng)作CAN的驅(qū)動(dòng)器。通過(guò)VCC/2共模點(diǎn)(約2.5V)對(duì)CAN物理層偏置,見(jiàn)圖4。

5.jpg

圖4 簡(jiǎn)易CAN總線(xiàn)收發(fā)器

發(fā)收器將單端數(shù)字邏輯信號(hào)、TXD(或者D)和RXD(或者R)轉(zhuǎn)換為差分CAN總線(xiàn)所要求的電平。當(dāng)總線(xiàn)為顯性時(shí),在接收節(jié)點(diǎn),其CAN標(biāo)準(zhǔn)定義的差分電壓(Vdiff(D))大于1.2V,并且處于邏輯低狀態(tài)。當(dāng)總線(xiàn)為隱性時(shí),在接收節(jié)點(diǎn),其CAN標(biāo)準(zhǔn)定義的差分電壓(Vdiff(R))為-120mV≤(Vdiff(R))≤ 12 mV,并且處于邏輯高狀態(tài)。兩種總線(xiàn)狀態(tài)均通過(guò)收發(fā)器內(nèi)共模網(wǎng)絡(luò)偏置。圖5顯示了典型的總線(xiàn)層級(jí)。

6.jpg

圖5 CAN總線(xiàn)狀態(tài)

對(duì)總線(xiàn)進(jìn)行調(diào)試時(shí),最為有用的工具之一便是示波器。盡管單通道示波器便可看到信號(hào),但最好還是用雙或者四通道。理想情況下,可同時(shí)看到TXD、RXD、CANH和CANL,以確保收發(fā)器和總線(xiàn)性能如預(yù)期。進(jìn)行初次調(diào)試時(shí),只需一個(gè)低帶寬示波器,因?yàn)闃?biāo)準(zhǔn)CAN被限定在1Mbps。(在不遠(yuǎn)的將來(lái),在引入擁有靈活數(shù)據(jù)速率的CAN以后,這種情況將有所改變。)如果該節(jié)點(diǎn)正發(fā)送數(shù)據(jù)比特流,則可在TXD輸入端看到輸入數(shù)據(jù)。差分CAN總線(xiàn)引腳(CANH/CANL)存在傳輸延遲,同時(shí)還存在RXD輸出傳輸延遲。在CAN中,這些延遲均為循環(huán)時(shí)間,或者說(shuō)循環(huán)延遲。如果該節(jié)點(diǎn)正在接收,則TXD閑置;但是總線(xiàn)和RXD輸出會(huì)顯示CAN幀。

為了演示基礎(chǔ)CAN總線(xiàn)工作情況,圖6顯示了一個(gè)示波器,它擁有兩個(gè)模擬通道和兩個(gè)數(shù)字通道,以及一個(gè)函數(shù)生成器。CAN總線(xiàn)由兩個(gè)SN65HVD255D EVM組成,每個(gè)在總線(xiàn)上的端接電阻均為120Ω。示波器函數(shù)生成器連接至頂部EVM的TXD輸入引腳。圖7中,數(shù)字通道1顯示了CANH信號(hào)(藍(lán)色);模擬通道2顯示了CANL信號(hào)(黃色);數(shù)字通道2顯示了RXD信號(hào)(綠色)。盡管該示波器的精確度很低,但這個(gè)簡(jiǎn)單的測(cè)試表明,該CAN物理層的表現(xiàn)在總體上符合我們的預(yù)期。

7.jpg

圖6 兩個(gè)EVM的CAN總線(xiàn)調(diào)試

8.jpg

圖7 TI CAN EVM信號(hào)

圖8顯示了該示波器和用于調(diào)試TI CAN演示系統(tǒng)的探針裝置。該節(jié)點(diǎn)使用菊形鏈,并使用CANopen® D-SUB 9針連接器。一個(gè)總線(xiàn)外接頭連接器位于圖8左上方。利用它,我們可以輕松地連接模擬示波器探針至CAN總線(xiàn)的CANH和CANL引腳以及GND。由于探針過(guò)大,無(wú)法抓住中間CAN節(jié)點(diǎn)的TXD和RXD IC引腳,因此可通過(guò)連接至探針的芯片鉤和一小段電纜,將這些引腳連接至示波器的數(shù)字通道。另一種方法是,給每個(gè)收發(fā)器焊接一小段線(xiàn),這樣示波器探針便可更容易地連接。

9.jpg

圖8 TI CAN演示系統(tǒng)調(diào)試

圖9顯示了示波器獲得的CAN信號(hào)詳細(xì)情況。盡管這些信號(hào)的分辨率和精度均不高,但它們可以幫助確定需要了解CAN節(jié)點(diǎn)工作的那些信息。中間節(jié)點(diǎn)的TXD觸發(fā)了示波器;CANH和CANL信號(hào)差異符合預(yù)期;在CAN構(gòu)架端可清楚地看到高差分電壓的收到確認(rèn)(ACK)位。該高壓為同時(shí)并行產(chǎn)生ACK位的多個(gè)CAN節(jié)點(diǎn)的結(jié)果。輕松找出ACK位的另一個(gè)方法是其存在于RXD信號(hào)中而非TXD信號(hào)中,這意味著它由另一些節(jié)點(diǎn)產(chǎn)生。

10.jpg

圖9 TI CAN演示系統(tǒng)的信號(hào)

CAN調(diào)試?yán)?/strong>

圖10顯示了一個(gè)CAN演示系統(tǒng),在PCB右邊,連接至菊形鏈輸出的CANH線(xiàn)路被損壞。出現(xiàn)這種情況的原因是,系統(tǒng)后面的一個(gè)固定螺栓摩擦PCB,而在幾年的時(shí)間里該系統(tǒng)被運(yùn)輸至世界各地。當(dāng)系統(tǒng)通過(guò)菊形鏈總線(xiàn)接口連接至其他CAN節(jié)點(diǎn)時(shí),便故障無(wú)法工作。

11.jpg

圖10 帶有損壞CANH線(xiàn)路的CAN演示系統(tǒng)

圖11所示CANH信號(hào)表明了該損壞PCB線(xiàn)路的效果。另外,DMM連續(xù)性檢查也可證實(shí)該開(kāi)路。

12.jpg

圖11 PCB上CANH線(xiàn)路遭損壞的TI CAN信號(hào)

圖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位,總線(xiàn)上所看到的ACK位的位時(shí)間稍長(zhǎng)。這是同時(shí)發(fā)送ACK位的多個(gè)節(jié)點(diǎn)的假象。影響這種長(zhǎng)位時(shí)間的一些因素包括:通過(guò)線(xiàn)纜的5ns/m延遲、三個(gè)CAN節(jié)點(diǎn)之間的時(shí)鐘計(jì)時(shí)漂移以及同時(shí)發(fā)送一個(gè)ACK位的兩個(gè)節(jié)點(diǎn)所產(chǎn)生的高差分電壓。如果這些因素使ACK位(空檔)變得更長(zhǎng),并在ACK分隔符內(nèi)保持顯性,則其可能引起CAN誤差幀。

CAN總線(xiàn)調(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è)具有開(kāi)路漏極的微來(lái)驅(qū)動(dòng)收發(fā)器的TXD引腳。在這種情況下,沒(méi)有真正的邏輯高電平驅(qū)動(dòng)。僅有CAN收發(fā)器的弱內(nèi)部上拉正驅(qū)動(dòng)TXD引腳高,因此它的RC時(shí)間常量非常長(zhǎng)。通過(guò)在TXD引腳上添加一個(gè)上拉電阻器,便可輕松解決這個(gè)問(wèn)題。

13.jpg

圖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)行了。

參考文獻(xiàn)

1、TI SN65HVD255D評(píng)估模塊,網(wǎng)址:www.ti.com/sn65hvd255devm-aaj

2、“控制器局域網(wǎng)(CAN)介紹”,作者: Steve Corrigan,見(jiàn)于《應(yīng)用報(bào)告》5.1.13小節(jié),網(wǎng)址:www.ti.com/sloa101-aaj

3、《控制器局域網(wǎng)物理層要求》,作者: Steve Corrigan,刊發(fā)于《應(yīng)用報(bào)告》,網(wǎng)址:www.ti.com/slla270-aaj

4、《3.3V CAN(控制器局域網(wǎng))收發(fā)器概述》,作者: Jason Blackman和Scott Monroe,刊發(fā)于《應(yīng)用報(bào)告》,網(wǎng)址:www.ti.com/slla337-aaj

5、《CAN總線(xiàn)連接的關(guān)鍵間隔》,作者: Steve Corrigan,刊發(fā)于《應(yīng)用報(bào)告》,網(wǎng)址:www.ti.com/ slla279-aaj

6、《CAN收發(fā)器的系統(tǒng)評(píng)估》,作者: Sam Broyles,刊發(fā)于《應(yīng)用報(bào)告》,網(wǎng)址:www.ti.com/slla109-aaj

上拉電阻相關(guān)文章:上拉電阻原理
雙絞線(xiàn)傳輸器相關(guān)文章:雙絞線(xiàn)傳輸器原理


關(guān)鍵詞: 控制局域網(wǎng) 處理器

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉