• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于DoIP協(xié)議的診斷刷新系統(tǒng)研究

      2024-08-15 00:00:00巴怡然
      時(shí)代汽車 2024年14期

      摘 要:隨著軟件在汽車領(lǐng)域的占比越來(lái)越高,車載軟件的通信及刷新速率低的問(wèn)題逐漸突出。文章介紹了ISO 13400 DoIP協(xié)議和ISO 14229診斷協(xié)議,分析DoIP幀格式和通信原理,設(shè)計(jì)刷新過(guò)程和診斷通信流程,實(shí)現(xiàn)了基于DoIP協(xié)議的診斷刷新功能,極大提高了ECU刷新的時(shí)間性能和效率。

      關(guān)鍵詞:以太網(wǎng) DoIP ECU刷新 診斷協(xié)議

      隨著車聯(lián)網(wǎng)技術(shù)的發(fā)展和車載軟件日益復(fù)雜化,傳統(tǒng)的車載CAN總線通信速率無(wú)法滿足新技術(shù)對(duì)車輛數(shù)據(jù)傳輸帶寬的需求,而車載以太網(wǎng)以帶寬高、開(kāi)放性好、兼容性強(qiáng)、可靠性高、同時(shí)又滿足車載嚴(yán)格法規(guī)要求的優(yōu)勢(shì),成為下一代車載網(wǎng)絡(luò)技術(shù)中最有前景的應(yīng)用[1]?;谝蕴W(wǎng)的DoIP刷新技術(shù)充分利用了以太網(wǎng)高帶寬的優(yōu)點(diǎn),使設(shè)備與ECU之間及ECU內(nèi)部芯片之間,建立起高通信速率的傳輸通道,實(shí)現(xiàn)基于以太網(wǎng)和UDS協(xié)議的通信。本文將重點(diǎn)介紹DoIP診斷刷新系統(tǒng)的研究和實(shí)現(xiàn)。

      1 DoIP診斷通信原理

      1.1 DoIP協(xié)議介紹

      DoIP(Diagnostic communication over Internet Protocol)是一種基于互聯(lián)網(wǎng)協(xié)議的診斷。基于該診斷協(xié)議,主機(jī)廠和售后工程可以對(duì)車輛進(jìn)行診斷、刷新等操作[2]。

      DoIP協(xié)議形成了ISO 13400標(biāo)準(zhǔn)《道路車輛—基于互聯(lián)網(wǎng)協(xié)議的診斷通信(DoIP)》。該標(biāo)準(zhǔn)分成3個(gè)部分:

      (1)通用信息和用例定義;

      (2)傳輸協(xié)議和網(wǎng)絡(luò)層服務(wù);

      (3)基于IEEE802.3的車用有線接口。

      即ISO 13400標(biāo)準(zhǔn)介紹了其物理層、數(shù)據(jù)鏈路層、傳輸層、網(wǎng)絡(luò)層等內(nèi)容。OSI模型將數(shù)據(jù)通信分為七層,DoIP是位于OSI模型中的應(yīng)用層,通過(guò)TCP/UDP協(xié)議傳輸。應(yīng)用層和會(huì)話層部分采用ISO 14229實(shí)現(xiàn),物理層與數(shù)據(jù)鏈路層遵循ISO 13400標(biāo)準(zhǔn)。具體參考表1所示[3]。

      1.2 DoIP報(bào)文格式

      DoIP協(xié)議支持IPv4與IPv6協(xié)議,以及對(duì)應(yīng)的地址解析ARP協(xié)議、NDP協(xié)議以及控制報(bào)文協(xié)議ICMP。所有統(tǒng)一網(wǎng)段的DoIP都必須使用相同的IP協(xié)議版本。由于DoIP在OSI模型中位于應(yīng)用層,故DoIP報(bào)文前要封裝ETH首部、IP首部及TCP/UDP首部。DoIP報(bào)文包括協(xié)議版本號(hào)、版本號(hào)取反、負(fù)載類型、負(fù)載長(zhǎng)度及DoIP數(shù)據(jù)。以太網(wǎng)報(bào)文封裝格式如圖1所示。

      版本號(hào)占1個(gè)字節(jié),標(biāo)識(shí) DoIP 協(xié)議版本編號(hào),取值范圍為0x00 至 0xFF,通常取 0x02(DoIP 2012)。

      版本號(hào)取反占1個(gè)字節(jié),是版本號(hào)與 0xFF 邏輯運(yùn)算異或的值。如版本號(hào)為 0x02,則版本號(hào)取反則為 0xFD。版本號(hào)取反值與版本號(hào)值配合起到協(xié)議驗(yàn)證的作用,以確保接收DoIP報(bào)文的準(zhǔn)確性。

      負(fù)載類型占2個(gè)字節(jié),用于判斷數(shù)據(jù)用途,常用診斷數(shù)據(jù)類型有0x8001、0x8002和0x8003分別表示診斷消息、診斷消息正響應(yīng)、診斷消息負(fù)響應(yīng)。

      負(fù)載長(zhǎng)度占4個(gè)字節(jié),標(biāo)識(shí)后面的實(shí)際診斷數(shù)據(jù)長(zhǎng)度。

      負(fù)載,占用最大字節(jié)數(shù)為4Gbytes,實(shí)際診斷數(shù)據(jù)可以少于最大字節(jié)數(shù),診斷數(shù)據(jù)又包括源地址、目標(biāo)地址和診斷命令,其中診斷命令是指UDS或OBD中規(guī)定的具體的診斷請(qǐng)求或響應(yīng)。

      1.3 DoIP診斷通信流程建立

      DoIP通信的兩端即客戶端和服務(wù)端,采用套接字(Socket)通信方式,服務(wù)器端先初始化Socket,然后與端口綁定(bind),對(duì)端口進(jìn)行監(jiān)聽(tīng)(listen),調(diào)用accept阻塞,等待客戶端連接[4]。此時(shí)如果客戶端初始化一個(gè)Socket,然后連接服務(wù)器(connect),如果連接成功,這時(shí)客戶端與服務(wù)端的連接就建立了。客戶端發(fā)送數(shù)據(jù)請(qǐng)求,服務(wù)器端接收請(qǐng)求并處理請(qǐng)求,然后把回應(yīng)數(shù)據(jù)發(fā)送給客戶端,客戶端讀取數(shù)據(jù),最后關(guān)閉連接,一次交互結(jié)束。TCP Socket交互狀態(tài)如圖2所示。

      2 基于DoIP協(xié)議的刷新功能設(shè)計(jì)

      2.1 主從刷新流程實(shí)現(xiàn)

      本文設(shè)計(jì)的刷新功能,以整車上TBOX為上層主節(jié)點(diǎn),承擔(dān)刷新發(fā)起的任務(wù)控制器中的SOC為主節(jié)點(diǎn),MCU為從節(jié)點(diǎn),刷新過(guò)程是通過(guò)以太網(wǎng)通道和DoIP協(xié)議實(shí)現(xiàn),配備專門的VLAN進(jìn)行通信,不響應(yīng)其他MAC和IP的DoIP指令。以升級(jí)MCU軟件為例,整個(gè)交互流程如圖3所示。

      SOC控制MCU升級(jí)的流程并監(jiān)控其升級(jí)狀態(tài),SOC可以根據(jù)版本判斷是否需要升級(jí)MCU,如果不需要升級(jí)則直接返回升級(jí)成功。SOC根據(jù)當(dāng)前狀態(tài)計(jì)算升級(jí)進(jìn)度,并將進(jìn)度反饋給上層主節(jié)點(diǎn)。

      2.2 DoIP診斷報(bào)文設(shè)計(jì)

      如2.2章節(jié)所述,DoIP發(fā)送的診斷報(bào)文有三類,分別為診斷消息(0x8001),診斷肯定應(yīng)答(0x8002)和診斷否定響應(yīng)(0x8003)。其中SOC作為客戶端,需要支持0x8001的發(fā)送以及0x8002和0x8003的解析處理,MCU作為服務(wù)端,需要支持0x8001的解析和發(fā)送,以及0x8002和0x8003的發(fā)送。

      DoIP診斷通信流程和CAN不一樣,CAN是一條診斷請(qǐng)求對(duì)應(yīng)一條診斷響應(yīng),但DoIP遵循如下流程:

      SOC發(fā)送一條診斷請(qǐng)求(0x8001),該請(qǐng)求中搭載了UDS診斷數(shù)據(jù),MCU收到后對(duì)DoIP報(bào)頭、診斷數(shù)據(jù)長(zhǎng)度等做判斷,先返回一個(gè)DoIP層的響應(yīng),如果各個(gè)條件都滿足,則返回肯定響應(yīng)(0x8002),否則返回否定響應(yīng)(0x8003)。

      當(dāng)MCU返回肯定響應(yīng)后,再將診斷請(qǐng)求報(bào)文中搭載的UDS診斷信息上報(bào)給UDS應(yīng)用程序進(jìn)行處理,處理完成后,不論是UDS肯定響應(yīng)還是UDS否定響應(yīng),都用診斷報(bào)文(0x8001)將UDS診斷響應(yīng)數(shù)據(jù)發(fā)送給SOC,至此一次診斷數(shù)據(jù)交互才完成。

      2.3 刷新服務(wù)實(shí)現(xiàn)

      軟件刷新過(guò)程,在主節(jié)點(diǎn)SOC和從節(jié)點(diǎn)MCU之間交互,各自解析報(bào)文,再根據(jù)診斷服務(wù)流程做出響應(yīng)[5]。圖4為詳細(xì)刷新流程。

      在只有一個(gè)刷新包時(shí),按照?qǐng)D4的流程圖完成。如果有多個(gè)刷新包,將循環(huán)執(zhí)行“刷新及校驗(yàn)過(guò)程”直至完成。如果在刷新準(zhǔn)備階段失敗,SOC會(huì)重試當(dāng)前步驟的請(qǐng)求,重試仍然失敗,上報(bào)上級(jí)保障碼,結(jié)束本次刷新。若在刷新及校驗(yàn)過(guò)程出現(xiàn)失敗,MCU將回復(fù)否定響應(yīng),自身進(jìn)行回滾,SOC需要在MCU回滾完成后再?gòu)谋倦A段最開(kāi)始進(jìn)行重試操作。

      3 DoIP主從刷新技術(shù)應(yīng)用效果

      軟件開(kāi)發(fā)完成后使用Wireshark工具,監(jiān)控刷新MCU軟件過(guò)程,分析每幀報(bào)文內(nèi)容和通信時(shí)間,如圖5抓取數(shù)據(jù)截圖所示。通過(guò)測(cè)試驗(yàn)證軟件設(shè)計(jì)符合需求,整個(gè)刷新過(guò)程相比CAN總線時(shí)間上縮短一半,實(shí)現(xiàn)高效刷新的量產(chǎn)目標(biāo)。

      4 結(jié)論

      本文對(duì)ECU內(nèi)部芯片間的DoIP診斷通信應(yīng)用進(jìn)行了研究和實(shí)現(xiàn),詳細(xì)闡釋了DoIP技術(shù)及其相關(guān)通信原理、協(xié)議和流程。DoIP技術(shù)充分利用了以太網(wǎng)高帶寬和高可靠性的優(yōu)點(diǎn),在車載軟件刷新技術(shù)中具有重要意義。隨著軟件刷新中DoIP技術(shù)在控制器間和控制器之內(nèi)的應(yīng)用及普及,將大力推進(jìn)車載軟件智能化,也很大程度地提高用戶體驗(yàn)。

      參考文獻(xiàn):

      [1]呼布?xì)J,秦貴和,等.下一代汽車網(wǎng)略:車載以太網(wǎng)技術(shù)現(xiàn)狀與發(fā)展[J].計(jì)算機(jī)工程與應(yīng)用,2016(24).

      [2]周洋,姚西峰,王天軍,等.基于DoIP的終檢線模擬測(cè)試系統(tǒng)[J].汽車實(shí)用技術(shù),2020(3):130-133.

      [3]Road vehicles-Diagnostic communication over Internet Protocol(DoIP)-Part 1: General information and use case definition: ISO 13400-1:2011[S].2011.

      [4]Road vehicles-Diagnostic communication over Internet Protocol(DoIP)-Part 2: Transport protocol and network layer services: ISO 13400-2:2012[S].2012.

      [5]Road vehicles-Unified diagnostic services(UDS)-Part 1: Specification and requirements: ISO 14229-1:2013[S].2013.

      无为县| 吉木乃县| 府谷县| 尉氏县| 曲松县| 正定县| 瑞金市| 徐汇区| 古田县| 武安市| 永嘉县| 开平市| 瓦房店市| 兴义市| 保定市| 阳曲县| 武城县| 大化| 西丰县| 辽宁省| 庆城县| 九龙坡区| 赤壁市| 阆中市| 英山县| 沈丘县| 神池县| 汕尾市| 乌鲁木齐县| 邢台县| 湖南省| 巴里| 舟山市| 明水县| 陆丰市| 孟州市| 翼城县| 定兴县| 安庆市| 海宁市| 诸暨市|