在汽車行業高速發展的如今,汽車集成了更多的系統單元模塊,隨之而來的數據傳輸壓力成為了不可忽視的一大難題。為解決這一困難,CAN-FD總線應運而生。
本篇文章小編將為大家介紹汽車CAN-FD總線的方方面面,并為您講解RIGOL的數字示波器將如何在CAN-FD總線分析上為您提供強力的支持!
汽車CAN-FD總線
01 CAN-FD總線的前世今生
1986年德國電氣商博世公司開發出面向汽車的CAN(Controller Area Network)通信協議。此后,CAN通過ISO11898及ISO11519進行了標準化。現在,CAN的高性能和可靠性已得到認同并廣泛投入工業生產。
隨著工業的發展,工業總線上的數據量逐日增長,尤其是在CAN總線運用較多的汽車領域,總線通訊的數據量愈發龐大。例如汽車內部出現更多的輔助系統和人機交互系統,使得傳統的CAN總線在傳輸速率和帶寬方面越來越力不從心,CAN總線已逐漸達到負荷極限。根據CAN規范ISO11898-2所定義的標準幀結構,一幀報文最大只能傳輸64位(8個字節)的數據,在最好的情況下總線負載也已達到70%左右。
為了應對現今巨大數據量的挑戰,亟需改進原有的總線來提高總線傳輸速率,CAN-FD(CAN with Flexible Data-Rate)便在這樣的背景下誕生了。
▲CAN總線的發展歷史
02 汽車CAN網絡拓撲圖
下圖舉例了一個汽車CAN網絡拓撲圖。從中可以看到,CAN網絡由CAN節點及不同的CAN總線構成,CAN節點主要由CPU、CAN控制器以及CAN收發器組成,而不同的CAN總線上布置有不同功能的智能電子控制單元(ECU)。
▲CAN網絡的拓撲結構
03 OSI協議棧模型參考
CAN協議涵蓋了ISO規定的OSI基本參照模型中的傳輸層、數據鏈路層及物理層。CAN協議的關于ISO/OSI基本參照模型中的數據鏈路層分為MAC子層和LLC子層,MAC子層是CAN協議的核心部分。
數據鏈路層的功能是將物理層收到的信號組織成有意義的消息,并提供傳送錯誤控制等傳輸控制的流程。具體地說,就是消息的幀化、仲裁、應答、錯誤的檢測或報告。數據鏈路層的功能通常在CAN控制器的硬件中執行,并在物理層定義了信號實際的發送方式、位時序、位的編碼方式及同步的步驟。但信號電平、通信速度、采樣點、驅動器和總線的電氣特性、連接器的形態等均未定義,必須由用戶根據系統需求自行確定。
▲OSI模型對比參考
04CAN-FD簡介
CAN-FD數據幀幀格式
CAN-FD采用了兩種位速率,從控制場中的BRS位到ACK場之前(含CRC分界符)為可變速率,其余部分為原CAN總線用的速率。CAN-FD數據幀格式如下圖所示:
▲CAN-FD幀格式
IDE(Identifier Extension)標志位擴展位:0表示11位ID,1表示29位ID。
r0,r1(Reserved for future use)保留未來使用:CAN-FD不支持遠程幀。
EDL(Extended Data Length)表示報文格式:0表示CAN-FD報文,1表示CAN報文。
BRS(Bit Rate Switch)速率轉換開關:0表示不轉換速率,1轉換速率。
ESI(Error State Indicator)錯誤狀態指示:0表示錯誤主動狀態,1錯誤被動狀態。
DLC(Data Length Code)數據長度代碼:線性部分為CAN的速率,非線性為CAN-FD可變部分。
CRC場
CAN總線由于位填充規則對CRC的干擾,會造成錯幀漏檢率,從而無法達到設計意圖。CAN-FD對CRC算法作了改變,即CRC以含填充位的位流進行計算。為避免在校驗和部分出現6個以上連續位,即在第一位以及以后每4位添加一個填充位加以分割。這個填充位的值是上一位的反碼,作為格式檢查,即如果填充位不是上一位的反碼,就作出錯處理。
CAN-FD的CRC場擴展到了21位。由于數據場長度有很大變化區間,所以要根據DLC大小應用不同的CRC生成多項式。如CRC_17,適合于幀長小于210位的幀,而CRC_21,適合于幀長小于1023位的幀。
DLC編碼
CAN-FD數據幀采用了新的DLC編碼方式,在數據場長度在0~8個字節時,采用線性規則。當數據場長度為12~64個字節時,使用非線性編碼。如圖所示。
▲DLC線性和非線性編碼
CAN-FD總線的特點
以差分信號進行傳輸,擁有出色的抗噪性能。
所有節點沒有主從之分,總線空閑時,任意節點都可向總線發送消息。
非破壞性位仲裁機制,用信息內的標識符ID決定信息發送優先順序,保證已發送數據的完整性與及時性。
繼承自CAN總線的CAN-FD總線上的節點沒有“地址”的概念,因此在總線上增加節點時,不會對總線上已有節點的軟硬件及應用層造成影響。
可以配合網絡的規模、系統的機能設定通信速度,此外兩條不同通信速度總線上的節點可通過網關實現信息交互。
具有容錯處理能力,所有的節點都可以檢測出錯誤,檢測出錯誤的節點會立即通知總線上其它所有的節點;正在發送消息的節點,如果檢測到錯誤,會立即停止當前的發送,并同時不斷地重復發送此消息,直到該消息發送成功為止。
能實現遠程數據請求,通過發送“遙控幀”請求其他單元發送數據。
05 DS70000示波器總線分析
CAN-FD總線分析對示波器的需求
在CAN-FD總線解析過程中,需要觀測系統噪聲對總線信號傳輸的影響,并判斷總線報錯時是否由于硬件造成的以及軟件編程的正確性。這對示波器的總線解析能力提出了更多的需求:
擁有高速采樣率,清晰捕捉和顯示串行模擬信號并觀測其物理特性。
擁有較大存儲深度,記錄較長時間的總線控制過程。
豐富的觸發功能及高波形捕獲率,捕獲到錯誤并對應捕獲波形發掘問題根因。
靈活的屏幕多窗口分屏顯示,同步顯示解碼結果與列表結果,方便觀測總線數據信息。
具有多路總線分析功能,滿足同時分析多路CAN節點的需要。DS70000總線分析功能
串行總線通信在汽車等各領域得到了廣泛應用。對于汽車制造,從制動系統到車輛導航系統,總線無處不在。要確保正常的車輛性能,保證電子控制單元(ECU)、傳感器和執行器之間的通信尤為重要。除了驗證總線協議的數字邏輯之外,還需要對波形質量、噪聲以及傳感器/執行器信號的同步測量進行模擬物理層驗證。
RIGOL自主研發的DS70000示波器獨特的總線分析功能具有突出的優勢:
擁有高采樣率,基于RIGOL的“鳳凰座”示波器專用芯片組,實現了國內最高的20GSa/s采樣率、5GHz實時帶寬,更真實捕捉并還原信號。
擁有更大存儲深度,基于RIGOL新一代UltraVision III平臺,實現最大2Gpts的存儲深度,在高采樣率下采集更長時間的波形,滿足長時間觀測的要求。
擁有豐富的觸發功能,以及可達每秒1百萬次的波形刷新率,更容易捕獲偶發的信號瑕疵。
具有強大的串行總線分析功能,支持多種主流串行總線,如RS232/UART、I2C、SPI、LIN、CAN、CAN-FD、FlexRay、I2S、MIL-STD-1553等。
解碼結果列表顯示,解碼總線上每個幀信息,包括地址、數據、標識符等,支持屏幕窗口列表顯示所有幀的分析結果,并可導出測試報告。
▲高采樣率 高帶寬
▲高波形刷新率
▲CAN總線觸發
▲解碼結果列表顯示
CAN-FD總線解碼分析測試步驟
在實際設計場景中,工程師可以通過協議分析輕松地發現錯誤、調試硬件、加快開發進度,為高速度、高質量完成工程提供保障。
而協議分析的基礎是協議解碼,只有解碼正確的協議分析才能夠被接受,只有正確的解碼才能反饋更多的錯誤信息以供工程師進行功能調試與設計改進。
DS70000示波器支持CAN-FD的解碼分析,并可實現4路總線分析,下圖為DS70000示波器CAN-FD解碼設置界面示意圖。
▲示波器分析配置
(1) 該選項可選擇解碼協議類型,支持CAN-FD解碼分析,此外可選擇SPI、FlexRay、I2S、1553B等多種協議選項進行解碼分析;
(2) 此處可以選擇打開或關閉總線解碼開關;
(3) 此處為信源選項,可以設置信源的閾值和類型;
(4) 此處信號速率選項,支持CAN和CAN-FD不同的信號速率,并可設置期望的采樣位置。
DS70000系列示波器擁有簡便的解碼設置操作界面,為工程師提供高效的測試工具。
06 總結
本文不僅在CAN總線發展歷程、總線拓撲圖及OSI協議棧模型上對CAN總線進行了較為全面的講解,同時從CAN-FD的數據幀幀格式、CRC算法到DLC編碼等方面,對CAN-FD總線的特點進行了更深入的介紹。除此之外,您還可以通過使用RIGOL自主研發的DS70000系列數字示波器,對CAN-FD等多種協議進行解碼分析。
DS70000依托于RIGOL工程師潛心十年打造的UltraVisonIII硬件平臺,搭載著自主研制的“鳳凰座”芯片組,實現了國內領先的20GSa/s超高采樣率,更具備多種人性化的設計,相信定能為您帶來超高品質的測試及分析體驗。
▲UltraVisionIII平臺框圖
原文標題:RIGOL技術站 | 汽車CAN-FD總線技術大揭秘
文章出處:【微信公眾號:RIGOL】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
模塊
+關注
關注
7文章
2695瀏覽量
47431 -
CAN
+關注
關注
57文章
2744瀏覽量
463612 -
總線
+關注
關注
10文章
2878瀏覽量
88051
原文標題:RIGOL技術站 | 汽車CAN-FD總線技術大揭秘
文章出處:【微信號:RIGOL,微信公眾號:普源精電RIGOL】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論