標(biāo)注:本文來自本實(shí)驗(yàn)室杜興華的研究成果。
2 構(gòu)建車載以太網(wǎng)數(shù)字孿生模型客戶端
在車載以太網(wǎng)數(shù)組孿生模型中,AddEthernetType 表示引入以太網(wǎng)的類型。本文中以太網(wǎng)類型為車載以太網(wǎng)。
在該模型中,引用 MDD 的Blocks 功能,將車載以太網(wǎng)加入到模型中,表示我們本次要做的仿真模型為車載以太網(wǎng)的模型。AddEthernetType 模型如圖 2-1 所示。
圖 2-1: AddEthernetType 模型
2.2 GetEthernetType
在車載以太網(wǎng)數(shù)字孿生模型中,GetEthernetType 可以識(shí)別引入的以太網(wǎng)的類型,從而建立通信。本文中以太網(wǎng)類型為車載以太網(wǎng)。
在該模型中,引用 MDD 的Blocks 功能,識(shí)別引入的車載以太網(wǎng),與引入的車載以太網(wǎng)建立通信,從而建立 GetEthernetType 模型。GetEthernetType 如圖 2-2 所示。
圖 2-2: GetEthernetType 模型
2.3 AddMAC
車載以太網(wǎng)數(shù)字孿生模型中,AddMAC 表示在引入以太網(wǎng)的 MAC 地址。
用長(zhǎng)度為 255 的char 類型數(shù)組來表示 MAC 地址,引用 MDD 的Blocks 功能,引入以太網(wǎng)的 MAC 地址。模型見圖 2-3。
圖 2-3: AddMAC 模型
2.4 GetMAC
車載以太網(wǎng)數(shù)字孿生模型中,GetMAC 表示得到以太網(wǎng)的 MAC 地址。
在該模型中,同樣使用長(zhǎng)度為 255 的 char 類型數(shù)組來表示 MAC 地址,引用 MDD的Blocks 功能,該模型可以在數(shù)據(jù)包中解析到 MAC 地址。GetMAC 模型如圖 2-4 所示。
圖 2-4: GetMAC 模型
2.5 Test01
在車載以太網(wǎng)數(shù)字孿生模型中,Test01 表示使用TCP/IP 協(xié)議、UDP 協(xié)議、MAC 協(xié)議等模擬出車載以太網(wǎng)的模型。
在該模型中,將TCP/IP 協(xié)議和 SerialPackger 塊連接起來,建立車載以太網(wǎng)的網(wǎng)絡(luò), 車載以太網(wǎng)客戶端徹底組建完成,待與后端建立網(wǎng)絡(luò)連接之后,便可以進(jìn)行車載以太網(wǎng)和車載網(wǎng)絡(luò)之間的通信。Test01 模型如圖 2-5 所示。
2-5: Test01 模型
3 建立車載以太網(wǎng)后端服務(wù)器
在本文的車載以太網(wǎng)數(shù)字孿生模型中,后端服務(wù)器用 python 代碼實(shí)現(xiàn),使用 python模擬 TCP/IP 服務(wù)器,輸入和輸出的數(shù)據(jù)形式為以太網(wǎng)第二層數(shù)據(jù)幀。
3.1 設(shè)置 HOST 地址和 MAC 地址
我們首先設(shè)置一個(gè)給車載以太網(wǎng) HOST 地址和 MAC 地址,如圖 3-1 所示。
圖 3-1: HOST 地址和 MAC 地址
3.2 設(shè)置以太網(wǎng) IEEE 802.3 接口的全局定義
在車載以太網(wǎng)網(wǎng)址中定義 ETH_ALEN,占據(jù)八個(gè)字節(jié),在車載以太網(wǎng)類型字段中定義 ETH_TLEN,占據(jù)八個(gè)字節(jié),設(shè)置 ETH_DATA_LEN = 2,表示車載以太網(wǎng)報(bào)文有效載荷長(zhǎng)度為 2,設(shè)置 ETH_FRAME_LEN = 1514,表示在 FCS 中的八位字節(jié)中最大值為 1514。代碼如圖 3-2 所示。
圖 3-2: 車載以太網(wǎng)全局設(shè)置
3.3 以太網(wǎng)可聯(lián)通性檢查工具
可連通性測(cè)試可以讓我們知道服務(wù)器訪問互聯(lián)網(wǎng)的狀況??蛇B通性測(cè)試提供了一種可靠的方式,使外部來源檢查以太網(wǎng)網(wǎng)絡(luò)連接。當(dāng)我們認(rèn)為一切都正確配置,但無法測(cè)試連接時(shí),該測(cè)試會(huì)提供即時(shí)反饋,讓我們明白我們的配置是否可以真正進(jìn)行外部訪問。可連通性測(cè)試代碼如圖 3-3 所示。
圖 3-3: 以太網(wǎng)可聯(lián)通性檢查工具
3.4 生成一個(gè)隨機(jī)的 MAC 地址及其原始字符
首先生成一個(gè)隨機(jī)的 MAC 地址,讓以太網(wǎng)服務(wù)器擁有物理地址。代碼如圖 3-4 所示。
圖 3-4: MAC 地址隨機(jī)生成函數(shù)
3.5 建立服務(wù)器與車載以太網(wǎng)模型的通信
首先服務(wù)器在端口上監(jiān)聽車載以太網(wǎng)模型發(fā)出的數(shù)據(jù)包,監(jiān)聽到數(shù)據(jù)包之后進(jìn)行解析,并且獲得通信目標(biāo)的 MAC 地址。獲得地址之后進(jìn)行數(shù)據(jù)的偏移,檢測(cè)獲得目標(biāo)的MAC 地址是否和機(jī)器的 MAC 地址一致,如果不一致,返回一條錯(cuò)誤信息,如果一致, 則建立通信連接,在給目標(biāo)發(fā)送數(shù)據(jù)包時(shí)需要交換源地址和目標(biāo)地址。通信代碼如圖 3-5 所示。
圖 3-5: 建立通信
首先我們運(yùn)行python 的服務(wù)器代碼,讓服務(wù)器處于監(jiān)聽狀態(tài),之后在 OpenModelica里面運(yùn)行車載以太網(wǎng)的仿真模型,讓兩者建立通信,并且查看建模仿真結(jié)果。運(yùn)行服務(wù)器代碼結(jié)果如圖 4-1 所示。
圖 4-1: python 代碼運(yùn)行結(jié)果
由此圖可以看出服務(wù)器正在監(jiān)聽,暫時(shí)還沒有收到數(shù)據(jù)包。
接下來運(yùn)行 OpenModelica 里面的車載以太網(wǎng)模型,結(jié)果如圖 4-2 所示。
4-2: 模型運(yùn)行結(jié)果
此時(shí)我們回看服務(wù)器運(yùn)行結(jié)果,可以看到服務(wù)器與車載以太網(wǎng)模型已經(jīng)建立通信連接。結(jié)果如圖 4-3 所示。
圖 4-3: 通信連接
編輯:jq
-
Mac
+關(guān)注
關(guān)注
0文章
1117瀏覽量
53100 -
車載以太網(wǎng)
+關(guān)注
關(guān)注
18文章
244瀏覽量
23526 -
TCP/IP
+關(guān)注
關(guān)注
0文章
15瀏覽量
10743
發(fā)布評(píng)論請(qǐng)先 登錄
NVIDIA Halos自動(dòng)駕駛汽車安全系統(tǒng)發(fā)布
汽車以太網(wǎng)ESD保護(hù)

汽車以太網(wǎng)的演化進(jìn)程

汽車以太網(wǎng)發(fā)明人領(lǐng)銜出席,2025 AES第六屆中國(guó)國(guó)際汽車以太網(wǎng)峰會(huì)啟動(dòng)報(bào)名!
TOSUN 車載以太網(wǎng)仿真測(cè)試解決方案

MEMS技術(shù)在自動(dòng)駕駛汽車中的應(yīng)用
工業(yè)以太網(wǎng)的應(yīng)用場(chǎng)景分析
自動(dòng)駕駛汽車安全嗎?


車載以太網(wǎng)線束傳輸性能——汽車線束故障定位實(shí)際測(cè)試結(jié)果分析#車載以太網(wǎng)
CAN FD和車載以太網(wǎng)在自動(dòng)駕駛領(lǐng)域中的實(shí)際應(yīng)用
ICVS中國(guó)智能汽車及自動(dòng)駕駛博覽會(huì),TOSUN誠(chéng)邀您蒞臨3-C26展臺(tái)

評(píng)論