目前,整車的網絡拓撲中,CAN FD的使用已經非常普遍。當然,帶來的問題也非常的多。CAN FD在設計之初,就考慮了向后兼容Classic CAN,以便于CAN FD報文和經典CAN報文在同一個局域網內共存。然而,具體到工程的實現,很多細節還需要開發人員把控,確保網絡通信的魯棒性。本文,從經典CAN和CAN FD組網的角度討論如下幾個問題:
1、經典CAN網絡加入CAN FD節點,需要注意什么?
2、CAN和CAN FD的ID可以相同嗎?
3、采樣點對通信的影響
1、經典CAN網絡加入CAN FD節點,需要注意什么?
當整車電子電器架構由原有的經典CAN網絡拓撲升級到支持CAN FD的網絡拓撲時,節點的軟/硬件均需要有所改變。CAN的網絡拓撲升級如下所示:
(一)硬件改變
當經典CAN節點升級到CAN FD節點時,需要考慮Transceiver和Controller的選型。
Transceiver選型:
因為CAN FD的數據段支持更高的通信速率(eg:2000Kbps),意味著Transceiver可以進行更快的數(Digital)/模(Analog)信號的轉換,所以,如果要支持CAN FD報文,對于CAN FD節點,Transceiver選型中,要選擇支持CAN FD的收發器。eg:TLE6250(不支持CAN FD),不能選用,NXP TJA1145(支持CAN FD),可以選用。
Controller選型:
一般,CAN Module(主要指CAN Controller)集成在主芯片中,所以,選擇主芯片時,需要選擇支持CAN FD通信的芯片。就目前常用的主流芯片(eg:英飛凌、瑞薩、ST等),幾乎都支持CAN FD通信。
網絡拓撲增加CAN FD節點,不能僅增加一個CAN FD節點,如果僅增加一個CAN FD節點,意味著這個CAN FD節點發送的CAN FD報文,沒有對應的接收節點,也就會造成No Ack錯誤,總線上出現錯誤幀,如下所示:
所以,支持CAN FD報文的網絡,需要至少兩個通信CAN FD節點。 CAN和CAN FD的組網通信如下所示:
(二)軟件改變 如果CAN的網絡拓撲中,增加了CAN FD節點,需要Classic CAN節點設置CAN ID的過濾功能,否則,Classic CAN節點會將CAN FD報文數據段按照500Kbps速率采樣,進而可能造成數據采樣錯誤,發送錯誤幀,影響總線通信。關于CAN采樣原理,可以參考前文《CAN通信基礎:采樣原理》。 如何理解過濾?為了降低CPU的負載,在開發中,會對總線報文進行過濾(Filter)設置,即:節點只接收需要的報文,忽略非相關報文。具體的操作可以參考芯片手冊說明,如下(Aurix手冊)示意:
如上圖,過濾的實質是將與節點不相關的報文丟棄,只有數據相關才放入接收緩沖區,也就是郵箱(Mailbox)。
注意:上圖的過濾,從ID開始過濾,如果ID不同,則ID之后的數據,節點不在接收。
2、CAN和CAN FD的ID可以相同嗎?
答:可以。在11898的規范中,CAN和CAN FD報文格式不同,如下所示:
所以,即使ID(IDentifier)相同,CAN和CANFD報文也不是相同的報文。所以,兩者可以在一個網段內共存,且不會影響對應節點的接收,示意如下:
提示:由于Classic CAN的FDF位為顯性(0),CAN FD報文的FDF位為隱性(1),因此,在CAN仲裁過程中,當CAN和CAN FD的ID相同時,根據"線與"規則,CAN報文優先搶占總線使用權。
3、采樣點對通信速率的影響
CAN通信質量的好/壞,需要合理的采樣點保證。不管是CAN或者CAN FD,開發或者測試中,要嚴格按照需求設置采樣點,否則,可能導致節點發送錯誤幀,影響總線通信。
舉例:
在CANoe中設置仲裁段采樣點為65%,通信質量如下所示:
在CANoe中設置仲裁段采樣點為95%,通信質量如下所示:
審核編輯:劉清
-
局域網
+關注
關注
5文章
751瀏覽量
46277 -
網絡拓撲
+關注
關注
0文章
101瀏覽量
11373 -
過濾器
+關注
關注
1文章
428瀏覽量
19593 -
CAN收發器
+關注
關注
2文章
165瀏覽量
25637 -
CANoe總線
+關注
關注
0文章
4瀏覽量
928
原文標題:CAN和CAN FD組網思考
文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論