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