DoIP诊断技术一点通
DoIP的全稱是Diagnostic Over Internet Protocol,即基于TCP/IP協議的診斷協議。隨著以太網技術在車載領域的應用范圍逐步擴大,越來越多的控制器支持通過以太網進行診斷通信,由于采用以太網通信技術,DoIP診斷具有超高的數據傳輸速率,速率達到了100 Mbit/s,相較于CAN總線診斷,DoIP診斷總體速率是CAN診斷的100-200倍,網絡上的傳輸速率是CAN診斷的300-400倍。并且硬件成本低,無需使用VCI,在個人電腦上只需要一個以太網接口即可實現診斷的物理連接。DoIP技術可以完美匹配IT基礎設施,固定診斷和遠程診斷均能應用,車載以太網技術將是未來解決如何快速更新ECU軟件及標定的主要策略之一。
DoIP診斷應用場景
場景1:單一診斷儀與車輛直連
診斷儀與車輛直連后,可以診斷單車所有DoIP節點,一般用于單車故障診斷或者ECU升級刷寫等功能。
場景2:多臺診斷儀并行診斷單臺車輛
多臺診斷儀通過交換機級聯,診斷同一臺汽車,各診斷信道互不干擾,可實現多團隊同時作業,提高整體工作效率。
場景3:單診斷儀并行診斷多臺車輛
多臺車輛通過交換機級聯,一臺診斷儀可與這些車輛建立多個并行的診斷連接。相較于傳統的CAN診斷,DoIP診斷有獨有的機制,用于標識每一輛汽車及車載的各個ECU單元。單診斷儀連接多臺車輛的形式一般用于產線上生產監控及ECU刷寫等。
車內診斷網絡布局
以上我們簡要闡述了一般的應用場景,那么接下來我們走進車內網絡,看看外部診斷儀是如何與車內ECU之間建立診斷連接。下圖摘自DoIP協議標準文檔ISO-13400-2,我們將圍繞這張圖來進行說明。
圖中分為車內網(Vehicle network)和車外網(External network),車內網和車外網之間,有兩組重要的線束,其中一組是用于數據傳輸的以太網線,另一組是用于診斷功能激活的激活線。以太網線不必多說,就是我們常見的四線制TX標準網線。
而激活線的設計,是用于車內診斷功能的激活。處于能耗和電磁干擾的考慮,要求非診斷通信期間,與診斷相關的功能處于關閉狀態,這樣一方面可以降低能耗,另一方面減少對網絡帶寬的消耗,從而降低電磁干擾。
車內網中,直接與外部診斷儀進行物理連接的節點,叫做邊緣節點(DoIP edge node)。邊緣節點可作為一個網絡交換機,將車內網與車外網組成同一子網;也可以作為一個網關,將車內網與車外網進行安全隔離,屏蔽非法的網絡訪問和網絡攻擊。
除了邊緣節點之外,還有另一類網關,即車內的DoIP網關節點。車內DoIP網關節點的作用,是實現以太網到其他網絡總線(如CAN、LIN)的報文路由,這樣便實現了DoIP診斷與傳統網絡總線的兼容。多種網絡總線匯聚到DoIP網關,這大大的降低了布線的復雜性,并且提高了各總線網絡中ECU的診斷效率。
車內網絡中,還存在一般的DoIP節點,這些節點只支持對自身的診斷,而不具備路由功能。最后,還有一類網絡節點(Network node),不具備DoIP診斷功能,與DoIP節點共享網絡資源。
在車內網絡中,各DoIP網關和DoIP節點可以全部級聯于DoIP邊緣節點,也可以分布于多個交換機網絡,但最終都可以被邊緣節點直接訪問到。
對于邊緣節點,人們經常通常有以上的疑問,其實透傳和非透傳這兩種方案,沒有好壞之分,都有各自適合的應用場景。例如,連接的外接診斷儀,主要用于多車故障診斷和ECU刷寫,為了實現快速的ECU訪問和在線監測,要求車內各ECU享有唯一的IP地址,適合使用透傳方案。若連接的是TBOX之類具有聯網功能控制單元,為了避免車內網受到外部網絡攻擊,因此適合使用非透傳方案。
DoIP協議的主要功能
DoIP協議棧作為以太網診斷軟件架構的中間件,主要具備如下五大功能,這五大功能體現了DoIP診斷的特殊性,是區別于傳統CAN診斷的重要特征。
接下來我們按照DoIP診斷從連接建立到診斷通信實施的流程,對各個功能模塊進行簡要講解。
車輛發現
顧名思義,就是用來檢測車輛是否在線,具體來說就是診斷儀首先發送一個廣播的車輛發現報文,網絡中所有接收到這條報文的ECU都將發送自己的身份信息。通過各個ECU發回的身份信息,診斷儀便可以準確得獲知有哪些ECU在線,并且可以根據這些信息對這些ECU進行歸類,比如各自屬于那一臺汽車。
路由激活
與傳統意義上網關的“路由”不同,DoIP協議中的“路由”指的是診斷儀與被診斷節點之間的報文傳輸。外部測試儀與DoIP節點之間的通信連接建立之后,應發送路由激活請求,路由激活請求被DoIP節點驗證合法之后,診斷儀才能對ECU進行診斷。路由激活包含了DoIP節點對外部診斷儀的安全認證過程,ECU開發人員可以自定義安全認證的算法,用于屏蔽非法診斷儀對ECU進行的診斷。
診斷儀在線監測
與傳統CAN總線不同,DoIP診斷需要預先與ECU建立通信連接,也就是TCP socket。由于socket的建立會消耗內存資源,因此不能無限制創建連接。ECU在設計階段,會定義最多能支持并行連接的診斷儀數量,并行連接的診斷儀數量達到上限之后,將無法建立新的診斷通信連接。因此這些診斷連接通道屬于稀缺的資源,為了避免通道被無效占用,因此設計了診斷儀在線監測機制。DoIP節點會向現在有的診斷連接通道上,發送診斷儀在線監測請求,若有的連接上無法收到診斷儀回復的響應報文,則會將此連接復位,以待新的診斷儀接入。
節點信息
節點信息包含了節點的屬性,例如如最大支持的并行診斷儀連接數量,最大可接受的診斷報文長度,以及當前節點的電源狀態,即是否所有部件都完成上電。節點信息作為診斷通信前的診斷條件檢查,以確保后續診斷通信不受外部因素干擾。
診斷通信
作為DoIP協議的核心功能,此功能負責診斷報文的傳輸。診斷報文中包含三個信息,即診斷報文發送方的邏輯地址(以下簡稱SA),診斷報文接收方的邏輯地址(以下簡稱DA),以及診斷數據。在CAN總線網絡中,通過CANID來尋址要診斷的ECU,而在DoIP網絡中,DA的作用相當于CANID,用于尋址要診斷的目的ECU。下圖通過一個以太網轉CAN的診斷示例,展示SA和DA在診斷通信中的作用。
擴展一下:
以上介紹了DoIP診斷規范中的網絡拓撲和軟件功能,在實際軟件開發過程中,還會涉及到諸多的技術細節,例如:
- 邊緣節點透傳與非透傳方案設計;
- DoIP節點間IP地址分配策略,即靜態IP或者動態IP的選擇;
- 各節點間GID(節點分組ID)同步策略設計;
- 路由激活安全認證策略設計等。
針對DoIP診斷技術需求,東信創智可以提供以下三種服務模式:
- DoIP協議培訓服務;
- 商用DoIP協議棧(如vector的microsar協議棧)集成和軟件配置服務;
- DoIP網關樣件,可以用于技術驗證和診斷測試。
https://zhuanlan.zhihu.com/p/427437371https://zhuanlan.zhihu.com/p/427437371
總結
以上是生活随笔為你收集整理的DoIP诊断技术一点通的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理想边界尺寸怎么算_CFD 仿真中的边界
- 下一篇: 4-3逻辑非运算符及案例 4-4