DoIP目标是解決傳輸速率不夠的問題。
在應用層,DoIP和CAN都使用ISO 14229
在傳輸層,DoIP使用ISO 13400-2 CAN使用ISO 15765-2
在實體層,DoIP使用IEEE 802.3 CAN使用ISO 11898
DOIP在以太網上進行診斷指令傳輸,相比于CAN,速率可以高到100-200倍。在網絡上的總體傳輸速率可以達到300-400倍。
DoIP在五層模型上
DoIP基于TCP和UDP,可以支援IPv4和IPv6。
裝置使用IPv4,那麼同時也要支援網絡層的ARP和ICMP協定
裝置使用IPv6,那麼同時也要支援網絡層的ICMPv6以及NDP協定。
實體層:100Base-TX
100:100M的傳輸速率
Base:傳輸方式為基帶傳輸。
T:使用雙絞線傳輸
X:使用兩對雙絞線傳輸。
術語和縮寫
DoIP Edge Node:DoIP邊緣節點。
Network Node:傳統的CAN鍊,都可以成為網絡節點。
Logical Addressing(Phy/Fun):邏輯尋址與CAN沒有差別。分為功能尋址與實體尋址。
SA:source Address :源邏輯位址。CAN是總線型的,是以不需要目标邏輯位址,是以可以類比為CAN id。
TA:Target Address:目的邏輯位址。
GID:一般把邊緣節點設定為網關。
VIN:17個位元組的車輛識别碼。
上面的框是車内,下面框是車外。
DOIP edge node(DoIP邊緣節點)會通過網線與激活線。與外部的測試裝置相連。同時它也與車内的許多節點相連。 邊緣節點會分一個内端口,一個外端口。内端口:對應車内通信。外端口:對應與車外通信的端口。
(車輛與診斷裝置,通過激活線+網線相連)
激活線:意義在于為了把車輛減低電磁幹擾。激活線與邊緣節點連接配接時候,診斷功能才會開啟,達到降低電磁幹擾與電源消耗的作用。
應用場景1:車輛檢測和維修-售後的時候,通過診斷讀取車輛的狀态進行故障跟蹤。
場景2:車輛/ECU軟體重程式設計。車輛軟體的更新,對應的是産品工程的模式,需要車輛進行更新,大量資料會發往ECU。
3:車輛/ECU的下線模式。對車輛資訊和狀态進行讀取,同時會對多個車輛進行操作。
場景1:直接點對點
2(PC)通過網線與被測車輛建立連接配接,可以實作診斷,讀取車輛狀态以及車輛資訊等等内容。
場景2:
開發生産售後的過程中遇到問題,如車輛在遠端抛錨,或者車輛在生産線遇到問題需要進行診斷。
診斷儀通過一個太網的交換機或者WLAN的一個接入點與車輛通信(左側)
也可以通過WIFI或者無線信号與車輛通信(右側)
在 這個過程中,車輛執行識别機制,能夠處理并且拒絕某一次或者多次的連接配接請求。
場景3:
測試裝置4與車輛6通過網線連接配接。
測試裝置4與車輛8通過無線進行連接配接。車輛在售後維修廠或經銷商那裡進行遠端更新和診斷。
場景4:多個外部測試裝置與單個車輛連接配接
診斷裝置與車輛建立2個網絡連接配接。
看左邊紅框部分,車輛車機與儀表,分别需要一個診斷和一個更新的時候,建立2條邏輯連接配接,執行不同任務。(ps:是以線變成了2條虛線)
車輛可以同時與多個診斷儀相連。
右邊紅框是多個診斷儀與一個車輛連接配接。不同的診斷儀會進行不同的診斷或者刷寫的操作,13400規定,同時隻能執行一條邏輯連接配接的任務。
接下來内容:車輛端以及診斷儀,在實體層和資料鍊路層,車輛激活線的相關要求。
DoIP邊緣節點和測試儀,通過激活線和兩對雙絞線相連。
複習:激活線功能-降低電磁幹擾和功耗。
為什麼要支援電壓隔離:防止雷擊或者靜電對于端口強電壓的注入,造成損害
為什麼支援100M還要支援10M?
答:當車輛和測試儀剛剛連接配接,因為可能達不到100M的速率,是以可以做降速處理,用10MBASE-T的方式進行傳輸。
支援自動傳輸機制:因為可能會有傳輸速率的切換和雙工模式的切換
Auto-MDI(X)
直連線:接受對接受,發送對發送
交叉線:接受對發送,發送對接收。
為什麼這樣設計:電腦和電腦相連,端口相同,那麼使用交叉線。電腦和路由器等相連:電腦和路由器在内部做好了交叉,是以不需要外部網線做交叉。是以使用直連線就可以。
支援Auto-MDI(X),那麼就可以直連線和交叉線全部适配。
為什麼 邊緣節點不要求支援Auto-MDI(X):測試儀經常連接配接多個平台和車輛,為了減少備援,對測試儀做了支援要求,邊緣節點不作要求。
link狀态:比如有個燈變亮、通知:比如有個提示:網絡已經連接配接。
區域網路喚醒:需要支援車輛端的MAC位址,通常診斷裝置和車輛相連時沒有辦法及時擷取MAC位址,是以使用區域網路喚醒功能就會出現些問題。同時
以太網控制器的靜态電容會增大。
右邊電路圖是雙絞線,一端發送一端接收。
12V對應的乘用車,24V對應的商用車。
什麼是乘用車和商用車?
乘用車是為了使生活便利而設計,用于運載人員及其行李/或偶爾運載物品,涵蓋了轎車、微型客車以及不超過9座的輕型客車; 商用車則主要是為企業經營擷取利潤而設計,用于運輸大量的人或者貨物,包含了所有的貨載汽車和9座以上的客車。
電壓在0V,車輛在熄火或者 說不激活狀态,但是在電壓達到5V後,且電壓持續時間超過500ms,就會進入激活狀态。
當電壓下降到2V以下,并且持續200ms時間以上。這時候汽車進入失火狀态。
13400定義,最大電壓支援
激活線要求:
13400裡面給了兩種:
車輛端:内部有一個激活電路的設計。
第一種:激活門限3.4V。3.4V是三極管(圓圈位置)的激活電壓。電壓超過3.4V集電極和發射極就會導通。可以把npn型的這個三極管看成是一個開關的作用,是為了實作我們μc,也就是車輛微控制器對車輛激活線的控制。
車輛端電路2的激活門限為4.4V
與上一張圖相比,電容電阻的值發生了改變,整體電路的設計架構是沒有變化的。
問題:有3.4V電路了,為什麼要用4.4V?
答:在OBD解答。
4.4V激活電壓門限高,是以抗幹擾能力弱,但是比3.4V需要的電量少一些。
診斷 線束使用家庭用的普通網線即可。也就是通常說的Cat5.
診斷儀到OBD線的長度不超過50米。
OBD接口的兩種布局方式:
第一種:CAN高在1,CAN低在9
第二種:CAN高在3,CAN低在11
在實際設計過程中,這兩種OBD接口的布置,和前面激活電路的設計結合起來。
通過8口(也就是激活線連接配接的位置),通過檢查8口電壓的變化,在設計診斷儀的時候,把這兩種以太網接口做劃分,3.4V對應第一種還是第二種布局方式這樣子。具體診斷儀電路是怎麼設計的,在13400月推進,可以有興趣看。
來源視訊:
DoIP協定介紹1_哔哩哔哩_bilibili