CAN 總線:工作原理、優點和缺點
CAN 總線:工作原理、優點和缺點
CAN 總線最初是博世在1980 年代為汽車應用而設計的。它是一種多主機、多從機、半雙工和容錯協議,非常適合汽車應用的要求。它簡單、低成本、可靠,可用於惡劣環境。CAN 總線為車輛中的所有ECU 提供了一個入口點,這使得連接和診斷變得容易。
CAN 總線數據可以提供對所連接設備的性能和狀態的寶貴見解。然而,由於高數據速率、低帶寬和多變的網絡條件,收集和處理CAN 總線數據可能具有挑戰性。克服這些挑戰的一種可能解決方案是使用MQTT,即使在網絡條件較差的情況下也能將數據從汽車及時傳輸到雲端。
“CAN 總線為車輛中的所有ECU 提供了一個入口點,這使得連接和診斷變得容易。”
CAN總線簡史
CAN 總線的主要目的是為汽車應用建立有效的通信系統,特別是為了降低車輛線束的複雜性。
1986 年,博世推出了他們最初的CAN 協議,由於其可靠性和穩健性,該協議在汽車製造商中迅速獲得了發展勢頭。到1993 年,它成為ISO-11898 下的國際標準。總結協議的演變:
• 1991 年:梅賽德斯-奔馳成為首批在其W140 S 級車型中實施CAN 總線的汽車製造商之一。
• 2004 年:推出CAN FD(靈活數據速率),提供比傳統CAN 網絡更高的數據速率和更大的有效載荷。
• 2015 年:採用ISO-16845:2015 作為實現經典CAN 和CAN FD 協議的設備的一致性測試計劃。
隨著時間的推移,除了汽車應用,其他行業也開始採用這種多功能網絡協議。今天,它用於工業自動化系統(CANopen) 和海洋電子設備(NMEA 2000)。它的廣泛採用主要歸功於它即使在惡劣條件下也能可靠運行,同時保持低成本實施要求。
CAN 總線如何工作?
CAN 總線是一種分散式通信協議。其分散式方法使其成為可靠性和實時性能至關重要的汽車和工業系統應用的理想選擇。
在CAN 網絡中,所有節點都通過雙絞線或光纖電纜連接。每個節點都有其微控制器負責處理傳入消息和發送傳出消息。數據由共享總線上的一個節點廣播,允許所有其他節點接收它。溝通過程的主要階段是:
1.仲裁:為了防止多個節點嘗試同時傳輸時發生衝突,CAN 使用基於消息優先級的仲裁過程。消息的標識符值越低,其優先級越高。
2.錯誤檢測:內置錯誤檢測機制可確保CAN 網絡中的數據完整性。這些包括循環冗餘校驗(CRC)、幀校驗序列(FCS) 和來自接收節點的確認位。
3.故障限制:如果任何節點在傳輸過程中檢測到錯誤或故障,它將進入“錯誤被動”狀態,直到恢復正常運行。這可以防止錯誤的傳輸影響整個系統的功能。
這種功能組合使CAN 總線能夠保持高水平的效率,同時確保複雜系統(如車輛或工廠自動化設備)中不同組件之間的可靠通信。
CAN 協議中的消息結構
CAN 總線系統中的消息結構對於設備之間的高效通信至關重要。該協議使用由多個字段組成的數據幀格式,包括標識符、控製字段、數據字段和錯誤檢測機制。
• 標識符:這個唯一的值決定了網絡上每條消息的優先級。在標準的11 位標識符(CAN 2.0A) 中,有多達2048 個不同的優先級可用。擴展的29 位標識符(CAN 2.0B) 提供了更多選項,具有超過十億個不同的值。
• 數據長度代碼(DLC):位於控製字段內,此代碼指定數據字段中存在的字節數——範圍從零到八個字節。
• 數據字段:包含在字節大小的段中跨節點傳輸的實際信息。
• 循環冗餘校驗(CRC):一種內置的錯誤檢測機制,通過檢測傳輸錯誤並在必要時請求重傳來確保可靠的通信。
• 確認槽:接收節點用來確認消息的成功接收或指示需要重傳的錯誤的單個位。
• 錯誤幀:CAN 消息傳遞的可選部分,允許節點在檢測到自身傳輸問題或從網絡上其他設備接收到的消息時發出信號。
CAN 的類型
以下是CAN 的三種主要類型:
#1:低速CAN
低速CAN,也稱為容錯或ISO 11898-3,以高達125 kbps 的速度運行。它專為不太關鍵的系統而設計,例如車身控制模塊、門鎖、窗戶控制等,在這些系統中數據傳輸速度並不重要。它的主要特點是即使在總線中的一根電線發生故障時也能繼續運行。
#2:高速CAN
高速CAN 或ISO 11898-2 可以達到高達1 Mbps 的速度。與低速網絡相比,這種類型的網絡具有更快的數據傳輸速率,因此適用於對時間更敏感的應用,例如發動機管理系統和電子製動系統。但是,它缺乏低速網絡中的容錯能力。
#3:CAN FD(靈活數據速率)
CAN
FD 由Bosch 於2012 年推出,是高速網絡的擴展,具有更高的數據速率(高達5 Mbps),同時保持與現有高速設備的向後兼容性。該技術的主要優勢在於它能夠比傳統CAN 更有效地傳輸更大的有效載荷,使其成為電子系統日益複雜的現代車輛的理想選擇。
CAN總線:優勢與挑戰
優點
CAN 總線數據可以為車輛的性能、健康狀況和行為提供有價值的見解。將CAN 總線數據收集到雲端是通過大數據分析發揮車輛數據潛力的有效方式。
通過將機器學習、人工智能或其他分析工具應用於從大量車輛收集的數據,汽車製造商可以獲得有價值的見解並利用它們來優化車輛性能。
• 故障檢測、故障排除和預測:通過分析CAN 總線數據,可以識別來自設備和傳感器的任何異常或錯誤信號。這可以幫助診斷問題的根本原因並在它導致更多損壞或安全問題之前解決它。製造商還可以通過將收集的數據輸入模型來訓練機器學習模型來預測故障。
• 可視化車輛數據:利用收集到的數據,用戶可以開發一個系統來在儀表板上顯示聚合數據,允許用戶過濾、排序和比較不同的車輛和指標。儀表板還根據數據分析提供警報和建議。該系統使用戶能夠深入了解他們的表現。
• 車路協調:將採集到的數據與道路基礎設施數據一起計算,構建車路協調系統。
人工智能時代,數據是最有價值的財產。通過將數據從汽車收集到雲端,然後將其分發到各種數據基礎設施(如數據庫和數據湖),用戶可以將數據用於幾乎所有類型的應用程序。
挑戰
在車輛本地收集CAN 總線數據已經相當成熟。然而,由於高數據速率、低帶寬和多變的網絡條件,收集和處理CAN 總線數據並將洞察力實時傳輸到雲端可能具有挑戰性。因此,將所有CAN 總線數據傳輸到雲端進行處理是不切實際的。相反,可以在邊緣側本地收集和處理CAN 總線數據,以減少數據量並將洞察力實時傳輸到雲端。
您至少需要兩個組件來構建這樣的解決方案:
1.邊緣計算引擎:邊緣計算引擎可以只採集需要的CAN總線信號,靈活處理並實時觸發MQTT傳輸動作。
2.雲端MQTT代理:MQTT代理可以幫助將處理後的CAN總線數據實時傳輸到雲端。