了解CAN收發(fā)器及如何驗證多節(jié)點CAN系統(tǒng)的性能
摘要
本文介紹了評估“控制器局域網(wǎng)”(CAN)收發(fā)器的正確系統(tǒng)級測試方法。通過展示在多CAN節(jié)點系統(tǒng)中執(zhí)行不同CAN節(jié)點之間的數(shù)據(jù)傳輸時如何避免實際數(shù)據(jù)傳輸問題,解釋了此種測試方法的優(yōu)越之處。閱讀本文后,讀者將對CAN系統(tǒng)有更好的了解,并能夠為特定的多節(jié)點CAN系統(tǒng)選擇合適的CAN收發(fā)器。
本文引用地址:http://cafeforensic.com/article/202306/447573.htm引言
CAN是一種穩(wěn)健的通信標準,用于支持不同的傳感器、機器或控制器進行相互通信。相比于一般接口,CAN接口更穩(wěn)定可靠,能夠有效處理總線爭用,因此被廣泛應用于工業(yè)自動化、家庭自動化和汽車應用中。
舊版CAN2.0提供8字節(jié)有效載荷,最多支持2 Mbps的數(shù)據(jù)速率。有些情況下,2 Mbps的數(shù)據(jù)速率不足以應對危急通信事件,因此CAN.org提出了新的通信協(xié)議CAN-FD,支持數(shù)據(jù)速率高達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通信——基礎知識
CAN通信包括兩個主要組件:(a)CAN控制器和(b)CAN收發(fā)器,如圖1所示。
圖1.單一CAN節(jié)點。
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引腳上回送信號。
圖2.CAN協(xié)議物理層。
現(xiàn)在我們來看看CAN數(shù)據(jù)鏈路層,它制定了數(shù)據(jù)幀以便進行比特流的受控傳輸,而且有助于解決錯誤檢測和總線爭用問題。圖3所示為標準的CAN幀格式。
圖3.CAN協(xié)議數(shù)據(jù)鏈路層。
每個節(jié)點以幀起始符(SOF)開始數(shù)據(jù)幀,SOF是第一個顯性位。11位標識符是每個節(jié)點的唯一地址。IDE表示幀格式。該位域中的邏輯0表示標準的CAN格式,而邏輯1表示擴展的CAN格式。r0是一個保留位。DLC字段表示要傳輸?shù)臄?shù)據(jù)字節(jié)數(shù)。在標準CAN2.0幀中,最多可以傳輸8個字節(jié)。接收節(jié)點通過在總線上發(fā)送顯性位來確認該數(shù)據(jù)幀。最后,幀結束符(EOF)是一個隱性位,標志著一個數(shù)據(jù)幀的結束。
大多數(shù)情況下,在選擇CAN收發(fā)器時,客戶通過函數(shù)生成器在CAN收發(fā)器的TXD引腳上發(fā)送比特流,以此來評估CAN收發(fā)器。盡管這種方法非常適合用于評估單節(jié)點CAN,但在開發(fā)多節(jié)點、遠距離CAN系統(tǒng)時似乎存在缺陷。因此,要為系統(tǒng)選擇合適的CAN收發(fā)器,必須采用新的CAN控制器和收發(fā)器測試方法。使用這種方法背后的原因是什么?
仲裁方法
使用這種系統(tǒng)級測試方法的主要原因是CAN協(xié)議的仲裁特性。如果兩個節(jié)點試圖同時占用總線,則使用非破壞性逐位仲裁來進行訪問。將第一個標識符位作為0(顯性)發(fā)送的節(jié)點將保留對CAN總線的控制, 并繼續(xù)完成其消息傳送, 而其他節(jié)點發(fā)送的是1(隱性)。圖4所示為兩個節(jié)點之間的仲裁方案。
圖4.雙節(jié)點系統(tǒng)中的CAN仲裁。
在此圖中,節(jié)點1和節(jié)點2通過CAN總線相互連接。因此,CANH和CANL信號對于兩個節(jié)點是共用的。TXD1和RXD1是用于節(jié)點1的信號,而TXD2和RXD2是用于節(jié)點2的信號??梢钥吹?,節(jié)點1和節(jié)點2的前三位是相同的:分別為1、0、1。節(jié)點2的第四位是1,而節(jié)點1是0。由于節(jié)點1有一個顯性位,因此贏得了仲裁并繼續(xù)發(fā)送完整的消息。此消息由節(jié)點2確認。一旦節(jié)點1完成傳輸,節(jié)點2就開始發(fā)送消息。節(jié)點1確認此消息。
每個節(jié)點都有唯一的標識符ID。因此,這個11位的標識符ID被用于仲裁過程。這些比特將由控制器讀回,以識別消息傳輸?shù)膬?yōu)先級。在CAN-FD中,仲裁位速率可以與數(shù)據(jù)位速率相同或不同。在CAN2.0中,仲裁位速率和數(shù)據(jù)位速率相同。
在舊版CAN2.0系統(tǒng)中,有時位速率會較標準CAN2.0推薦的1 Mbps有所增加,以加快數(shù)據(jù)傳輸。在CAN-FD系統(tǒng)中,仲裁位速率被限制為1 Mbps的數(shù)據(jù)速率,而數(shù)據(jù)位速率可高達10 Mbps。在包括11位標識符和SOF位的仲裁階段,每個傳輸?shù)奈欢急蛔x回以進行同步。
CAN節(jié)點在CAN總線邊緣上同步,但總線上的信號傳輸時間會在節(jié)點之間引入相位差。CAN的非破壞性仲裁機制要求任意兩個節(jié)點之間的相位差小于半個比特時間。該標準比特時間的下限定義了標稱位速率以及總線長度的上限。因此,RXD的上升時間和下降時間、CAN收發(fā)器的環(huán)路延遲以及電纜都需要考慮在內。在更高的位速率下(例如10 Mbps),傳輸延遲和上升時間/下降時間需要小于50 ns。
因此,CAN-FD中的仲裁位速率被限制為1 Mbps,允許更高的余量用于同步多個可能的節(jié)點。然而,CAN-FD是一個新協(xié)議,尚未應用于所有CAN系統(tǒng)。在某些情況下,CAN-FD控制器不可用或者被認為是代價高昂的附加組件,因此客戶繼續(xù)使用標準CAN控制器。在這些系統(tǒng)中,由于涉及關鍵傳感器信息且節(jié)點之間的線纜長度可能更短,CAN節(jié)點需要以更高的位速率(>2 Mbps)進行通信。在這種情況下,收發(fā)器的上升時間/下降時間對稱性和傳輸延遲可能會對允許的數(shù)據(jù)通信上限造成限制。
CAN收發(fā)器需要系統(tǒng)級測試
以CAN收發(fā)器MAX33012E為例,該收發(fā)器已經(jīng)過20米線纜測試,速率最高可達13.3 Mbps??梢钥吹?,在圖5中,TXD2位寬為75 ns(對應于13.3 Mbps),RXD2位寬為72 ns。當控制器以80%的TXD位寬進行采樣時,包括所需RXD的上升時間/下降時間和環(huán)路延遲在內的最小RXD位寬為60 ns。在圖5中,可以看到接收到的位寬為72 ns。因此,MAX33012E滿足條件,并且足夠穩(wěn)健,能夠在更高的位速率下工作。在這種情況下,CAN控制器不會檢測到任何錯誤,并且會繼續(xù)執(zhí)行數(shù)據(jù)通信。
圖5.MAX33012E CAN數(shù)據(jù)傳輸。
圖6所示為同樣在13.3 Mbps速度下進行測試的競品的范圍。對于該部分,傳輸位寬為75 ns(對應于13.3 Mbps),并且接收位寬小于傳輸位寬(48 ns)的80%。因此,仲裁階段位傳輸失敗,導致通信錯誤,最終系統(tǒng)停止工作。
圖6.競品的CAN數(shù)據(jù)傳輸。
這些類型的數(shù)據(jù)傳輸錯誤只能通過執(zhí)行完整的系統(tǒng)級測試來發(fā)現(xiàn),其中包括多個CAN控制器、CAN收發(fā)器和一根長線纜。
結論
對CAN收發(fā)器進行系統(tǒng)級測試有助于揭示系統(tǒng)中未來可能出現(xiàn)的數(shù)據(jù)傳輸問題??墒褂脻M足所需時序和電壓規(guī)格的CAN控制器和線纜來評估CAN收發(fā)器,從而避免這些問題。CAN系統(tǒng)的穩(wěn)健性取決于CAN系統(tǒng)中每個組件性能的累積結果。僅評估一個組件或CAN收發(fā)器并不能準確測量系統(tǒng)功能。對系統(tǒng)進行預先驗證比等到發(fā)生故障后才更換系統(tǒng)更加經(jīng)濟高效。因此,我們強烈建議在選擇CAN控制器之前進行系統(tǒng)級測試。
# # #
關于ADI公司
Analog Devices, Inc. (NASDAQ: ADI)是全球領先的半導體公司,致力于在現(xiàn)實世界與數(shù)字世界之間架起橋梁,以實現(xiàn)智能邊緣領域的突破性創(chuàng)新。ADI提供結合模擬、數(shù)字和軟件技術的解決方案,推動數(shù)字化工廠、汽車和數(shù)字醫(yī)療等領域的持續(xù)發(fā)展,應對氣候變化挑戰(zhàn),并建立人與世界萬物的可靠互聯(lián)。ADI公司2022財年收入超過120億美元,全球員工2.4萬余人。攜手全球12.5萬家客戶,ADI助力創(chuàng)新者不斷超越一切可能。
關于作者
Madhura Tapse于2016年加入Maxim Integrated(現(xiàn)為ADI公司的一部分),擔任技術人員,從事過諸多產(chǎn)品系列的開發(fā),如監(jiān)控IC、電源監(jiān)控IC、接口IC和ATE IC。在加入Maxim之前,Madhura曾在Cypress Semiconductors擔任應用工程師。她擁有浦那大學電氣工程理學學士學位和印度理工學院孟買分校生物醫(yī)學工程碩士學位。
評論