日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

doip诊断会话的建立

發(fā)布時(shí)間:2023/12/9 编程问答 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 doip诊断会话的建立 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

診斷會話5步:

激活線激活——車輛發(fā)現(xiàn)——路由激活——診斷交互——關(guān)閉TCP_DATA_Socket;

目錄

1.激活線激活

2.車輛發(fā)現(xiàn) (IP地址分配+車輛信息獲取)

?3.路由激活 (路由激活 +TCP_data socket處理 + 在線檢測)

路由激活:??

tcp_data socket處理

在線檢測 (alive check)

4.診斷處理


1.激活線激活

邊緣節(jié)點(diǎn)(網(wǎng)關(guān))-硬線激活 (減少電磁干擾/降低損耗);

標(biāo)準(zhǔn):

建立通信連接:通過OBD口連接邊緣節(jié)點(diǎn),并在激活線上提供激活條件所需的電壓(ISO 13400規(guī)定激活條件為:至少200ms以上5V及以上電壓),才可以激活邊緣節(jié)點(diǎn)診斷功能;

斷開通信連接:激活線上提供滿足失活條件的電壓(ISO 13400規(guī)定失活條件為:至少200ms以上2v及以下電壓),邊緣節(jié)點(diǎn)進(jìn)入診斷失活狀態(tài)而不能進(jìn)行診斷通信。

?當(dāng)激活條件不滿足時(shí),外部診斷儀與邊緣節(jié)點(diǎn)不能進(jìn)行以太網(wǎng)通信,同時(shí)邊緣節(jié)點(diǎn)不執(zhí)行IP地址分配及車輛發(fā)現(xiàn)流程。

2.車輛發(fā)現(xiàn) (IP地址分配+車輛信息獲取)

ip 地址分配:邊緣節(jié)點(diǎn)作為 DHCPclient; DHCP的server 診斷儀(tester)中,激活線激活后立刻進(jìn)行IP地址分配;

車輛信息獲取: DHCP強(qiáng)制完成后,邊緣節(jié)點(diǎn)廣播發(fā)送3次(A_DoIP_Announce_Num)車輛聲明報(bào)文,且第一條聲明報(bào)文應(yīng)在A_DoIP_Announce_Wait(0~500ms)時(shí)間內(nèi)發(fā)出。

注:診斷儀(tester)也可能自行發(fā)送車輛信息請求報(bào)文 — 要求邊緣節(jié)點(diǎn)能解析此報(bào)文并向下轉(zhuǎn)發(fā);

  • ????? 車輛聲明報(bào)文采用 udp報(bào)文傳輸 — 多次發(fā)送提高接收到報(bào)文的概率;實(shí)際發(fā)送次數(shù)可自行設(shè)置
  • ????? 車輛聲明報(bào)文 以廣播地址(255.255.255.255)作為目的IP地址;
  • ????? 車輛聲明/信息響應(yīng)報(bào)文中“Further action? required”字段意義:該字段值一般默認(rèn)為0x00,若此字段值為0x10,則診斷儀需要使用0xE0的激活類型發(fā)送路由激活請求,即在路由激活過程中需要執(zhí)行廠商定義的安全認(rèn)證機(jī)制(身份認(rèn)證、確認(rèn))

?3.路由激活 (路由激活 +TCP_data socket處理 + 在線檢測)

路由激活:??

邏輯地址唯一標(biāo)識; 邏輯地址范圍限制;定義診斷儀邏輯地址;診斷儀邏輯地址注冊到 TCP_data socket;

  • 在doIP通信網(wǎng)絡(luò)中,使用邏輯地址唯一標(biāo)識一個(gè)DoIP實(shí)體(DoIP節(jié)點(diǎn)、診斷儀);
  • ISO 13400中定義了ECU及診斷儀的邏輯地址范圍,同時(shí)規(guī)定廠商設(shè)計(jì)階段需要定義ECU支持的診斷儀邏輯地址(一個(gè)或多個(gè))。
  • 進(jìn)行診斷報(bào)文交互之前,診斷儀需要通過路由激活過程將自己的邏輯地址注冊到通信的TCP_DATA Socket中。
  • ?

    兩時(shí)間參數(shù):??? T_TCP_Initial_Inactivity(2s) ;?????? T_TCP_General_Inactivity(5min);

    • 診斷儀與ECU建立TCP連接后需在T_TCP_Initial_Inactivity(2s)時(shí)間內(nèi)進(jìn)行路由激活,否則ECU會主動(dòng)關(guān)閉該連接;
    • 路由激活成功之后,ECU所能保持TCP_DATA Socket靜止(無任何診斷交互)的最長時(shí)間為T_TCP_General_Inactivity(5min),超時(shí)后ECU會主動(dòng)關(guān)閉TCP_DATA Socket。

    tcp_data socket處理

    ECU所支持的最大并發(fā)Sockets數(shù)目是有限的(0~255),并且同一Socket同時(shí)僅可與一個(gè)SA綁定,因此在通過源邏輯地址、激活類型檢測之后,需要執(zhí)行Socket處理機(jī)制。

    檢測到當(dāng)前激活的Socket已使用其他SA進(jìn)行激活,ECU會立即停止Socket處理流程,并發(fā)送路由激活否定響應(yīng)報(bào)文(響應(yīng)碼為0x02);

    ?

    ?

    在線檢測 alive check

    用于確定已注冊并且激活的socket 是否仍被診斷儀所使用;ECU節(jié)點(diǎn)發(fā)送到診斷儀;

    若診斷儀在ISO 13400要求在T_TCP_Alive_Check(500ms)時(shí)間內(nèi)回復(fù)相應(yīng)的Alive Check響應(yīng),表明將繼續(xù)使用并保留該socket;若超時(shí)未回復(fù),ECU會立即關(guān)閉該Socket,即Alive Check未通過。

    4.診斷處理

    在路由激活完成后,診斷儀通過tcp_data socket與ecu進(jìn)行診斷通信;

    ECU接收到診斷請求后會進(jìn)行判別處理,若所有判別均滿足要求,ECU會回復(fù)診斷肯定響應(yīng)及診斷響應(yīng)報(bào)文,或者向目標(biāo)網(wǎng)絡(luò)轉(zhuǎn)發(fā)該診斷請求。

    注:

  • 1.對內(nèi)部ECU進(jìn)行診斷時(shí),網(wǎng)關(guān)接收到診斷請求后會按照診斷處理流程圖所示依次進(jìn)行檢測,若有檢測項(xiàng)不通過,則網(wǎng)關(guān)會向診斷儀發(fā)送相應(yīng)診斷否定響應(yīng)報(bào)文,并丟棄該診斷請求。
  • 2.報(bào)文過大(0x02)是指診斷請求中DoIP報(bào)文的負(fù)載長度超過網(wǎng)關(guān)所支持的最大DoIP報(bào)文大小;
  • 3.診斷報(bào)文過大(0x04)是指診斷報(bào)文的長度超過目標(biāo)網(wǎng)絡(luò)或者ECU所支持的DoIP報(bào)文大小。
  • 4.時(shí)間限制:網(wǎng)關(guān)接收到診斷請求后,需要在A_DoIP_Diagnostic_Message時(shí)間內(nèi)向診斷儀回復(fù)診斷肯定ack響應(yīng)/否定響應(yīng)報(bào)文,若超時(shí)診斷儀未接收到相應(yīng)報(bào)文,應(yīng)重發(fā)診斷請求。
  • 5.網(wǎng)關(guān)內(nèi)外端口:即外部OBD接口及內(nèi)部通信接口,診斷儀始終通過OBD口與網(wǎng)關(guān)進(jìn)行通信。在診斷儀對內(nèi)部ECU進(jìn)行診斷時(shí),網(wǎng)關(guān)接收到該診斷請求并進(jìn)行解析后,按照自己的診斷路由表通過內(nèi)部端口將該診斷請求轉(zhuǎn)發(fā)目標(biāo)ECU
  • 總結(jié)

    以上是生活随笔為你收集整理的doip诊断会话的建立的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。