作者:Madhura Tapse
? ? ? ?本文介紹評(píng)估控制器局域網(wǎng)(CAN)收發(fā)器的正確系統(tǒng)級(jí)測(cè)試方法。它通過展示在多CAN節(jié)點(diǎn)系統(tǒng)中從一個(gè)CAN節(jié)點(diǎn)到另一個(gè)CAN節(jié)點(diǎn)執(zhí)行數(shù)據(jù)傳輸時(shí)如何避免實(shí)際的數(shù)據(jù)傳輸問題,解釋了為什么這種方法更優(yōu)越。閱讀本文后,讀者將對(duì)CAN系統(tǒng)有更好的了解,并能夠?yàn)樘囟ǖ亩喙?jié)點(diǎn)CAN系統(tǒng)選擇正確的CAN收發(fā)器。
CAN是一種強(qiáng)大的通信標(biāo)準(zhǔn),用于允許不同的傳感器、機(jī)器或控制器相互通信。CAN接口廣泛用于工業(yè)自動(dòng)化、家庭自動(dòng)化和汽車,因?yàn)樗鼜?qiáng)大,可以有效地處理總線爭(zhēng)用。
傳統(tǒng) CAN2.0 提供 8 字節(jié)有效負(fù)載,支持高達(dá) 2 Mbps 的數(shù)據(jù)速率。有時(shí),2 Mbps的數(shù)據(jù)速率不足以滿足關(guān)鍵通信事件,因此 CAN.org 提出了一種新的通信協(xié)議CAN-FD,允許高達(dá)10 Mbps的高數(shù)據(jù)速率通信。
CAN-FD 靈活數(shù)據(jù)速率
傳統(tǒng)CAN和CAN-FD之間的主要區(qū)別在于靈活數(shù)據(jù)(FD)。在CAN-FD中,數(shù)據(jù)速率(即每秒傳輸?shù)奈粩?shù))比經(jīng)典CAN快5×(僅數(shù)據(jù)有效載荷為10 Mbps;為了兼容性,仲裁比特率仍限制為1 Mbps)。CAN-FD 中的消息有效負(fù)載大小從 64 字節(jié)的傳統(tǒng) CAN 大小增加到 8 字節(jié)。
使用CAN-FD,傳感器可以改變具有更大或更小有效載荷的數(shù)據(jù)速率。與現(xiàn)代工廠中的傳統(tǒng)CAN相比,更快的數(shù)據(jù)速度和更大的有效載荷容量帶來了許多系統(tǒng)級(jí)操作優(yōu)勢(shì)。
CAN通信—基礎(chǔ)知識(shí)
CAN通信由兩個(gè)主要組件組成:(a)CAN控制器和(b)CAN收發(fā)器,如圖1所示。
圖 1。單個(gè)CAN節(jié)點(diǎn)。
CAN控制器處理CAN通信的數(shù)據(jù)鏈路層,而CAN收發(fā)器處理物理層。稍后讓我們簡(jiǎn)要介紹一下CAN收發(fā)器物理。
在CAN協(xié)議中,邏輯0稱為顯性位,邏輯1稱為隱性位。由于CAN是一種差分協(xié)議,因此CANH和CANL之間的電壓差決定了發(fā)送和接收信號(hào)的邏輯電平。如果CANH-CANL電壓大于1.5 V,CAN接收器將該位識(shí)別為邏輯0。然而,如果CANH-CANL電壓小于200 mV,CAN接收器將該位識(shí)別為邏輯1。圖2顯示了CAN收發(fā)器TXD引腳上數(shù)字邏輯1和邏輯0位的連續(xù)傳輸,以及CANH和CANL引腳上的等效CAN總線電平。根據(jù)CANH和CANL電壓之間的差異,接收器在RXD引腳上環(huán)回信號(hào)。
圖 2.CAN協(xié)議物理層。
現(xiàn)在讓我們看一下CAN數(shù)據(jù)鏈路層,它為該比特流的受控傳輸制定了數(shù)據(jù)幀。它還有助于錯(cuò)誤檢測(cè)和總線爭(zhēng)用解決。圖3顯示了標(biāo)準(zhǔn)CAN幀格式。
圖 3。CAN協(xié)議數(shù)據(jù)鏈路層。
每個(gè)節(jié)點(diǎn)都以幀開始 (SOF) 開始數(shù)據(jù)幀,這是第一個(gè)顯性位。11 位標(biāo)識(shí)符是每個(gè)節(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 個(gè)字節(jié)。接收節(jié)點(diǎn)通過在總線上發(fā)送主位來確認(rèn)該數(shù)據(jù)幀。最后,幀結(jié)束(EOF)是一個(gè)隱性位,它標(biāo)志著一個(gè)數(shù)據(jù)幀的結(jié)束。
大多數(shù)情況下,在選擇CAN收發(fā)器時(shí),客戶通過函數(shù)發(fā)生器在CAN收發(fā)器的TXD引腳上發(fā)送位流來評(píng)估CAN收發(fā)器。雖然這種方法非常適合評(píng)估單節(jié)點(diǎn)CAN,但在開發(fā)多節(jié)點(diǎn)、遠(yuǎn)間距CAN系統(tǒng)時(shí)似乎存在缺陷。因此,新的CAN控制器和收發(fā)器測(cè)試對(duì)于為您的系統(tǒng)選擇合適的CAN收發(fā)器是必要的。這種方法背后的原因是什么?
仲裁方法
這種系統(tǒng)級(jí)測(cè)試方法的主要原因是CAN協(xié)議的仲裁功能。如果兩個(gè)節(jié)點(diǎn)嘗試同時(shí)占用總線,則通過非破壞性的逐位仲裁實(shí)現(xiàn)訪問。將第一個(gè)標(biāo)識(shí)符位作為零(主導(dǎo))發(fā)送的節(jié)點(diǎn),而其他節(jié)點(diǎn)發(fā)送一個(gè)標(biāo)識(shí)符位(隱性),保留對(duì)CAN總線的控制,CAN總線繼續(xù)完成其消息。圖 4 顯示了兩個(gè)節(jié)點(diǎn)之間的仲裁方案。
圖 4。2節(jié)點(diǎn)系統(tǒng)中的CAN仲裁。
在此圖中,節(jié)點(diǎn) 1 和節(jié)點(diǎn) 2 通過 CAN 總線相互連接。因此,CANH和CANL信號(hào)對(duì)于兩個(gè)節(jié)點(diǎn)都是通用的。TXD1 和 RXD1 是節(jié)點(diǎn) 1 的信號(hào),而 TXD2 和 RXD2 是節(jié)點(diǎn) 2 的信號(hào)。如您所見,節(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 具有主導(dǎo)位,因此它將贏得仲裁并繼續(xù)發(fā)送完整的消息。消息由節(jié)點(diǎn) 2 確認(rèn)。節(jié)點(diǎn) 1 完成傳輸后,節(jié)點(diǎn) 2 開始發(fā)送消息。節(jié)點(diǎn) 1 確認(rèn)此消息。
每個(gè)節(jié)點(diǎn)都有一個(gè)唯一的標(biāo)識(shí)符 ID。因此,此 11 位標(biāo)識(shí)符 ID 用于仲裁過程。這些位將由控制器讀回,以識(shí)別消息傳輸?shù)膬?yōu)先級(jí)。在CAN-FD中,仲裁比特率可以保持與數(shù)據(jù)比特率相同或不同。在CAN2.0中,仲裁和數(shù)據(jù)比特率是相同的。
在傳統(tǒng)的CAN2.0系統(tǒng)中,有時(shí)比特率會(huì)從標(biāo)準(zhǔn)的CAN2.0建議的1 Mbps提高,以實(shí)現(xiàn)更快的數(shù)據(jù)傳輸。在CAN-FD系統(tǒng)中,仲裁比特率限制為1 Mbps數(shù)據(jù)速率,數(shù)據(jù)比特率最高可達(dá)10 Mbps。在仲裁階段(包括 11 位標(biāo)識(shí)符和 SOF 位),每個(gè)傳輸?shù)奈欢紩?huì)被讀回以進(jìn)行同步。
CAN節(jié)點(diǎn)在CAN總線上觀察到的邊沿上同步,但總線上的信號(hào)傳播時(shí)間會(huì)在節(jié)點(diǎn)之間引入相移。CAN的介質(zhì)訪問控制無損仲裁機(jī)制要求任意兩個(gè)節(jié)點(diǎn)之間的相移小于一位時(shí)間的一半。標(biāo)稱位時(shí)間的下限定義了標(biāo)稱比特率和總線長(zhǎng)度的上限。因此,RXD的上升時(shí)間和下降時(shí)間,CAN收發(fā)器的環(huán)路延遲以及電纜都進(jìn)入了畫面。在較高的比特率(例如 10 Mbps)下,傳播延遲和上升時(shí)間/下降時(shí)間需要小于 50 ns。
因此,CAN-FD中的仲裁比特率限制為1 Mbps,從而允許為許多可能的節(jié)點(diǎn)的同步提供更高的裕量。然而,CAN-FD是新的,尚未在所有CAN系統(tǒng)中實(shí)施。在某些情況下,CAN-FD控制器不可用,或者被認(rèn)為是系統(tǒng)中昂貴的附加功能,因此客戶繼續(xù)使用標(biāo)準(zhǔn)CAN控制器。在這些系統(tǒng)中,CAN節(jié)點(diǎn)需要以更高的比特率(》2 Mbps)進(jìn)行通信,因?yàn)殛P(guān)鍵的傳感器信息以及節(jié)點(diǎn)之間的電纜長(zhǎng)度可能更短。在這種情況下,上升時(shí)間/下降時(shí)間對(duì)稱性和收發(fā)器的傳播延遲可能會(huì)限制允許的數(shù)據(jù)通信的上限。
CAN收發(fā)器需要進(jìn)行系統(tǒng)級(jí)測(cè)試
讓我們以CAN收發(fā)器MAX33012E為例,該收發(fā)器已通過13米電纜測(cè)試,速度高達(dá)3.20 Mbps。如您所見,在圖 5 中,TXD2 位寬為 75 ns(對(duì)應(yīng)于 13.3 Mbps),RXD2 位寬為 72 ns。由于控制器以TXD位寬的80%采樣,因此所需的最小RXD位寬(包括上升時(shí)間/下降時(shí)間和RXD的環(huán)路延遲)為60 ns。在圖5中,您可以看到接收的位寬為72 ns。因此,MAX33012E滿足條件,并且足夠魯棒,可以在更高的比特率下工作。在這種情況下,CAN控制器不會(huì)檢測(cè)到任何錯(cuò)誤,并繼續(xù)執(zhí)行數(shù)據(jù)通信。
圖 5。MAX33012E CAN數(shù)據(jù)傳輸。
圖6顯示了競(jìng)爭(zhēng)器件的示波器照片,該器件也以13.3 Mbps的速度進(jìn)行了測(cè)試。對(duì)于該器件,傳輸?shù)奈粚挒?5 ns(對(duì)應(yīng)于13.3 Mbps),接收的位寬小于傳輸位寬(80 ns)的48%。因此,仲裁階段的位傳輸失敗,導(dǎo)致通信錯(cuò)誤,最后系統(tǒng)停止工作。
圖 6。競(jìng)爭(zhēng)對(duì)手的CAN數(shù)據(jù)傳輸。
這些類型的數(shù)據(jù)傳輸錯(cuò)誤只能通過執(zhí)行完整的系統(tǒng)級(jí)測(cè)試來發(fā)現(xiàn),其中包括多個(gè)CAN控制器,CAN收發(fā)器和一根長(zhǎng)電纜。
結(jié)論
CAN收發(fā)器的系統(tǒng)級(jí)測(cè)試有助于揭示系統(tǒng)中未來可能存在的數(shù)據(jù)傳輸問題。通過評(píng)估具有CAN控制器和電纜的CAN收發(fā)器,可以避免這些問題,以滿足所需的時(shí)序和電壓規(guī)格。CAN系統(tǒng)的魯棒性是CAN系統(tǒng)中每個(gè)組件的累積性能。僅評(píng)估一個(gè)組件或CAN收發(fā)器并不能準(zhǔn)確測(cè)量系統(tǒng)功能。對(duì)系統(tǒng)進(jìn)行事先驗(yàn)證比更換有故障的系統(tǒng)更具成本效益。因此,我們強(qiáng)烈建議在選擇CAN控制器之前進(jìn)行系統(tǒng)級(jí)測(cè)試。
編輯:黃飛
評(píng)論
查看更多