王遠(yuǎn)波,陳姿霖,武 萌
(陜西重型汽車有限公司汽車工程研究院,陜西 西安 710200)
DOIP的全稱為Diagnostic communication Over Internet Protocol,是指通過(guò)TCP/IP協(xié)議實(shí)現(xiàn)車載診斷通信。它將UDS服務(wù)命令和響應(yīng)數(shù)據(jù)作為載荷封裝成以太網(wǎng)幀后在以太網(wǎng)線束上傳輸,解決了汽車大容量數(shù)據(jù)軟件升級(jí)的時(shí)間問(wèn)題。
DOIP技術(shù)依據(jù)ISO 13400協(xié)議的要求,滿足ISO 13400中定義的傳輸協(xié)議、網(wǎng)絡(luò)層服務(wù)、車輛接口、連接方式。在OSI 7層結(jié)構(gòu)中,物理層和數(shù)據(jù)鏈路層遵守的協(xié)議是IEEE 802.3和ISO 13400-3;網(wǎng)絡(luò)層和傳輸層遵守的協(xié)議是ISO 13400-2;應(yīng)用層遵守的協(xié)議是ISO 14229-1和ISO 14229-5。
在車載以太網(wǎng)各項(xiàng)技術(shù)的發(fā)展應(yīng)用中,DOIP技術(shù)應(yīng)用推廣的最快,很多主機(jī)廠已經(jīng)開始應(yīng)用使用該技術(shù)進(jìn)行車輛數(shù)據(jù)刷新。DOIP的應(yīng)用場(chǎng)景主要有3個(gè)方面。
1)車輛刷新和配置
在車輛設(shè)計(jì)、裝配、售后階段,使用外部刷新設(shè)備通過(guò)TCP/IP協(xié)議在安全訪問(wèn)通過(guò)后與車輛內(nèi)部節(jié)點(diǎn)建立通信,按照升級(jí)流程對(duì)DOIP節(jié)點(diǎn)進(jìn)行數(shù)據(jù)升級(jí)和配置參數(shù)修改。在設(shè)計(jì)階段和量產(chǎn)階段,因一次處理的控制器的個(gè)數(shù)不同,所以要特別注意升級(jí)流程報(bào)文的組播和單播設(shè)置,保證升級(jí)的一次性成功率。
2)車輛功能檢測(cè)
在車輛裝配下線階段,外部檢測(cè)設(shè)備按照固定步驟對(duì)接入局域網(wǎng)的車輛進(jìn)行終檢工位的全功能檢測(cè),外部測(cè)試設(shè)備會(huì)對(duì)車內(nèi)多個(gè)DOIP節(jié)點(diǎn)進(jìn)行并行通信,完成批量檢測(cè)。
3)車輛故障維修
在該階段,外部檢修設(shè)備不需要使用傳統(tǒng)的硬線連接,通過(guò)TCP/IP協(xié)議與車輛建立通信,向目標(biāo)DOIP節(jié)點(diǎn)發(fā)送請(qǐng)求,節(jié)點(diǎn)反饋實(shí)時(shí)的故障信息或運(yùn)行參數(shù),便于快速定位故障點(diǎn)。
ISO 13400-4在現(xiàn)有的ISO 15031-3診斷OBD接口定義上進(jìn)行擴(kuò)展使用,推薦的有兩種定義,可根據(jù)實(shí)際的設(shè)計(jì)情況選擇其中一種。如圖1、圖2所示。
圖1 以太網(wǎng)OBD接口定義方案1
圖2 以太網(wǎng)OBD接口定義方案2
在車載以太網(wǎng)網(wǎng)絡(luò)架構(gòu)中,根據(jù)節(jié)點(diǎn)具備DOIP功能的情況對(duì)其進(jìn)行了特殊定義,一個(gè)控制器可以是以下的一種或多種角色。
1)DOIP實(shí)體
實(shí)現(xiàn)DOIP協(xié)議的控制器,車內(nèi)所有實(shí)現(xiàn)DOIP協(xié)議的控制器都可以稱為DOIP實(shí)體。
2)DOIP網(wǎng)關(guān)
控制器實(shí)現(xiàn)了DOIP協(xié)議,對(duì)外部測(cè)試設(shè)備使用DOIP協(xié)議訪問(wèn)自身能夠給以正確回復(fù),并且可以將DOIP協(xié)議數(shù)據(jù)路由到車輛子網(wǎng)的控制器。
3)DOIP節(jié)點(diǎn)
控制器實(shí)現(xiàn)了DOIP協(xié)議,對(duì)外部測(cè)試設(shè)備使用DOIP協(xié)議訪問(wèn)自身能夠給以正確回復(fù),但不將DOIP協(xié)議數(shù)據(jù)路由到車輛子網(wǎng)的控制器。
4)DOIP邊緣節(jié)點(diǎn)
控制器實(shí)現(xiàn)了DOIP協(xié)議,是車輛和外部測(cè)試設(shè)備之間的連接端口。
ISO 13400-4規(guī)定了外部測(cè)試設(shè)備在連接到車輛OBD接口時(shí),使用工業(yè)以太網(wǎng)100Base-Tx協(xié)議進(jìn)行通信,連接線共有5根:2根Rx、2根Tx、1根激活線。眾所周知,車輛的電磁兼容符合標(biāo)準(zhǔn)要求是整車功能正常運(yùn)行的前提,激活線的目的是激活邊緣節(jié)點(diǎn)的Tx通信功能,在不使用Tx通信時(shí)關(guān)閉邊緣節(jié)點(diǎn)的Tx通信功能,能夠降低外界對(duì)車輛的干擾并提升抗擾能力。
具備激活線的設(shè)備和邊緣節(jié)點(diǎn)必須滿足標(biāo)準(zhǔn)規(guī)定的電氣參數(shù),激活和失活電壓見圖3,激活和失活說(shuō)明如下。
圖3 激活線閾值圖
1)失活電壓閾值(Vinactive)為2V,低于該值Tx通信已經(jīng)停止,低于2V的電壓值不會(huì)激活DOIP邊緣節(jié)點(diǎn)的Tx通信能力。
3)當(dāng)邊緣節(jié)點(diǎn)檢測(cè)到激活線電壓低于Vinactive并持續(xù)200ms時(shí)認(rèn)為外部測(cè)試設(shè)備期望停止Tx端口的通信,此時(shí)關(guān)閉相關(guān)通信。
使用外部診斷設(shè)備對(duì)車輛進(jìn)行數(shù)據(jù)刷新或故障診斷時(shí),可以使用一對(duì)一物理連接、一對(duì)一網(wǎng)絡(luò)連接、多輛車和一臺(tái)設(shè)備的網(wǎng)絡(luò)連接、單車和多個(gè)設(shè)備的網(wǎng)絡(luò)連接4種連接方式,在具體的功能設(shè)計(jì)時(shí)需要提前確定好連接方式。
1)一對(duì)一物理連接是通過(guò)Tx線束連接,這樣連接方式信號(hào)干凈穩(wěn)定,無(wú)其他外部干擾,車輛和外部測(cè)試設(shè)備都會(huì)使用TCP的‘三次握手’機(jī)制來(lái)建立連接,執(zhí)行刷新或故障診斷工作。
2)一對(duì)一網(wǎng)絡(luò)連接是外部測(cè)試設(shè)備通過(guò)VIN/EID/GID識(shí)別網(wǎng)內(nèi)的所有車輛,進(jìn)而選擇目標(biāo)車輛,執(zhí)行刷新或故障診斷工作,目前的OTA升級(jí)也是使用該種方式。
3)多輛車和一臺(tái)設(shè)備的網(wǎng)絡(luò)連接是外部測(cè)試設(shè)備同時(shí)對(duì)多輛車進(jìn)行數(shù)據(jù)刷新和故障診斷,多用于車間裝配階段,在此連接方式上實(shí)現(xiàn)了并行刷新和智能制造。
4)單車和多個(gè)設(shè)備的網(wǎng)絡(luò)連接是單個(gè)車輛與多個(gè)外部測(cè)試設(shè)備的連接,在這種情況下,車輛必須能夠清楚地區(qū)分每個(gè)診斷請(qǐng)求是具體哪個(gè)外部測(cè)試設(shè)備發(fā)來(lái)的,并且能夠準(zhǔn)確對(duì)每個(gè)外部測(cè)試設(shè)備進(jìn)行數(shù)據(jù)回復(fù)。主要應(yīng)用在車輛裝配階段,分工不同的多個(gè)設(shè)備對(duì)同一輛車進(jìn)行數(shù)據(jù)操作。
外部測(cè)試設(shè)備在對(duì)車內(nèi)控制器進(jìn)行數(shù)據(jù)刷新或故障診斷時(shí),會(huì)使用TCP或UDP協(xié)議與車內(nèi)控制器建立連接。請(qǐng)求執(zhí)行的功能決定了是使用TCP協(xié)議還是UDP協(xié)議。在外部測(cè)試設(shè)備的激活線連接到車輛后,需要先使用UDP協(xié)議進(jìn)行車輛發(fā)現(xiàn)和車輛聲明,再使用TCP協(xié)議進(jìn)行傳輸具體的數(shù)據(jù)和診斷請(qǐng)求。
UDP協(xié)議介紹
本研究發(fā)現(xiàn):腦卒中病人家庭照顧者知覺壓力水平高于普通人群,醫(yī)務(wù)人員在工作中,應(yīng)關(guān)注腦卒中病人家庭照顧者身心健康狀態(tài),積極對(duì)其采取正面心理引導(dǎo),幫助照顧者以積極應(yīng)對(duì)方式面對(duì)困難,減輕照顧者壓力源,提高其身心健康水平。
UDP的全稱為User Data Protocol,是一種非連接、不保證可靠性的傳輸層協(xié)議,在實(shí)際傳輸數(shù)據(jù)前外部測(cè)試設(shè)備和控制器不建立握手連接,直接向?qū)Ψ桨l(fā)送數(shù)據(jù)報(bào),發(fā)送的數(shù)據(jù)能不能正確地、完整地被對(duì)方接收,該協(xié)議原理無(wú)法保證,所以使用UDP協(xié)議傳輸數(shù)據(jù)會(huì)出現(xiàn)數(shù)據(jù)丟包的情況。但是相比TCP協(xié)議,UDP因?yàn)闊o(wú)雙方握手的連接過(guò)程,所以UDP速度更快一些。
在實(shí)際應(yīng)用過(guò)程中對(duì)于需要實(shí)時(shí)同步傳輸,但對(duì)可靠性要求低的數(shù)據(jù),例如電影、歌詞,建議使用UDP協(xié)議進(jìn)行數(shù)據(jù)傳輸。實(shí)際上,在100Base-T1或1000100Base-T1的速率下,車輛電磁兼容試驗(yàn)通過(guò),兩個(gè)節(jié)點(diǎn)間的長(zhǎng)度符合標(biāo)準(zhǔn)要求,這些前提條件也能夠保證使用UDP協(xié)議傳輸數(shù)據(jù)的可靠性。
TCP協(xié)議介紹
TCP的全稱為Transmission Control Protoco,它是一種面向?qū)ο蟮倪B接協(xié)議,在傳輸數(shù)據(jù)之前必須與對(duì)方建立可靠連接。這個(gè)建立過(guò)程就是我們常說(shuō)的 ‘三次握手’機(jī)制,在有意向?qū)Ψ絺鬏敂?shù)據(jù)時(shí),外部測(cè)試設(shè)備和車內(nèi)控制器之間總共發(fā)送3條以太網(wǎng)報(bào)文來(lái)建立確定的連接。
當(dāng)外部測(cè)試設(shè)備不需要向該對(duì)象發(fā)送數(shù)據(jù)時(shí),會(huì)使用‘四次揮手’機(jī)制,來(lái)斷開和該對(duì)象的連接,釋放端口用于和其他對(duì)象進(jìn)行連接。
‘三次握手’和‘四次揮手’的過(guò)程和傳統(tǒng)互聯(lián)網(wǎng)的過(guò)程一樣。
外部測(cè)試設(shè)備從連接車輛到對(duì)ECU進(jìn)行診斷功能、軟件升級(jí)需要經(jīng)歷6個(gè)階段:車輛識(shí)別、車輛選擇、套接字建立、路由激活、診斷通信、斷開通信,在整個(gè)過(guò)程中車輛識(shí)別和車輛選擇使用UDP協(xié)議進(jìn)行通信,其余階段使用TCP協(xié)議進(jìn)行通信。
1)車輛識(shí)別:邊緣節(jié)點(diǎn)與外部測(cè)試設(shè)備物理連接后,邊緣節(jié)點(diǎn)識(shí)別到激活線的電平滿足要求后打開Tx端口通信,與外部測(cè)試設(shè)備使用DHCP或Auto-IP協(xié)議進(jìn)行交互,由外部測(cè)試設(shè)備向邊緣節(jié)點(diǎn)分配IP地址。
2)車輛選擇:該項(xiàng)功能在一臺(tái)測(cè)試設(shè)備與多個(gè)車輛連接時(shí)能夠發(fā)揮很大作用,多個(gè)車輛的邊緣節(jié)點(diǎn)發(fā)送車輛聲明后,外部測(cè)試設(shè)備根據(jù)VIN或EID對(duì)車輛進(jìn)行識(shí)別,在外部測(cè)試設(shè)備的人機(jī)界面中選擇需要通信的目標(biāo)車輛。
3)套接字建立:外部測(cè)試設(shè)備和邊緣節(jié)點(diǎn)通過(guò)套接字建立診斷通信。
4)路由激活:通過(guò)路由激活觸發(fā)邊緣節(jié)點(diǎn)的路由功能。
5)診斷通信:路由功能激活后,外部測(cè)試設(shè)備便可向目標(biāo)ECU發(fā)送診斷指令,邊緣節(jié)點(diǎn)會(huì)根據(jù)DOIP報(bào)文中的MAC和IP地址將診斷請(qǐng)求路由到目標(biāo)ECU所在的網(wǎng)段,并將ECU的響應(yīng)轉(zhuǎn)發(fā)給邊緣節(jié)點(diǎn)。
6)斷開通信:需要進(jìn)行的診斷功能執(zhí)行完畢后,外部測(cè)試設(shè)備斷開TCP連接關(guān)閉套接字,將激活線電壓拉低,使邊緣節(jié)點(diǎn)關(guān)閉Tx端口通信。
DOIP技術(shù)是一項(xiàng)新技術(shù),伴隨著對(duì)這項(xiàng)技術(shù)實(shí)踐應(yīng)用研究,DOIP技術(shù)將會(huì)替代現(xiàn)有的CAN總線刷新,解決大數(shù)據(jù)刷新的時(shí)間問(wèn)題,提高數(shù)據(jù)刷新和故障診斷效率。