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