• DoIP协议——汽车以太网应用介绍



    前言

    传统的车载领域诊断技术是通过CAN/LIN/Flexray/MOST的总线方式,对UDS协议数据进行传输的技术。
    与传统车载诊断相比,所谓DoIP就是通过以太网通信的形式对UDS协议数据进行传输,即DoIP:Diagnostic communication over Internet Protocol。其本身也是一种协议,由ISO13400 系列标准定义,作为实现基于Ethernet的诊断通信的方案。本标准的各部分内容如下:
    — Part 1: General information and use case defnition
    Part 2: Transport protocol and network layer services
    — Part 3: Wired vehicle interface based on IEEE 802.3
    — Part 4: Ethernet Diagnostic Connector
    — Part 5: Conformance test specifcation

    13400

    因DoIP可以传输大量数据,以及响应速度快,且可以通过以太网进行远程诊断,因此DoIP成为了车载诊断的必然趋势。


    一、DoIP术语和缩写

    DoIP Entity:实现DoIP协议的节点(DoIP gateway或者DoIP node)
    DoIP Edge Node:连接以太网激活线的DoIP节点
    Network Node:连在IP网络上,但不能实现DoIP的节点
    Logical Addressing(Phy/Fun):逻辑寻址
    SA:Source Address-源逻辑地址
    TA:Target Address-目的逻辑地址
    EID:Entity Identification实体标识符,唯一标识DoIP节点,一般是MAC地址
    GID:Group Identification组标识符,当VIN码未配置的时候替代VIN使用,车内节点同步边缘节点的GID
    VIN:Vehicle Identification Number-车辆识别码,Length:17bytes

    二、网络拓扑

    允许车辆与外部测试设备之间的通信。通常,该协议标准由一个或多个DolP实体实现,具体取决于车辆的网络架构。ISO13400-2中下图显示了车辆网络架构的一个示例。
    网络拓扑
    从图中可以看出整体的网络拓扑被分为了两个部分,即车内网和车外网。

    该网络拓扑由如下四个角色组成的

    1. External test equipment
      外部测试设备,通常为OBD诊断仪或者是其它诊断客户端。
    2. DoIP edge node gateway
      这个角色和DoIP gateway的区别就是多了个使能线的判断
      从图中可以看出External test equipment和DoIP edge node gateway之间有一条线叫做Activation line。用于对协议栈进行使能。
    3. DoIP gateway
    4. DoIP node
      对支持以太网连接的同时支持DoIP协议的ECU认为是DoIP node。

    DoIP edge node gateway可以同时支持Server端和Client端:
    Server端-测试设备可以诊断该网关下的某个ECU节点
    Client端-OTA升级,DoIP edge node gateway的应用层可以跑一个OTA客户端程序,进行对内网ECU的诊断及刷写

    三、DoIP数据基本结构

    DoIP数据映射到以太网帧中

    DoIP数据作为SDU层向下传递,直至构成完整的以太网帧,通过物理层的介质发送出去。DoIP的数据内容分为5个部分:

    ①所使用的ISO13400版本信息,占用1个字节
    ②所使用的ISO13400版本信息依比特取反,占用1个字节
    ③数据类型,占用2个字节(标识本帧数据的用途,比如用于上报或请求车辆信息、诊断命令、诊断逻辑链接激活、alive check等)
    ④数据长度,占用4个字节(标识后面的数据长度)
    ⑤诊断数据,长度为0至2的32次方减1,这里的数据又分为sender address、receiver address、 应用数据这三部分。
    Data

    四、应用场景

    ISO13400中定义了DoIP的4种使用场景,如下四幅图所示:

    4.1 直接点对点连接

    doip1

    ①网线
    ②外部测试设备
    ③车辆
    ④逻辑连接

    4.2 多台外部测试设备分别和多台汽车在局域网内通过交换机点对点连接

    doip2

    ①以太网交换机和WLAN接入点
    ②网线
    ③WLAN
    ④外部测试设备1
    ⑤外部测试设备2
    ⑥车辆1
    ⑦车辆2
    ⑧逻辑连接1(4和6)
    ⑨逻辑连接2(5和7)

    4.3 一台外部测试设备跨越本地网络与多台车辆连接

    doip3

    ①授权经销商或者维修厂网络
    ②网线
    ③WLAN
    ④外部测试设备
    ⑤网络服务器
    ⑥车辆1
    ⑦车辆2
    ⑧车辆3
    ⑨逻辑连接1(4和6)
    ⑩逻辑连接2(4和8)

    4.4 外部测试设备的多个应用层实体(在一台硬件或多台硬件上)与单个车辆连接

    doip4

    ①授权经销商或者维修厂网络
    ②网线
    ③WLAN
    ④外部测试设备1
    5.外部测试设备2
    6.网络服务器
    7.车辆1
    8.车辆2
    9.车辆3
    10.逻辑连接1(4和8)
    11.逻辑连接2(4和8)
    12.逻辑连接3(5和9)
    13.逻辑连接4(6和9)

  • 相关阅读:
    OPenCV的重要结构体Mat
    部署SpringBoot+SpringCloud+Vue项目——半途而废版
    C++系列之list的模拟实现
    Azure Neural TTS 持续上新,助力企业开拓小语种市场
    Python argparse使用方法介绍
    java反射
    【软件测试用例篇】
    [git] 撤销 git reset –hard
    【POJ No. 1577 / UVA No. 1525】落叶 Falling Leaves
    DFS membe端配置
  • 原文地址:https://blog.csdn.net/qq_41908302/article/details/132795818