CAN和乙太網絡的混合網絡網關網管裝置及其交換方法與流程
2023-05-18 06:25:46 4

本發明涉及通信協議領域,尤其涉及車載can總線協議,tcp/ip協議棧tcp、udp通信。
背景技術:
在現行車載網絡中,較為通用的是can總線網絡。但是速度較慢,理論通信速度僅為乙太網通信速率的百分之一。隨著物聯網的興起和輔助駕駛的興起,車載傳感器的數量顯著增加。整車電控系統日趨複雜,整車上越來越多的電控系統採用ecu刷新的方式進行軟體、標定等的更新,刷新總數據量增大;此外,隨著人們對車輛舒適性,便利性及用戶體驗的要求越來越高,車載導航、娛樂等系統的應用數據量也正在變得愈來愈大,特別是當引入攝像頭等圖像採集設備進行圖像分析處理時,對總線的速率要求較高。基於can網絡的傳統方式因受can總線傳輸速率的限制已經難以滿足高效率刷新要求。
乙太網的速率可以達到要求。但是將整個車載網絡替換成乙太網,需要完全替代掉原有的傳感器設備。同時傳統的乙太網總線rj45成本高、橫截面大,不適合做車載總線。
為了克服現有技術中的上述缺陷,本發明提出了一種車身結合can和ethernet的混合網絡網關及其數據交換方法。本發明通過建立can和ethernet的混合網關的辦法,實現can總線網絡和ethernet網絡的融合,提出了協議轉換的方法。同時提出了採用雙絞線代替rj45線作為乙太網通信線路的方法,對於雙絞線具有較高的穩定性和靈活性,因此在車載can網絡中廣泛使用。
技術實現要素:
本發明提出了一種車身結合can和ethernet的混合網絡網關裝置,包括如下模塊:can報文收發模塊,其用於捕捉can報文、在can網絡上發送報文和監聽can總線狀態;ethernet報文收發模塊,其用於接收和發送ethernet報文,通過適配網絡協議、實現協議棧,可直接接入包括wifi、4g的通用乙太網絡;信息處理轉換模塊,其與所述can報文收發模塊及所述ethernet報文收發模塊通信,用於處理所述can報文收發模塊和所述ethernet報文收發模塊接收到的消息,同時可以使用所述can報文收發模塊和所述ethernet報文收發模塊發送報文;邏輯主控模塊,其與所述信息處理轉換模塊通信,用於維護網絡狀態,響應經過所述信息處理轉換模塊轉換識別的指令,同時確定轉發方向以及關係,識別刷新指令,實現車載設備和本網絡可通過乙太網絡刷新,即在線升級應用程式。
本發明提出的所述車身結合can和ethernet的混合網絡網關裝置中,所述ethernet報文收發模塊採用broadr-reach雙絞線,雙端接口採用server和master的非對稱設計。
本發明提出的所述車身結合can和ethernet的混合網絡網關裝置中,所述ethernet報文收發模塊移植實現了通用乙太網協議棧,支持應用層的tcp、udp、http等多種連接協議。
本發明提出的所述車身結合can和ethernet的混合網絡網關裝置中,所述can報文收發模塊網絡實現了can報文收發的通信時序的封裝;對數據的拆包和打包方面在整個協議的傳輸層進行。
本發明還提出了一種基於所述的混合網關網管裝置的數據交換方法,包括如下步驟:
步驟一:掛載在所述can報文收發模塊上的所有設備設置特殊標誌,當收到ethernet和can消息時,若對應設備的id在消息的記錄項中,則所述設備的特殊標誌被轉發到can網絡上;
步驟二:所有非本機ip地址的ethernet報文將會被轉發到其餘掛載在本ethernet報文收發模塊上的ethernet網絡上;
步驟三:所有目標地址是本網關的ethernet報文將會被封裝成can報文通過can報文收發模塊發送到對應can網絡上。
本發明利用can和ethernet混合網關等方法,在原有車載網絡基礎上集成更快速度的傳感網絡,其有益效果是,可以傳輸更高精度的數據,實現更複雜的邏輯,且不影響原來的功能,同時兼容了目前常見的乙太網絡和舊的can設備。
附圖說明
圖1是本發明車身結合can和ethernet的混合網絡網關的示意圖。
圖2是本發明使用和拓展接線示意圖。
圖3是在原有車載網絡中接入示意圖
圖4是實施例1拓撲結構示意圖。
圖5是實施例2拓撲結構示意圖。
圖6是實施例3拓撲結構示意圖。
圖7是實施例4拓撲結構示意圖。
圖8是實施例5拓撲結構示意圖。
圖9是實施例6拓撲結構示意圖。
圖10是在網關和上位機端都接入了額外的無線收發裝置的拓撲結構示意圖。
具體實施方式
結合以下具體實施例和附圖,對本發明作進一步的詳細說明。實施本發明的過程、條件、實驗方法等,除以下專門提及的內容之外,均為本領域的普遍知識和公知常識,本發明沒有特別限制內容。
本發明通過轉發can報文到ethernet網絡上和將ethernet報文轉發到can網絡上實現了can和ethernet網絡的融合。同時可以將多路can網絡和多路ethernet網絡連接到一起。從而滿足對於新一代汽車乙太網總線在診斷應用、乙太網刷新車載控制單元應用、大數據傳輸驗證等方面的網關控制器驗證。
本發明公開了一種車身結合can和ethernet的混合網絡網關及其數據交換方法,包括:can報文收發模塊,用於和車上的can總線上的設備進行通信;ethernet報文收發模塊,用於與乙太網上的設備進行通信,包括上位機和新型的ethernet車載設備;信號處理轉換模塊,用於解析、封裝、轉發can報文和ethernet報文,並使其符合要求的協議;邏輯主控模塊,用於確定報文分發方向,響應ethernet診斷口發來的相關診斷指令,控制板載外設獲取數據信息。現在的大多數網關的做法都是在應用層進行報文解析和轉發,本發明涉及的can報文和乙太網報文的轉換機制主要工作在傳輸層,因此不需要理解數據的具體語義。由於車載設備的對安全性的要求較高,這種做法可以使得轉發過程中不查看、修改數據內容,從而不影響can報文的中的加密、解密算法。使得車載網絡中各個設備可以設計使用不同的加密、解密算法而不受影響。由於轉發協議棧實現中少了一層處理時間,使得本發明報文轉發傳輸時延小、丟包率低,可以建立較穩定、實時的連結。基於此實現的can網絡和乙太網的融合,使得can網絡和乙太網網絡內設備可以流暢通信。
本發明設計的can報文和乙太網報文的轉換,是在傳輸層進行拆包分析再裝包的。對於數據的理解只到報文層面,免去了引入上層邏輯協議的數據語義理解。節省設備運算能力,提供轉換效率。專注轉發,減少丟包率和轉發時延。本發明在乙太網上設備之間實現互聯和can網絡設備之間實現互聯的基礎上,實現了can設備和乙太網設備之間的互通互聯。在汽車網絡升級換代的進程中,本發明為兼容舊的can設備提供了一個有效的解決方案。
本發明提出的can報文收發模塊,主要用於監控車載can網絡上的報文以及往can總線上發送報文,監聽總線忙等狀態,可以單路或多路can。且可以在代碼中選擇具體某個can進行異步發送,從而達到並行效果。
本發明提出的ethernet報文收發模塊,可以監聽多路ethernet鏈路,截取發送給自己的ethernet報文,同時將別目的地址的報文轉發到其他ethernet鏈路上,不需要做多餘的轉發操作。
本發明提出的信號處理轉換模塊,可以操作can報文,即可以解析can報文中數據,也具備將信息封裝成can報文的能力。可以操作ethernet報文,即可以將信息封裝成ethernet報文,也可以將ethernet報文中數據解析、讀取出來。
本發明提出了一種can和ethernet報文互轉方法,包括如下步驟:
can消息處理步驟,在接收到can消息後將信息按照要求的封裝方法分裝成ethernet報文,放到ethernet網絡上。封裝方法可以按照doip協議進行一對一分裝,或者為了提高速度可以用多對一的封裝。
ethernet消息收發步驟,在將ethernet相關參數設置好後,便可以參照tcp/ip協議棧進行socket通信。包括了tcp報文、udp報文在內全套建立連接等傳輸步驟的實現和封裝。
ethernet消息處理步驟,在接收到ethernet消息之後,按照發送方使用的封裝規則,解析拆包,封裝成多個can報文,並發送到對應的can總線上。
消息隊列緩衝步驟,由於ethernet傳輸速率更高,但是建立連接時間較長。本發明實現了在收到can報文和ethernet報文進行緩存,採用先入先出規則,通過緩存協調解決兩種報文收發時的速率不統一的問題。
本發明還使用了一種用雙絞線代替rj45作為ethernet傳輸數據線的做法。用broadr-reach口作為數據接口。設置成slaver和master作為一對雙絞線的兩端,在此兩個接口之間傳輸數據。
圖1所示系統組成圖顯示了本發明網關既可以用於can通信,也可以用於ethernet網絡通信。還具備了多個can和ethernet網絡報文依據裝換協議互聯互通的功能。在收到報文之後,處於中央位置的信號處理轉換模塊(3)會處理得到實質內容的消息,可以再分裝成can或者ethernet報文,放到can或ethernet網絡上,從而達到can和ethernet互通的效果。本系統對can報文和乙太網報文的處理,處在連接層之上,應用層之下。對於報文的具體語義,如連續幀、維持幀不做理解區分,可以簡化網管程序邏輯只做轉發,降低轉發時延、最小化丟包率和保證發送順序。這些措施使得報文實時性提高,從而不影響設備間通信的正常時序邏輯。當前乙太網做車載物聯網的理論已經比較成熟,本系統做轉發的網關提供一種使現有乙太網兼容can設備的實現方案,降低車承載乙太網總線應用成本。
邏輯主控模塊實現了基於車用乙太網的診斷服務:基本診斷服務是基於doip基礎上實現最基本的診斷服務,包括診斷會話服務控制車載設備重置服務,通訊控制服務診斷存在服務。作為網關,對普通車載設備的can數據轉發功能:包括跨越乙太網網關的can數據轉發,乙太網診斷轉入can車載設備等。針對can轉ethernet轉can網關的時間約束:網關乙太網轉乙太網,乙太網轉can等收發的時間約束情況可以得到有效的控制。基於車用乙太網的刷新:通過乙太網接口,運行在計算機上的上位刷新工具軟體可以對本項目研發輸出的乙太網網關原型車載設備進行軟體刷新。基於車用乙太網,使用ethernet轉can網關轉換後,傳統can車載設備的刷新通過乙太網接口,運行在計算機上的上位刷新工具軟體可以通過乙太網網關車載設備轉入can信號,然後對傳統can車載設備進行軟體刷新。
本網關可以和同種設備疊加組成複雜的網絡,可以接入一個或多個can網絡,或者一個或多個ethernet網絡,如圖2所示的各個can網絡之間可以正常通信:can網絡1發往can網絡2的數據報文將會經過網關2進行轉發,網關2在對設備id進行判斷後將會轉發至can網絡2而不會轉發到網關1。can網絡1發往can網絡3的網絡報文將會經過網關2進行轉發,網關2將會通過網關1和網關3轉發到can網絡3。
本網關可以在與can網絡不衝突的基礎上添加ethernet網絡。如圖2所示的ethernet設備也可以相互通信,也可以和can網絡中的設備通信。上位機也可以和接入網絡中的任何一個設備進行診斷通信、刷新操作。
如圖3所示的是將車載can設備組成的網絡分成兩部分,中間用ethernet透傳的拓撲連接示意圖。兩端的車載設備可以正常的用can報文通信,且具有穩定性。can報文在被網關收到之後被打包成ethernet報文發布到示意圖中間的ethernet網絡之中。使得數據處理無需理解上層語義,在提升效率同時維持了信息安全的保護,這對於一些保密性要求較高的車載設備非常有幫助。豐富完備的標準協議的支持和封裝使得上位機應用的編寫十分方便,讓車載網絡和通用乙太網的連接成為可能,極大地拓展了應用場景。對應的網關接收到ethernet報文之後再轉換成can報文放到另一端的can網絡上。從而使得原來的車載設備can通信不受影響。
實施例:
圖4顯示的診斷用上位機連接網關以測試ethernet診斷傳輸測試。通過上位機診斷程序發送多種診斷服務請求,檢查網關對診斷服務的響應。根據診斷標準發送診斷服務,ecu將會正確響應,可以通過ethernet上的上位機程序對本網關的程序動態升級和刷新。
圖5顯示的是網關的can診斷測試。通過網關發送can診斷服務,can設備將會收到診斷報文,且正確響應。從can分析儀中可以觀察到數據流過程。
圖6顯示的是網關的ethernet診斷測試。網關通過ethernet發送診斷報文,ethernet設備將會收到診斷請求報文,並做出正確診斷響應。從ethernet分析儀觀察到數據流過程。
圖7是診斷上位機透傳網關診斷can設備診斷測試以及通過網關刷新can設備測試。通過can設備發送診斷服務請求,上位機程序做出正確響應。上位機導入被測設備刷新目標文件,指令被透傳到can網絡上。從而實現了接入網絡的車載設備,通過接入ethernet網絡的上位機程序來高效刷新固件。
圖8是can設備透過ethernet網絡通信連通性測試以及網關透傳can報文的實車負載測試。can1設備發送診斷服務請求,can2接收到正確的指令,並做出正確回應。將車上一個can鏈路斷開,將本發明網關系統接入,測試實車運行情況。車輛在兩個can網絡的設備正常通信,沒有故障報告。
圖9是測試上位機通過網關刷新ethernet設備。上位機導入被測設備刷新目標文件。目標設備在接收到刷新ethernet報文後,開始刷新固件,完成後重啟並進入應用模式。
圖10是在網關和上位機端都接入了額外的無線收發裝置。因為本網關對於tcp\ip協議的支持,上位機可以在當前常見的ethernet網絡環境中使用。所以當前市面常見無線收發裝置都可以使用。如無線路由器時間接入wifi,3g、4g上網卡實現接入3g、4g。從而使得前面提到的所有刷新操作都可以在通用乙太網絡(包括無線環境)下使用。
本發明的保護內容不局限於以上實施例。在不背離發明構思的精神和範圍下,本領域技術人員能夠想到的變化和優點都被包括在本發明中,並且以所附的權利要求書為保護範圍。