《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 解決方案 > 了解CAN收發(fā)器及如何驗證多節(jié)點(diǎn)CAN系統(tǒng)的性能

了解CAN收發(fā)器及如何驗證多節(jié)點(diǎn)CAN系統(tǒng)的性能

2023-06-12
作者:主管工程師Madhura Tapse
來源:ADI
關(guān)鍵詞: ADI MAX33012E CAN CAN-FD

  摘要

  本文介紹了評估“控制器局域網(wǎng)”(CAN)收發(fā)器的正確系統(tǒng)級測試方法,。通過展示在多CAN節(jié)點(diǎn)系統(tǒng)中執(zhí)行不同CAN節(jié)點(diǎn)之間的數(shù)據(jù)傳輸時如何避免實(shí)際數(shù)據(jù)傳輸問題,解釋了此種測試方法的優(yōu)越之處,。閱讀本文后,,讀者將對CAN系統(tǒng)有更好的了解,并能夠為特定的多節(jié)點(diǎn)CAN系統(tǒng)選擇合適的CAN收發(fā)器,。

  引言

  CAN是一種穩(wěn)健的通信標(biāo)準(zhǔn),,用于支持不同的傳感器、機(jī)器或控制器進(jìn)行相互通信,。相比于一般接口,,CAN接口更穩(wěn)定可靠,能夠有效處理總線爭用,,因此被廣泛應(yīng)用于工業(yè)自動化,、家庭自動化和汽車應(yīng)用中。

  舊版CAN2.0提供8字節(jié)有效載荷,,最多支持2 Mbps的數(shù)據(jù)速率,。有些情況下,2 Mbps的數(shù)據(jù)速率不足以應(yīng)對危急通信事件,,因此CAN.org提出了新的通信協(xié)議CAN-FD,,支持?jǐn)?shù)據(jù)速率高達(dá)10 Mbps的通信。

  CAN-FD靈活的數(shù)據(jù)速率

  舊版CAN和CAN-FD之間的主要區(qū)別在于靈活的數(shù)據(jù)速率(FD),。在CAN-FD中,,數(shù)據(jù)速率(即每秒傳輸?shù)奈粩?shù))比經(jīng)典CAN(10 Mbps僅用于數(shù)據(jù)有效載荷;為了兼容,,仲裁位速率仍限制在1 Mbps)快5倍,。CAN-FD中的消息有效載荷大小從舊版CAN的8字節(jié)增加到64字節(jié)。

  使用CAN-FD時,,傳感器可以改變數(shù)據(jù)速率,,并增加或減少有效載荷。與如今工廠中的舊版CAN相比,,更快的數(shù)據(jù)速度和更大的有效載荷容量帶來了許多系統(tǒng)級操作優(yōu)勢,。

  CAN通信——基礎(chǔ)知識

  CAN通信包括兩個主要組件:(a)CAN控制器和(b)CAN收發(fā)器,,如圖1所示。

248.JPG

  圖1.單一CAN節(jié)點(diǎn),。

  CAN控制器處理CAN通信的數(shù)據(jù)鏈路層,,而CAN收發(fā)器則處理物理層。我們來簡要介紹一下CAN收發(fā)器的物理層,。

  在CAN協(xié)議中,,邏輯0被稱為顯性位,邏輯1被稱為隱性位,。由于CAN是一種差分協(xié)議,,CANH和CANL之間的電壓差決定了發(fā)射和接收信號的邏輯電平。如果CANH-CANL電壓大于1.5 V,,則CAN接收器將該位識別為邏輯0,。而如果CANH-CANL電壓小于200 mV,則CAN接收器將該位識別為邏輯1,。圖2所示為CAN收發(fā)器TXD引腳上數(shù)字邏輯1和邏輯0位的連續(xù)傳輸,,以及CANH和CANL引腳上的等效CAN總線電平。根據(jù)CANH和CANL電壓之間的差異,,接收器在RXD引腳上回送信號,。

249.JPG

  圖2.CAN協(xié)議物理層。

  現(xiàn)在我們來看看CAN數(shù)據(jù)鏈路層,,它制定了數(shù)據(jù)幀以便進(jìn)行比特流的受控傳輸,,而且有助于解決錯誤檢測和總線爭用問題。圖3所示為標(biāo)準(zhǔn)的CAN幀格式,。

250.JPG

  圖3.CAN協(xié)議數(shù)據(jù)鏈路層,。

  每個節(jié)點(diǎn)以幀起始符(SOF)開始數(shù)據(jù)幀,SOF是第一個顯性位,。11位標(biāo)識符是每個節(jié)點(diǎn)的唯一地址,。IDE表示幀格式。該位域中的邏輯0表示標(biāo)準(zhǔn)的CAN格式,,而邏輯1表示擴(kuò)展的CAN格式,。r0是一個保留位。DLC字段表示要傳輸?shù)臄?shù)據(jù)字節(jié)數(shù),。在標(biāo)準(zhǔn)CAN2.0幀中,,最多可以傳輸8個字節(jié)。接收節(jié)點(diǎn)通過在總線上發(fā)送顯性位來確認(rèn)該數(shù)據(jù)幀,。最后,,幀結(jié)束符(EOF)是一個隱性位,標(biāo)志著一個數(shù)據(jù)幀的結(jié)束。

  大多數(shù)情況下,,在選擇CAN收發(fā)器時,,客戶通過函數(shù)生成器在CAN收發(fā)器的TXD引腳上發(fā)送比特流,以此來評估CAN收發(fā)器,。盡管這種方法非常適合用于評估單節(jié)點(diǎn)CAN,,但在開發(fā)多節(jié)點(diǎn),、遠(yuǎn)距離CAN系統(tǒng)時似乎存在缺陷,。因此,要為系統(tǒng)選擇合適的CAN收發(fā)器,,必須采用新的CAN控制器和收發(fā)器測試方法,。使用這種方法背后的原因是什么?

  仲裁方法

  使用這種系統(tǒng)級測試方法的主要原因是CAN協(xié)議的仲裁特性,。如果兩個節(jié)點(diǎn)試圖同時占用總線,,則使用非破壞性逐位仲裁來進(jìn)行訪問。將第一個標(biāo)識符位作為0(顯性)發(fā)送的節(jié)點(diǎn)將保留對CAN總線的控制,, 并繼續(xù)完成其消息傳送,, 而其他節(jié)點(diǎn)發(fā)送的是1(隱性)。圖4所示為兩個節(jié)點(diǎn)之間的仲裁方案,。

251.JPG

  圖4.雙節(jié)點(diǎn)系統(tǒng)中的CAN仲裁,。

  在此圖中,節(jié)點(diǎn)1和節(jié)點(diǎn)2通過CAN總線相互連接,。因此,,CANH和CANL信號對于兩個節(jié)點(diǎn)是共用的。TXD1和RXD1是用于節(jié)點(diǎn)1的信號,,而TXD2和RXD2是用于節(jié)點(diǎn)2的信號,。可以看到,,節(jié)點(diǎn)1和節(jié)點(diǎn)2的前三位是相同的:分別為1,、0、1,。節(jié)點(diǎn)2的第四位是1,,而節(jié)點(diǎn)1是0。由于節(jié)點(diǎn)1有一個顯性位,,因此贏得了仲裁并繼續(xù)發(fā)送完整的消息,。此消息由節(jié)點(diǎn)2確認(rèn)。一旦節(jié)點(diǎn)1完成傳輸,,節(jié)點(diǎn)2就開始發(fā)送消息,。節(jié)點(diǎn)1確認(rèn)此消息。

  每個節(jié)點(diǎn)都有唯一的標(biāo)識符ID。因此,,這個11位的標(biāo)識符ID被用于仲裁過程,。這些比特將由控制器讀回,以識別消息傳輸?shù)膬?yōu)先級,。在CAN-FD中,,仲裁位速率可以與數(shù)據(jù)位速率相同或不同。在CAN2.0中,,仲裁位速率和數(shù)據(jù)位速率相同,。

  在舊版CAN2.0系統(tǒng)中,有時位速率會較標(biāo)準(zhǔn)CAN2.0推薦的1 Mbps有所增加,,以加快數(shù)據(jù)傳輸,。在CAN-FD系統(tǒng)中,仲裁位速率被限制為1 Mbps的數(shù)據(jù)速率,,而數(shù)據(jù)位速率可高達(dá)10 Mbps,。在包括11位標(biāo)識符和SOF位的仲裁階段,每個傳輸?shù)奈欢急蛔x回以進(jìn)行同步,。

  CAN節(jié)點(diǎn)在CAN總線邊緣上同步,,但總線上的信號傳輸時間會在節(jié)點(diǎn)之間引入相位差。CAN的非破壞性仲裁機(jī)制要求任意兩個節(jié)點(diǎn)之間的相位差小于半個比特時間,。該標(biāo)準(zhǔn)比特時間的下限定義了標(biāo)稱位速率以及總線長度的上限,。因此,RXD的上升時間和下降時間,、CAN收發(fā)器的環(huán)路延遲以及電纜都需要考慮在內(nèi),。在更高的位速率下(例如10 Mbps),傳輸延遲和上升時間/下降時間需要小于50 ns,。

  因此,,CAN-FD中的仲裁位速率被限制為1 Mbps,允許更高的余量用于同步多個可能的節(jié)點(diǎn),。然而,,CAN-FD是一個新協(xié)議,尚未應(yīng)用于所有CAN系統(tǒng),。在某些情況下,,CAN-FD控制器不可用或者被認(rèn)為是代價高昂的附加組件,因此客戶繼續(xù)使用標(biāo)準(zhǔn)CAN控制器,。在這些系統(tǒng)中,,由于涉及關(guān)鍵傳感器信息且節(jié)點(diǎn)之間的線纜長度可能更短,CAN節(jié)點(diǎn)需要以更高的位速率(>2 Mbps)進(jìn)行通信,。在這種情況下,,收發(fā)器的上升時間/下降時間對稱性和傳輸延遲可能會對允許的數(shù)據(jù)通信上限造成限制。

  CAN收發(fā)器需要系統(tǒng)級測試

  以CAN收發(fā)器MAX33012E為例,該收發(fā)器已經(jīng)過20米線纜測試,,速率最高可達(dá)13.3 Mbps,。可以看到,,在圖5中,,TXD2位寬為75 ns(對應(yīng)于13.3 Mbps),RXD2位寬為72 ns,。當(dāng)控制器以80%的TXD位寬進(jìn)行采樣時,,包括所需RXD的上升時間/下降時間和環(huán)路延遲在內(nèi)的最小RXD位寬為60 ns。在圖5中,,可以看到接收到的位寬為72 ns,。因此,MAX33012E滿足條件,,并且足夠穩(wěn)健,能夠在更高的位速率下工作,。在這種情況下,,CAN控制器不會檢測到任何錯誤,并且會繼續(xù)執(zhí)行數(shù)據(jù)通信,。

252.JPG

  圖5.MAX33012E CAN數(shù)據(jù)傳輸,。

  圖6所示為同樣在13.3 Mbps速度下進(jìn)行測試的競品的范圍。對于該部分,,傳輸位寬為75 ns(對應(yīng)于13.3 Mbps),,并且接收位寬小于傳輸位寬(48 ns)的80%。因此,,仲裁階段位傳輸失敗,,導(dǎo)致通信錯誤,最終系統(tǒng)停止工作,。

253.JPG

  圖6.競品的CAN數(shù)據(jù)傳輸,。

  這些類型的數(shù)據(jù)傳輸錯誤只能通過執(zhí)行完整的系統(tǒng)級測試來發(fā)現(xiàn),其中包括多個CAN控制器,、CAN收發(fā)器和一根長線纜,。

  結(jié)論

  對CAN收發(fā)器進(jìn)行系統(tǒng)級測試有助于揭示系統(tǒng)中未來可能出現(xiàn)的數(shù)據(jù)傳輸問題??墒褂脻M足所需時序和電壓規(guī)格的CAN控制器和線纜來評估CAN收發(fā)器,,從而避免這些問題。CAN系統(tǒng)的穩(wěn)健性取決于CAN系統(tǒng)中每個組件性能的累積結(jié)果,。僅評估一個組件或CAN收發(fā)器并不能準(zhǔn)確測量系統(tǒng)功能,。對系統(tǒng)進(jìn)行預(yù)先驗證比等到發(fā)生故障后才更換系統(tǒng)更加經(jīng)濟(jì)高效。因此,我們強(qiáng)烈建議在選擇CAN控制器之前進(jìn)行系統(tǒng)級測試,。



更多精彩內(nèi)容歡迎點(diǎn)擊==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]