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總線上的節點沒有“地址”的概念,因此在總線上增加節點時,不會對總線上已有節點的軟硬件及應用層造成影響。
· 可以配合網絡的規模、系統的機能設定通信速度,此外兩條不同通信速度總線上的節點可通過網關實現信息交互。
· 具有容錯處理能力,所有的節點都可以檢測出錯誤,檢測出錯誤的節點會立即通知總線上其它所有的節點;正在發送消息的節點,如果檢測到錯誤,會立即停止當前的發送,并同時不斷地重復發送此消息,直到該消息發送成功為止。
· 能實現遠程數據請求,通過發送“遙控幀”請求其他單元發送數據。
5、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等。