當原有的CAN通訊無法滿足硬件節點和傳輸速率的增加時,很多工程師會使用CAN FD來替代,從而實現數據量傳輸的提速。那么CAN可以通過哪些方式快速升級到CAN FD呢?哪種方式更適合你?一起來看看。
CAN FD升級的意義
當今社會,汽車已經成為了我們生活中不可缺少的一部分,人們希望汽車不僅僅是一種代步工具,更希望是生活及工作范圍的一種延伸。在汽車上就像坐在自己的辦公室和家里一樣,可以打電話、上網、娛樂、工作。因此,汽車制造商為了提高產品競爭力,將越來越多功能集成到了汽車上。ECU(電子控制單元)大量地增加使總線負載率急劇增大,傳統的CAN總線越來越顯得力不從心。因此,CAN FD(CAN with Flexible Data-Rate)協議誕生了。
它繼承了CAN總線的主要特性,提高了CAN總線的網絡通信帶寬,改善了錯誤幀漏檢率,同時可以保持網絡系統大部分軟硬件特別是物理層不變。這種相似性使ECU供應商不需要對ECU的軟件部分做大規模修改即可升級汽車通信網絡。
CAN FD與CAN的主要區別
圖1 CAN幀基本格式
圖2 CAN FD幀基本格式
如圖1、圖2所示分別是CAN幀和CAN FD幀的基本格式,區別主要分為兩大點:
1.BRS(可變速率)
CAN FD的傳輸速率分為兩個頻段,從BRS位開始到CRC校驗之前這一段是可變速率段,這一段的波特率可以進行加速,理論最高可達到5Mbit/s,而其他位置則和CAN2.0一樣,最高速率可達到1Mbit/s。
2.數據場長度增加BRS
CAN FD對數據場的長度做了擴充,從CAN的8字節增加到CAN FD的64字節。如圖3所示,當DLC小于8字節時和CAN一樣是線性增長,當大于8字節時是非線性增長。
圖3 DLC編碼方式
CAN FD的升級與CAN是否有沖突?
由于使用CAN FD網絡時,需要ECU和CAN控制器、收發器均支持CAN FD通訊。所以當CAN網絡中某些節點升級為CAN FD時,車輛上CAN與CAN FD處于共存的情況,因為普通的CAN節點無法正常解析CAN FD報文,節點就會一直報錯,出現大量錯誤報文,導致總線通訊異常。
圖4 CAN與CAN FD報文的波形對比
如圖4所示,可以看到CAN FD的傳輸速率是5Mbit/s,而CAN的傳輸速率為500Kbit/s,我們在平常使用上位機軟件解析CAN報文的時候需要設置對應的波特率,否則報文就無法解析。那么用一種簡單的方式來理解,對于CAN節點來說,它的波特率是500K,那么5M的波特率與它不匹配,所以不能被正常解析,該節點就會報錯,導致CAN FD報文一直無法正常發送,干擾總線的正常運行。
CAN FD升級的解決方案
盡管CAN FD繼承了絕大部分傳統CAN的特性,但是從傳統CAN到CAN FD的升級,我們仍需要做很多的工作。
針對CAN FD升級的情況,一般有4種快速解決方案。
1.CANFDBridge- CAN/CANFD智能協議網橋
在原有的CAN網絡上通過CAN網橋與新的CAN FD節點進行連接,將傳統的CAN總線網絡通過協議轉換與CAN FD網絡進行融合,快速實現CAN設備的升級。工作原理如圖5所示,當接收到CAN FD報文的時候,CAN網橋會采用直轉、合并、拆分三種方式實現傳統CAN的8字節長度和CAN FD的64字節長度的互相轉換,無損還原原有數據。
圖5 CANFDBridge界面