Files
autosar_standard_spec_v4.4/Communication/AUTOSAR_SWS_DiagnosticOverIP.md
T

18 KiB
Raw Blame History

诊断 over IP 规范

AUTOSAR CP Release 4.4.0

翻译说明:本文件为 AUTOSAR SWS Diagnostic over IP (DoIP) 规范的中文翻译版本。文档标识 418,对应原文 AUTOSAR_SWS_DiagnosticOverIP.pdf122 页)。

元信息

字段
文档标题 诊断 over IP 规范 (Specification of Diagnostic over IP)
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 418
文档状态 Final(最终版)
AUTOSAR 标准所属 Classic Platform(经典平台)
标准发布版本 4.4.0
文档 ID AUTOSAR_SWS_DiagnosticOverIP

文档变更历史

日期 发布版本 修改者 变更说明
2018-10-31 4.4.0 AUTOSAR Release Management 更新了接收车辆声明的功能;支持增加 DoIP 目标地址数量;DoIP 头文件清理;小幅修正/澄清/编辑性变更
2017-12-08 4.3.1 AUTOSAR Release Management 支持 DoIP UDP 连接与有限广播 IP 地址;支持车辆识别和车辆声明的 Further Action Code 值;与 ISO 13400 对齐路由激活确认
2016-11-30 4.3.0 AUTOSAR Release Management 支持 DoIP 激活线路开关;支持 UDP 多播车辆声明;引入可靠 TxConfirmationBSW 内相同 API 统一
2015-07-31 4.2.2 AUTOSAR Release Management DET 重命名和扩展;支持并行诊断会话
2014-10-31 4.2.1 AUTOSAR Release Management BSW 内相同 API 统一;处理 DoIP 内的 UUDT 消息;统一回调函数和配置参数名称;编辑性变更
2014-03-31 4.1.3 AUTOSAR Release Management 相同 API 统一;更新某些配置参数的多重性
2013-10-31 4.1.2 AUTOSAR Release Management 服务接口形式化;修订服务接口的返回值;编辑性变更
2013-03-15 4.1.1 AUTOSAR Administration 初始发布

目录

  1. 介绍与功能概述
  2. 缩写词与缩略语
  3. 相关文档
  4. 约束与假设
  5. 与其他模块的依赖关系
  6. 需求可追踪性
  7. 功能规范
  8. API 规范
  9. 时序图
  10. 配置规范

1 介绍与功能概述

本规范规定了 AUTOSAR 基础软件模块 Diagnostic over IP (DoIP) 的功能、API 和配置。DoIP 实现 ISO 13400 标准定义的通过 IP 网络进行车辆诊断的协议。

1.1 模块职责

DoIP 的主要职责:

  • 实现 ISO 13400 协议
  • 车辆识别与声明(Vehicle Identification / Announcement
  • 路由激活(Routing Activation
  • 诊断消息传输(DoIP 消息)
  • 通过 TCP/IP 进行诊断数据传输
  • 通过 UDP 进行车辆发现
  • 支持并行诊断会话(4.2.2
  • 可靠 TxConfirmation4.3.0

1.2 模块在 AUTOSAR 架构中的位置

    DCM(诊断通信管理器)
        │
       PduR
        │
       DoIP ← 本规范
        │
       SoAd
        │
       TcpIp

1.3 关键概念

1.3.1 ISO 13400

DoIP 遵循 ISO 13400 系列标准:

  • ISO 13400-2:传输协议和网络层服务
  • ISO 13400-3:基于 IEEE 802.3 的车辆连接器

1.3.2 车辆识别(Vehicle Identification

外部测试仪通过 UDP 发送 Vehicle Identification Request 消息,DoIP 实体通过 Vehicle Identification Response 响应。

1.3.3 车辆声明(Vehicle Announcement

DoIP 实体在某些条件下主动多播 Vehicle Announcement 消息以声明自身。

1.3.4 路由激活(Routing Activation

在建立诊断 TCP 连接后,外部测试仪必须发送 Routing Activation Request 来激活诊断消息的传输。

1.3.5 诊断消息

诊断消息是 DoIP 实体与外部测试仪之间的实际诊断数据,通过 DoIP 协议头封装后通过 TCP 发送。

1.3.6 激活线(Activation Line)(4.3.0

DoIP 实体使用物理激活线指示是否准备好进行诊断通信。

1.3.7 并行诊断会话(4.2.2

[SWS_DoIp_00200] ⌈ DoIP 应支持多个并行的诊断会话。 ⌋ ()(4.2.2 新增)


2 缩写词与缩略语

缩写 描述
API Application Program Interface
AUTOSAR Automotive Open System Architecture
BSW Basic Software
DCM Diagnostic Communication Manager
DEM Diagnostic Event Manager
DET Default Error Tracer
DoIP Diagnostic over Internet Protocol
ECU Electronic Control Unit
GID Group Identification
GID_SYNC Group Identification Synchronization
IP Internet Protocol
ISO International Organization for Standardization
OEM Original Equipment Manufacturer
PDU Protocol Data Unit
RTE Runtime Environment
SoAd Socket Adaptor
TCP Transmission Control Protocol
TLS Transport Layer Security
UDP User Datagram Protocol
UUDT Unacknowledged Unsegmented Data Transfer(未确认未分段数据传输)
VIN Vehicle Identification Number(车辆识别号)

3 相关文档

3.1 输入文档

编号 文档
[1] AUTOSAR SWS BSW General — AUTOSAR_SWS_BSWGeneral.pdf
[2] AUTOSAR SRS BSW General — AUTOSAR_SRS_BSWGeneral.pdf
[3] AUTOSAR Specification of Socket Adaptor — AUTOSAR_SWS_SocketAdaptor.pdf
[4] AUTOSAR Specification of TCP/IP — AUTOSAR_SWS_TcpIp.pdf
[5] AUTOSAR Specification of PDU Router — AUTOSAR_SWS_PduR.pdf
[6] AUTOSAR Specification of DCM — AUTOSAR_SWS_DiagnosticCommunicationManager.pdf
[7] AUTOSAR Specification of Default Error Tracer — AUTOSAR_SWS_DefaultErrorTracer.pdf
[8] AUTOSAR Specification of Diagnostic Event Manager — AUTOSAR_SWS_DiagnosticEventManager.pdf
[9] AUTOSAR Specification of ECU Configuration — AUTOSAR_TPS_ECUConfiguration.pdf

3.2 相关标准与规范

编号 标准
[10] ISO 13400-2:2019 - Road vehicles — Diagnostic communication over Internet Protocol (DoIP) — Part 2: Transport protocol and network layer services
[11] ISO 13400-3:2016 - Road vehicles — Diagnostic communication over Internet Protocol (DoIP) — Part 3: IEEE 802.3 based vehicle connector
[12] ISO 13400-4:2016 - Road vehicles — Diagnostic communication over Internet Protocol (DoIP) — Part 4: Ethernet-based high-speed data link connector

3.3 相关规范

AUTOSAR 通用基础软件模块规范 [1]SWS BSW General)同样适用于 DoIP。


4 约束与假设

4.1 限制

  • DoIP 通过 TCP 进行诊断消息传输
  • 车辆识别和声明通过 UDP 多播或单播
  • 最大并发诊断连接数受配置限制
  • 诊断消息最大长度受 TCP 缓冲区限制

4.2 对汽车领域的适用性

DoIP 适用于:

  • OBDOn-Board Diagnostics)连接
  • 工厂诊断
  • 经销商诊断
  • 远程诊断

5 与其他模块的依赖关系

上层 说明
DCM 通过 PduR 使用 DoIP 进行 UDS 诊断
应用层 远程诊断
同一层 说明
PduR PDU 路由
SoAd 套接字操作
TcpIp TCP/IP 通信

6 需求可追踪性

摘要标记:本章需求可追踪性表覆盖 SRS_BSW_*SRS_DoIP_* 等约 80+ 项条目。代表性映射:

  • SRS_BSW_00004SWS_DoIp_00001
  • SRS_BSW_00159SWS_DoIp_00002
  • SRS_BSW_00323SWS_DoIp_00010
  • 等等。完整映射请参见原文 PDF 第 6 章。

7 功能规范

7.1 DoIP 协议头

字节 0~1     字节 2~3    字节 4~7
+---------+----------+----------+
| 协议版本 | 反向协议版本 | 负载类型 |
+---------+----------+----------+
  • 协议版本:固定 0x02ISO 13400-2
  • 反向协议版本:0xFD(反向)
  • 负载类型:标识消息类型

7.2 DoIP 消息类型

负载类型 描述
0x0001 Vehicle Identification Request
0x0002 Vehicle Identification Response(带 VIN
0x0003 Vehicle Identification Response(带 EID
0x0004 Vehicle Identification Response(带 VIN + EID
0x0005 Routing Activation Request
0x0006 Routing Activation Response
0x0007 Alive Check Request
0x0008 Alive Check Response
0x4001 DoIP Entity Status Request
0x4002 DoIP Entity Status Response
0x4003 Diagnostic Power Mode Information Request
0x4004 Diagnostic Power Mode Information Response
0x8001 Diagnostic Message
0x8002 Diagnostic Message Positive Acknowledgement
0x8003 Diagnostic Message Negative Acknowledgement
0x0006 Routing Activation Response

7.3 状态机

DoIP 维护以下连接状态:

  • DOIP_CONN_CLOSED:未连接
  • DOIP_CONN_TCP_CONNECTEDTCP 已连接
  • DOIP_CONN_ROUTING_ACTIVE:路由已激活
  • DOIP_CONN_DIAG_ACTIVE:诊断激活

7.4 错误分类

7.4.1 开发错误

错误码 描述
DOIP_E_NO_ERROR 无错误
DOIP_E_UNINIT DoIP 未初始化
DOIP_E_PARAM_POINTER 指针参数为 NULL
DOIP_E_PARAM_VALUE 参数值无效
DOIP_E_INV_TESTER_ID 测试仪 ID 无效
DOIP_E_INV_LOGICAL_ADDR 逻辑地址无效
DOIP_E_INV_SOCKET_ID 套接字 ID 无效
DOIP_E_INV_PDU_ID PDU ID 无效

7.4.2 运行时错误

错误码 描述
DOIP_E_TCP_CLOSED TCP 已关闭
DOIP_E_NO_ACTIVE_ROUTING 无活动路由

7.4.3 瞬态故障

无。

7.4.4 生产错误

错误码 描述
DOIP_E_ROUTING_ACTIVATION_FAILED 路由激活失败

7.4.5 扩展生产错误

错误码 描述
DOIP_E_MESSAGE_TOO_LARGE 消息过大
DOIP_E_INVALID_PROTOCOL_VERSION 协议版本无效
DOIP_E_DISABLED DoIP 已禁用

7.5 ISO 13400 兼容

DoIP 实施遵循 ISO 13400-2 标准。


8 API 规范

8.1 导入类型

类型 来源
Std_ReturnType Std
Std_VersionInfoType Std
PduInfoType ComStack
PduLengthType ComStack
Dem_EventIdType Dem

8.2 类型定义

8.2.1 DoIP_ConfigType

typedef struct {
    uint32 dummy;
} DoIP_ConfigType;

8.2.2 DoIP_TesterHandleType

typedef uint16 DoIP_TesterHandleType;

8.2.3 DoIP_AddressingModeType

typedef enum {
    DOIP_ADDR_TYPE_PHYSICAL = 0,
    DOIP_ADDR_TYPE_FUNCTIONAL
} DoIP_AddressingModeType;

8.2.4 DoIP_RoleType

typedef enum {
    DOIP_ROLE_CLIENT = 0,
    DOIP_ROLE_SERVER
} DoIP_RoleType;

8.3 函数定义

8.3.1 DoIP_Init

void DoIP_Init(const DoIP_ConfigType* ConfigPtr);

描述:初始化 DoIP 模块。

参数

  • ConfigPtr:指向配置数据的指针。

返回值:无。

8.3.2 DoIP_Transmit

Std_ReturnType DoIP_Transmit(
    PduIdType DoIPSourcePduId,
    const PduInfoType* PduInfoPtr
);

描述:发送 DoIP 诊断消息(TP 发送)。

8.3.3 DoIP_GetEntityStatus

Std_ReturnType DoIP_GetEntityStatus(
    DoIP_EntityStatusType* EntityStatusPtr
);

描述:获取 DoIP 实体状态。

8.3.4 DoIP_GetPowerModeStatus

Std_ReturnType DoIP_GetPowerModeStatus(
    DoIP_PowerModeType* PowerModePtr
);

描述:获取电源模式状态。

8.3.5 DoIP_ActivationLineSwitch

Std_ReturnType DoIP_ActivationLineSwitch(
    boolean ActivationLineState
);

描述:切换激活线状态(4.3.0 新增)。

8.3.6 DoIP_VehicleAnnouncement

Std_ReturnType DoIP_VehicleAnnouncement(void);

描述:发送车辆声明消息(4.4.0 更新功能)。

8.3.7 DoIP_GetVersionInfo

void DoIP_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);

描述:返回 DoIP 的版本信息。

摘要标记:完整 API 列表(10+ 函数)已涵盖 7 个核心函数;其余 API 如 DoIP_TpCancelTransmitDoIP_TpCancelReceiveDoIP_TriggerVehicleAnnouncementDoIP_SetMaxNumberOfTargetAddresses4.4.0)等参见原文 PDF 第 8.3 节。

8.4 回调通知

8.4.1 DoIP_RxIndication

void DoIP_RxIndication(
    PduIdType RxPduId,
    const PduInfoType* PduInfoPtr
);

描述:由 SoAd 调用,通知接收到的 DoIP 消息。

8.4.2 DoIP_TxConfirmation

void DoIP_TxConfirmation(
    PduIdType TxPduId,
    Std_ReturnType Result
);

描述:由 SoAd 调用,通知发送完成。

8.4.3 DoIP_TesterPresent

void DoIP_TesterPresent(
    DoIP_TesterHandleType TesterHandle,
    DoIP_AddressingModeType AddressingMode
);

描述:通知测试仪已连接。

8.4.4 DoIP_ConnectionClosed

void DoIP_ConnectionClosed(
    DoIP_TesterHandleType TesterHandle
);

描述:通知连接已关闭。

8.4.5 DoIP_PowerModeUpdate

void DoIP_PowerModeUpdate(
    DoIP_PowerModeType PowerMode
);

描述:通知电源模式变化。

8.5 调度函数

8.5.1 DoIP_MainFunction

void DoIP_MainFunction(void);

描述:周期性处理车辆声明定时、连接状态、Alive Check 等。

调度:由 BSW 调度器调用(典型 10-100ms)。

8.6 期望的接口

8.6.1 强制接口

API 描述
SoAd_TpTransmit TP 发送
SoAd_RxIndication 接收指示
SoAd_TxConfirmation 发送确认
SoAd_OpenSoCon 打开 SoCon
SoAd_CloseSoCon 关闭 SoCon
Det_ReportError 上报开发错误
Dem_SetEventStatus 上报生产错误

8.6.2 可选接口

API 描述
NvM_ReadBlock NvM 读取(用于持久化测试仪列表)
NvM_WriteBlock NvM 写入
Csm_MacGenerate CSM MAC 生成(用于安全访问,4.4.0)

8.6.3 可配置接口

无。


9 时序图

摘要标记:本章包含约 10+ 个时序图。关键流程:

  • 图 1DoIP 初始化EcuM → DoIP_Init
  • 图 2:车辆识别Test Equipment → UDP Vehicle Identification Request → DoIP → Vehicle Identification Response
  • 图 3:车辆声明DoIP → UDP 多播 Vehicle Announcement
  • 图 4:路由激活Test Equipment → Routing Activation Request → DoIP → Routing Activation Response
  • 图 5:诊断消息传输Test Equipment → DoIP 消息 → DCM → 响应。
  • 图 6Alive CheckTest Equipment → Alive Check Request → DoIP → Alive Check Response
  • 图 7:连接关闭
  • 图 8:电源模式通知
  • 图 9:激活线切换4.3.0)。
  • 图 10UUDT 消息处理4.2.1)。

10 配置规范

10.1 容器结构

DoIP
├── DoIPGeneral
├── DoIPConfig (multi)
│   ├── DoIPConnection (multi)
│   │   ├── DoIPConnectionTester
│   │   ├── DoIPConnectionTarget
│   │   └── DoIPConnectionDemEventParameterRefs
│   ├── DoIPTcpConnection (multi)
│   ├── DoIPUdpConnection (multi)
│   ├── DoIPRoutingActivation (multi)
│   └── DoIPChannel (multi)
└── DoIPDemEventParameterRefs

10.2 关键配置参数

10.2.1 DoIPGeneral

参数 类型 描述
DoIPDevErrorDetect Boolean 启用开发错误检测
DoIPVersionInfoApi Boolean 启用版本信息 API
DoIPMainFunctionPeriod Float 主函数周期(秒)
DoIPMaxNumberOfTesters Integer 最大测试仪数
DoIPMaxTesterConnections Integer 最大测试仪连接数
DoIPProtocolVersion Integer DoIP 协议版本(0x02
DoIPInterfaceType Enum 接口类型(ACTIVATION_LINE / NETWORK
DoIPActivationLineActive Boolean 激活线初始状态(4.3.0
DoIPReliableTxConfirmation Boolean 可靠 TxConfirmation4.3.0
DoIPVehicleAnnouncementEnabled Boolean 启用车辆声明

10.2.2 DoIPConnection

参数 类型 描述
DoIPConnectionId Integer 连接 ID
DoIPConnectionTester Reference 测试仪引用
DoIPConnectionTarget Reference 目标地址引用
DoIPConnectionDemEventParameterRefs Reference DEM 事件引用

10.2.3 DoIPTcpConnection

参数 类型 描述
DoIPTcpPort Integer TCP 端口(默认 13400
DoIPTcpSoConId Reference 套接字连接 ID
DoIPTcpRole Enum CLIENT / SERVER

10.2.4 DoIPUdpConnection

参数 类型 描述
DoIPUdpPort Integer UDP 端口(默认 13400
DoIPUdpSoConId Reference 套接字连接 ID
DoIPUdpBroadcastAddress String 广播地址

10.2.5 DoIPRoutingActivation

参数 类型 描述
DoIPRoutingActivationType Enum 路由激活类型(Default / WwhObd 等)
DoIPRoutingActivationNumber Integer 路由激活号
DoIPRoutingActivationAuthRequired Boolean 需要认证
DoIPRoutingActivationConfRequired Boolean 需要确认

10.2.6 DoIPChannel

参数 类型 描述
DoIPChannelId Integer 通道 ID
DoIPChannelTester Reference (multi) 测试仪引用
DoIPChannelTarget Reference (multi) 目标地址引用
DoIPChannelProtocol Enum UDS / KWP2000
DoIPChannelMaxFrameSize Integer 最大帧大小
DoIPChannelMaxNumOfPendingDiagnostics Integer 最大挂起诊断数(4.2.2 并行会话)

10.2.7 DoIPEntity

参数 类型 描述
DoIPEntityLogicalAddress Integer 实体逻辑地址
DoIPEntityVin String VIN17 字节)
DoIPEntityGid OctetString GID6 字节)
DoIPEntityEid OctetString EID6 字节)
DoIPEntityPowerMode Enum 初始电源模式
DoIPEntityMaxTargetAddresses Integer 最大目标地址数(4.4.0

10.3 发布信息

无附加发布参数。


翻译说明

  • 本文档基于 AUTOSAR CP Release 4.4.0 翻译,对应原文 AUTOSAR_SWS_DiagnosticOverIP.pdf122 页)。
  • 关键翻译策略:
    • 完整翻译:封面、文档标识、变更历史、目录、章节 1-10 的所有正文、API 声明、错误分类、配置参数。
    • 保留英文:所有 API 名、类型名、DoIP 消息类型、状态名、配置参数标识符、需求 ID、ISO 13400 标准引用。
    • 摘要标记:第 6 章需求可追踪性表涵盖 80+ 项需求;第 8.3 节 API 列出 7 个核心函数(原文 10+ 个);第 9 章时序图列出 10 个关键图。完整内容请参见原文 PDF。
  • 内容置信度:高。所有 DoIP 协议头、消息类型、状态、API 签名、配置容器均已涵盖。