DoIP

缩写词注解

缩写词

英文全称

中文解释

VIN

Vehicle Identification Number

车辆识别号

EID

Entity Identifier

实体标识符

GID

Group Identifier

组标识符

LA

Logic Address

DoIP 实体的逻辑地址

SA

Source Address

用于标识 DoIP 消息是从哪个 DoIP 实体发出的

TA

Target Address

用于标识将DoIP 消息发送给哪个DoIP 实体

Tester

运行有 DoIP 客户端的 DoIP 实体

PDU

Protocol Data Unit

协议数据单元

PduR

PDU Router

PDU路由模块,Autosar 中的一个功能模块

RTE

Runtime Environment

运行时环境,Autosar 中的一个功能模块

SoAd

Socket Adapter

套接字适配器,Autosar 中的一个功能模块

DCM

Diagnostic Communication Manager

诊断控制管理,Autosar 中的一个功能模块

CAN

Controller Area Network

控制器局域网总线

ECU

Electronic Control Unit

行车电脑

简介

image1

图 DoIP模块层次图

DoIP模块用于外部诊断设备与内部ECU之间基于IP(TCP或UDP)的诊断通讯,主要实现了ISO13400-2规范规定的传输层的协议功能。DoIP在AUTOSAR架构处于SoAd模块与PduR模块之间(图 )。SoAd向DoIP提供IP地址的获取与释放、SocketConnection的创建与通知功能。DoIP向SoAd提供接收与发送的API用于数据的传输。PduR模块提供和其它上层模块的路由功能,保证DoIP和上层模块(DCM或其它TP模块)的数据交互。

DoIP实现了以下功能:

  1. 车辆通告和车辆发现;

  2. 车辆基本信息检索;

  3. 连接状态建立、维持以及车辆网关控制;

  4. 诊断数据路由;

  5. 网络错误状态处理。

参考资料

[1] ISO-13400,2012

[2] AUTOSAR_SWS_DiagnosticOverIP,R19-11

功能描述

车辆通告和车辆发现功能

车辆通告和车辆发现功能介绍

车辆通告和车辆发现功能用于Tester端发现已经建立IP连接的DoIP节点。通常DoIP节点的IP地址分配成功后会发出vehicle announcement报文,用于通告自己的LA、VIN、EID、GID等信息。如果Tester端没有及时收到(Tester在DoIP启动后才连接到网络)DoIP节点的车辆通告报文,会通过主动发送vehicle identification报文获取DoIP节点的上述信息。

车辆通告和车辆发现功能实现

车辆通告和车辆发现功能基于 UDP 协议实现。

车辆通告。当网络可用时,SoAd会调用DoIP_SoConModeChg告知 DoIP,DoIP在DoIP_SoConModeChg设置应该发送车辆通告消息相关标志,在 DoIP_MainFunction调用SoAd_IfTransmit发送车辆通告消息。

车辆发现。SoAd会调用DoIP_SoAdIfRxIndication告知DoIP收到vehicle identification消息,DoIP在DoIP_SoAdIfRxIndication处理收到的相关消息,并调用SoAd_IfTransmit发送响应报文。

车辆基本信息检索功能

车辆基本信息检索功能介绍

车辆检索,用于外部诊断设备通过0x4001、0x4003指令向DoIP节点检索当前节点的节点类型、最大同时可连接TCP socket数量、当前连接的TCP socket数量、最大可支持的数据长度、当前电源状态等信息。

车辆基本信息检索功能实现

车辆检索功能基于UDP协议实现,接收到0x4001、0x4003报文后进入DoIP_SoAdIfRxIndication() 进行处理,同步构造响应报文并通过SoAd_IfTransmit() 发送响应报文。

连接状态建立、维持功能

连接状态建立、维持功能介绍

连接状态建立、维持功能用建立TCP 连接与维持,DoIP通过路由激活请求注册TCP连接,通过存活检测机制来维持连接状态。

连接状态建立、维持功能实现

当DoIP_SoConModeChg指示当前套接字状态切换为SOAD_SOCON_ONLINE时,将由DoIP维持一个套接字连接资源池,并开始启动initial inactivity timer,如果超时时间内未完成路由激活注册,将在套接字资源池中清除对应套接字,并通知SoAd模块关闭套接字。如果在超时时间内接收到路由激活请求并满足注册条件,则停止initial inactivity timer计时并开始general inactivity timer计时,此后就可以基于该套接字进行诊断报文的传输了。每当通过该套接字收发了数据,都会重置general inactivity timer。

诊断数据路由功能

诊断数据路由功能介绍

通过DoIP传递的诊断数据通常有两种形式,一种是通过DoIP传递给其它ECU节点,此时DoIP节点作为网关节点,实现诊断报文的路由功能,另一种则是传递给DoIP节点本身。

诊断数据路由功能实现

如果是通过DoIP将诊断报文传递给其它ECU,则首先通过SA、TA找到PduR中配置好的目的节点,通过PduR的报文路由功能转发给其它节点。

如果诊断报文是发送给 DoIP 节点本身,同样是通过SA、TA找到PduR中配置的上层目标,并由PduR转发到DCM中进行处理,此时诊断报文接收和发送buffer将由DCM模块提供。

诊断数据网关功能

DoIP网关支持将诊断报文转发到CAN网络、其它以太网网络。

以太网转CAN

DoIP网关到CAN诊断节点。Tester发出的诊断请求通过以太网传递到DoIP网关,DoIP网关通过TA得到目标节点,将诊断请求通过PduR转发到CAN总线。

以太网转以太网

DoIP网关到Eth诊断节点。Tester发出的诊断请求通过以太网传递到DoIP网关,DoIP网关通过TA得到目标诊断节点,将诊断请求通过PduR转发到 Eth。

源文件描述

表 DoIP组件文件描述

文件

说明

DoIP_Cfg.h

定义DoIP模块预编译时用到的配置参数

DoIP_PCCfg.c

定义DoIP模块预编译时用到的配置参数

DoIP_PCCfg.h

定义DoIP模块预编译时用到类型

DoIP_PBCfg.c

定义DoIP模块链接时用到的配置参数

DoIP_PBCfg.h

定义DoIP模块链接时用到的类型

Rte_DoIP.c

定义RTE与DoIP的交互函数

Rte_DoIP.h

定义RTE与DoIP的交互函数的声明

R te_DoIP_Type.h

定义RTE与DoIP的交互函数的类型

DoIP.h

提供API函数的扩展声明,定义必要数据结构

DoIP.c

实现 API

D oIP_Internal.c

内部函数源文件

DoIP_Cbk.h

提供SoAd调用的API函数的声明

D OIP_Internal.h

内部变量和数据结构的定义

DoIP_Types.h

类型定义文件

DoIP_MemMap.h

内存分布文件

image2

图 DoIP模块文件结构图

API接口

类型定义

DoIP_ConfigType类型定义

名称

DoIP_ConfigType

类型

Structure

范围

Implementation specific

描述

DoIP 配置结构体类型定义

DoIP_PowerStateType类型定义

名 称

DoIP_PowerStateType

类 型

uint8

范 围

DOIP_NOT_READY

DOIP_READY

DOIP_NOT_SUPPORTED

描 述

DoIP 电源状态类型定义

DoIP_ActivationLineType类型定义

名称

DoIP_ActivationLineType

类型

enum

范围

DOIP_ACTIVATION_LINE_ACTIVE

DOIP_ACTIVATION_LINE_INACTIVE

描述

激活线状态

DoIPNodeType类型定义

名称

DoIPNodeType

类型

enum

范围

DOIP_GATEWAY

DOIP_NODE

描述

DoIP 节点类型

输入函数描述

输入模块

API

Dcm

Dcm_GetVin

PduR

PduR_DoIPTpCopyRxData

PduR

PduR_DoIPTpCopyTxData

PduR

PduR_DoIPTpRxIndication

PduR

PduR_DoIPTpStartOfReception

PduR

PduR_DoIPTpTxConfirmation

SoAd

SoAd_CloseSoCon

SoAd

SoAd_GetLocalAddr

SoAd

SoAd_GetPhysAddr

SoAd

SoAd_GetRemoteAddr

SoAd

SoAd_GetSoConId

SoAd

SoAd_IfTransmit

SoAd

SoAd_OpenSoCon

SoAd

SoAd_ReleaseIpAddrAssignment

SoAd

SoAd_RequestIpAddrAssignment

SoAd

SoAd_TpCancelReceive

SoAd

SoAd_TpCancelTransmit

SoAd

SoAd_TpTransmit

静态接口函数定义

DoIP_Init函数定义

函数名称:

DoIP_Init

函数原型:

void DoIP_Init ( const D oIP_ConfigType* DoIPConfigPtr )

服务编号:

0x01

同步/异步:

同步

是否可重入:

不可重入

输入参数:

DoIPConfigPtr :配置结构体指针

值域:

输 入输出参数:

输出参数:

返回值:

功能概述:

初始化 DoIP

DoIP_ActivationLineSwitch函数定义

函数名称:

D oIP_Acti vationLi neSwitch

函数原型:

void D oIP_Acti vationLi neSwitch (boolean *active )

服务编号:

0x0e

同步/异步:

同步

是否可重入:

不可重入

输入参数

输 入输出参数:

active :通知 激活线状 态发生改 变;返回 调用结果

值 域 :

输出参数:

返回值:

功能概述:

通知 DoIP 外部激 活线状态 发生改变

DoIP_SoConModeChg函数定义

函数名称:

DoIP_So ConModeChg

函数原型:

void DoIP_So ConModeChg ( SoAd_S oConIdType SoConId, SoAd_SoC onModeType Mode )

服务编号:

0x0b

同步/异步:

同步

是 否可重入:

对 不同的SoC onId可重入

输入参数:

SoCon Id:套接字 ID

值域:

0…255

Mode: 套接字状态

值域:

SOAD_SOCON_ONLINE

SOAD_SOCON_RECONNECT

SOAD_SOCON_OFFLINE

输入 输出参数:

输出参数:

返回值:

功能概述:

由 SoAd 调用,通知 DoIP 套 接字连接状 态发生改变

DoIP_LocalIpAddrAssignmentChg函数定义

函数名称:

DoIP_LocalIp AddrAssignmentChg

函数原型:

void DoIP_LocalIp AddrAssignmentChg ( SoAd_SoConIdType SoConId, TcpI p_IpAddrStateType State )

服务编号:

0x0c

同步/异步:

同步

是 否可重入:

不同 SoConId 可重入

输入参数:

SoCo nId:套接字连接ID

值域:

0…255

State: 分配的IP地址状态

值域:

0…255

输入 输出参数:

输出参数:

返回值:

功能概述:

由 SoAd 调用,通知 DoIP IP 地址 分配状态发生改变

DoIP_SoAdIfRxIndication函数定义

函数名称:

Do IP_SoAd IfRxInd ication

函数原型:

void Do IP_SoAd IfRxInd ication (Pd uIdType R xPduId, const PduInf oType* Pdu InfoPtr )

服务编号:

0x42

同步/异步:

同步

是 否可重入:

不同 SoConId 可重入

输入参数:

RxPduI d:用于 接收的 PduId

值域:

0…65535

PduInfo Ptr:包 含数据 、数据 长度、 m etadata 的指针

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

由 SoAd 调用 ,用于 UDP 报文 的接收

DoIP_SoAdTpStartOfReception函数定义

函数名称:

DoIP_SoAdT pStartOfReception

函数原型:

BufReq_ReturnType DoIP_SoAdT pStartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr )

服务编号:

0x46

同步/异步:

同步

是 否可重入:

可重入

输入参数:

Id:用于接收的 PduId

值域:

0…65535

info :包含数据、数 据长度、metadata 的指针

值域:

TpSduLength :要接收的 SDU 长度

值域:

0…65535

输入 输出参数:

输出参数:

bufferSizePtr :用于接收的 buffer 大小的指针

值域:

返回值:

Bu fReq_ReturnType:

BUFREQ_OK

BUFREQ_E_NOT_OK

BUFREQ_E_OVFL

功能概述:

接收 TCP 消息时,SoAd 通过此函数获取 DoIP 的接收能力,此 时TpSduLength应为 0

DoIP_SoAdTpCopyRxData函数定义

函数名称:

DoIP _SoAdTpCopyRxData

函数原型:

BufReq_ReturnType DoIP _SoAdTpCopyRxData ( PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr )

服务编号:

0x44

同步/异步:

同步

是 否可重入:

可重入

输入参数:

Id:用于接收的 PduId

值域:

0…65535

info :包含数据、数 据长度、metadata 的指针

值域:

输入 输出参数:

输出参数:

bufferSizePtr :用于接收的 buffer 大小的指针

值域:

返回值:

Bu fReq_ReturnType:

BUFREQ_OK

BUFREQ_E_NOT_OK

功能概述:

SoAd 用于向 DoIP 传递 TCP 数据

DoIP_TpCancelReceive函数定义

函数名称:

DoI P_TpCancelReceive

函数原型:

Std_ReturnType DoI P_TpCancelReceive ( PduIdType RxPduId )

服务编号:

0x4c

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

RxPduId :用于接收的 PduId

值域:

0…65535

输入 输出参数:

输出参数:

返回值:

E _OK:取消接收成功 E_NOT _OK:取消接收失败

功能概述:

取消接收 TP 消息

DoIP_IfTransmit函数定义

函数名称:

DoIP_IfTransmit

函数原型:

Std_ReturnType DoIP_IfTransmit ( PduIdType TxPduId, const PduInfoType* PduInfoPtr )

服务编号:

0x49

同步/异步:

同步

是 否可重入:

不同 PduId 不可重入

输入参数:

TxPduId :用于发送的 PduId

值域:

0…65535

PduInfoPtr:包含 PDU长度,数 据指针及metadata 指针

值域:

输入 输出参数:

输出参数:

返回值:

E_OK:允许发送 E_N OT_OK:不允许发送

功能概述:

发送 IF PDU

DoIP_TpTransmit函数定义

函数名称:

DoIP_TpTransmit

函数原型:

Std_ReturnType DoIP_TpTransmit ( PduIdType TxPduId, const PduInfoType* PduInfoPtr )

服务编号:

0x53

同步/异步:

同步

是 否可重入:

不同 PduId 不可重入

输入参数:

TxPduId :用于发送的 PduId

值域:

0…65535

PduInfoPtr:包含 PDU长度,数 据指针及metadata 指针

值域:

输入 输出参数:

输出参数:

返回值:

E_OK:允许发送 E_N OT_OK:不允许发送

功能概述:

发送 IF PDU

DoIP_IfCancelTransmit函数定义

函数名称:

DoIP _IfCancelTransmit

函数原型:

Std_ReturnType DoIP _IfCancelTransmit ( PduIdType TxPduId )

服务编号:

0x4a

同步/异步:

同步

是 否可重入:

不同 PduId 可重入

输入参数:

TxPduId :用于发送的 PduId

值域:

0…65535

输入 输出参数:

输出参数:

返回值:

E _OK:取消发送成功 E_NOT _OK:取消发送失败

功能概述:

取消发送 IF PDU

DoIP_TpCancelTransmit函数定义

函数名称:

DoIP _TpCancelTransmit

函数原型:

Std_ReturnType DoIP _TpCancelTransmit ( PduIdType TxPduId )

服务编号:

0x54

同步/异步:

同步

是 否可重入:

不同 PduId 可重入

输入参数:

TxPduId :用于发送的 PduId

值域:

0…65535

输入 输出参数:

输出参数:

返回值:

E _OK:取消发送成功 E_NOT _OK:取消发送失败

功能概述:

取消发送 TP PDU

DoIP_SoAdTpCopyTxData函数定义

函数名称:

DoIP _SoAdTpCopyTxData

函数原型:

BufReq_ReturnType DoIP _SoAdTpCopyTxData ( PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr )

服务编号:

0x43

同步/异步:

同步

是 否可重入:

可重入

输入参数:

id:用于发送的 PduId

值域:

0…65535

Info:包含 PDU长度,数 据指针及metadata 指针

值域:

Retry:重试发送

值域:

输入 输出参数:

输出参数

available DataPtr:用于通知 SoAd 剩余buffer 大小

值域:

返回值:

BUFREQ _OK:拷贝数据成功

BU FREQ_E_BUSY:通知 SoAd 稍后再次拷贝数据

BUFREQ_E_NOT _OK:拷贝数据失败

功能概述:

SoAd 从 DoIP 拷 贝用于发送的数据

DoIP_SoAdTpTxConfirmation函数定义

函数名称:

DoIP_SoA dTpTxConfirmation

函数原型:

void DoIP_SoA dTpTxConfirmation (PduIdType id, Std_ReturnType result )

服务编号:

0x48

同步/异步:

同步

是 否可重入:

可重入

输入参数:

Id:用于发送的 PduId

值域:

0…65535

Result:发送结果

值域:

E_OK/E_NOT_OK

输入 输出参数:

输出参数

返回值:

功能概述:

SoAd 用于向 DoIP 通知发送结果

DoIP_SoAdIfTxConfirmation函数定义

函数名称:

DoIP_SoA dIfTxConfirmation

函数原型:

void DoIP_SoA dIfTxConfirmation (PduIdType TxPduId, Std_ReturnType result)

服务编号:

0x40

同步/异步:

同步

是 否可重入:

相同 PduId 不可重入

输入参数:

TxPduId: 用于发送的PduId

值域:

0…65535

Result: 发送结果

值域:

E_OK/E_NOT_OK

输入 输出参数:

输出参数

返回值:

功能概述:

SoAd 用于向 DoIP 通知发送结果

DoIP_SoAdTpRxIndication函数定义

函数名称:

DoIP_S oAdTpRxIndication

函数原型:

void DoIP_S oAdTpRxIndication (PduIdType id, Std_ReturnType result )

服务编号:

0x45

同步/异步:

同步

是 否可重入:

可重入

输入参数:

Id:用于发送的 PduId

值域:

0…65535

Result:发送结果

值域:

E_OK/E_NOT_OK

输入 输出参数:

输出参数

返回值:

功能概述:

SoAd 用于向 DoIP 通知接收结果

DoIP_MainFunction函数定义

函数名称:

DoIP_MainFunction

函数原型:

void DoIP_MainFunction ( void )

服务编号:

0x02

功能概述:

DoIP 周期性调用函数

DoIP_MainFunction_HighFrequency函数定义

函数名称:

DoIP_MainFunction_HighFrequency

函数原型:

void DoIP_MainFunction_HighFrequency (void)

服务编号:

0x02

功能概述:

处理 DoIP 中一些需要高频调用的任务

可配置函数定义

<User>_DoIPGetPowerModeCallback

函数名称:

< User>_DoIPGetPo werModeCallback

函数原型:

Std_ReturnType < User>_DoIPGetPo werModeCallback ( DoIP_P owerStateType* PowerStateReady )

服务编号:

0x00

同步/异步:

同步

是否可重入:

输入参数:

输 入输出参数:

输出参数:

PowerStateReady

值域:

返回值为 E_OK 时有效

返回值:

Std_ReturnType

值域:

E_OK: PowerStateReady 有效

E_ NOT_OK:PowerStateReady 无效

功能概述:

DoIP 调用该函 数获取电源模式

<User>_DoIPRoutingActivationConfirmation

函数 名称:

<User>_DoI PRoutingActivat ionConfirmation

函数 原型:

Std_ReturnType <User>_DoI PRoutingActivat ionConfirmation ( boolean* Confirmed, const uint8* Confi rmationReqData, uint8* Conf irmationResData )

服务 编号:

0x00

同步 /异步:

同步/异步

是否可 重入:

输入 参数:

Conf irmationReqData

值 域 :

当DoIPRout ingActivationConfirmationReqLength 不为 0 时有效。

输 入输出 参数:

输出 参数:

Confirmed

值 域 :

返回值为 E_OK 时有效

Conf irmationResData

值 域 :

返回值为 E_OK 时有效

返 回值:

Std_ReturnType

值 域 :

E_ OK:Confirmed、ConfirmationResData 有效

DOIP_E_PENDING:确认未完成

E_NOT_OK: Confirmed、ConfirmationResData 无效

功能 概述:

路 由激活回调函数

<User>_DoIPRoutingActivationAuthentication

函 数名 称:

<User>_DoI PRoutingActivati onAuthentication

函 数原 型:

Std_ReturnType <Us er>_DoIPRoutingA ctivatinAuthenti cation(boolean* Authentified, const uint8* Authen ticationReqData, uint8* Authe nticationResData )

服 务编 号:

0x00

同 步/异 步:

同步/异步

是否 可重 入:

输 入参 数:

Authe nticationReqData

值 域 :

当DoIPRouti ngActivationAuthenticationReqLength 不为 0 时使用

输 入输 出参 数:

输 出参 数:

Authentified

值 域 :

返回值为 E_OK 时有效

Authe nticationResData

值 域 :

返回值为 E_OK 时有效

返回 值:

Std_ReturnType

值 域 :

E_OK: Confirmed、ConfirmationResData 有效 DOIP_E_PENDING:认证未完成

E_NOT_OK: Confirmed、ConfirmationResData 无效

功 能概 述:

路由激活回调函数

<User>_DoIPTriggerGidSyncCallback

函 数名 称:

< User>_DoIPTrigge rGidSyncCallback

函 数原 型:

Std_ReturnType < User>_DoIPTrigge rGidSyncCallback (void)

服 务编 号:

0x00

同 步/异 步:

同步/异步

是否 可重 入:

输 入参 数:

输 入输 出参 数:

输 出参 数:

返回 值:

Std_ReturnType

值 域 :

E_OK:触发 GID 同步成功

E_NOT_OK:触发 GID 同步失败

功 能概 述:

触发 GID 同步

<User>_DoIPGetGidCallback

函 数名 称:

<User>_Do IPGetGidCallback

函 数原 型:

Std_ReturnType <User>_Do IPGetGidCallback ( uint8* GroupId )

服 务编 号:

0x00

同 步/异 步:

同步/异步

是否 可重 入:

输 入参 数:

输 入输 出参 数:

输 出参 数:

GroupId

值 域 :

返回 值:

Std_ReturnType

值 域 :

E_OK: GroupId 有效

E_NOT_OK: GroupId 无效

功 能概 述:

获取 GID

<User>_DoIPGetFurtherActionByteCallback

函 数名 称:

<User>_ DoIPGetFurtherAc tionByteCallback

函 数原 型:

Std_ReturnType <User>_ DoIPGetFurtherAc tionByteCallback ( DoIP_Further ActionByteType* F urtherActionByte )

服 务编 号:

0x00

同 步/异 步:

同步

是否 可重 入:

输 入参 数:

输 入输 出参 数:

输 出参 数:

F urtherActionByte

值 域 :

返回值为 E_OK 时有效

返回 值:

Std_ReturnType

值 域 :

E_OK:FurtherActionByte 有效

E_NOT_OK:FurtherActionByte 无效

功 能概 述:

获取OEM 特定的DoIP车辆识 别响应/车辆公告 的进一步行动字节

配置

DoIPGeneral

image3

图 DoIPGeneral配置

表 DoIPGeneral配置

UI名称

描述

DoIPDevelopmentErrorDetect

取值范围

True/False

默认取值

TRUE

参数描述

Det开关。

依赖关系

DoIPDhcpOptionVinUse

取值范围

True/False

默认取值

FALSE

参数描述

如果DoIPDhcpOptionVinUse设置为true,如果没有设置有效的Dhcp主机名,DoIP模块将在Dhcp主机名中添加VIN。

依赖关系

DoIPEntityStatusMaxByteFieldUse

取值范围

True/False

默认取值

FALSE

参数描述

是否在诊断实体响应消息中携带最大接收数据大小。

依赖关系

DoIPGIDInvalidityPattern

取值范围

0..255

默认取值

255

参数描述

指定在无法检索到有效GID时用于响应消息的字节模式。

依赖关系

DoIPHostNameSizeMax

取值范围

5..255

默认取值

参数描述

DHCP主机名的ASCII码最大值。

依赖关系

DoIPMainFunctionPeriod

取值范围

0..4294967295(不能为0)

默认取值

0.01s

参数描述

DoIP_MainFunction()调度周期。

依赖关系

DoIPMaxRequestBytes

取值范围

0..4294967295

默认取值

100

参数描述

DoIP除开DoIP头的数据字段的最大允许长度。

依赖关系

DoIPMaxResponseBytes

取值范围

0..4294967295

默认取值

21

参数描述

DoIP除开DoIP头的数据字段的最大允许长度。

依赖关系

DoIPMaxUDPRequestPerMessage

取值范围

1

默认取值

1

参数描述

允许一条UDP消息最多携带多少条DoIP请求,目前限定为1。

依赖关系

DoIPNodeType

取值范围

DOIP_GATEWAY,

默认取值

DOIP_NODE

DOIP_NODE

参数描述

DoIP节点类型。

依赖关系

DoIPUseEIDasGID

取值范围

True/False

默认取值

FALSE

参数描述

是否使用 EID 作为 GID。

依赖关系

DoIPVersionInfoApi

取值范围

True/False

默认取值

FALSE

参数描述

是否提供 DoIP_GetVersionInfo() API

依赖关系

DoIPVinGidMaster

取值范围

True/False

默认取值

FALSE

参数描述

指定是否是 GID 的主节点

依赖关系

DoIPVinInvalidityPattern

取值范围

0..255

默认取值

255

参数描述

VIN 无效时用于响应消息的字节模式。

依赖关系

DoIPTpQueueBufferSize

取值范围

0..4095

默认取值

4

参数描述

DoIP TP诊断消息的buffer大小。

依赖关系

DoIPTpQueueBufferNum

取值范围

0..255

默认取值

1

参数描述

DoIP TP诊断消息的buffer个数。

依赖关系

DoIPIfQueueBufferSize

取值范围

0..4095

默认取值

8

参数描述

DoIP IF消息的buffer大小。

依赖关系

DoIPIfQueueBufferNum

取值范围

0..255

默认取值

1

参数描述

DoIP IF消息的buffer个数。

依赖关系

DoIPNonDiagQueueBufferSize

取值范围

0..4095

默认取值

23

参数描述

DoIP TP非诊断消息的buffer大小。

依赖关系

DoIPNonDiagQueueBufferNum

取值范围

0..255

默认取值

1

参数描述

DoIP TP非诊断消息的buffer个数。

依赖关系

DoIPCtrlTimer

取值范围

0..65535

默认取值

2s

参数描述

指定外部测试设备最多等待 UDP 响应消息的时间。

依赖关系

DoIPDiagnosticMessageTime

取值范围

0..65535

默认取值

2s

参数描述

指定外部测试设备最多等待UDS响应消息的时间。

依赖关系

DoIPVehicleDiscoveryTime

取值范围

0..65535

默认取值

0.5s

参数描述

指定外部测试设备发送车辆识别消息的时间间隔。

依赖关系

DoIPVehicleConnectionTime

取值范围

0..65535

默认取值

8s

参数描述

指定外部测试设备连接 DoIP节点的最长时间。

依赖关系

DoIPAutoIdentificationRequstTime

取值范围

0..65535

默认取值

2s

参数描述

指定外部测试设备启动后多长时间发送车辆识别消息。

依赖关系

DoIPHighFrequencyTaskSupport

取值范围

True/False

默认取值

FALSE

参数描述

是否需要在高频任务中处理消息。

依赖关系

DoIPOemSpecSupport

取值范围

True/False

默认取值

FALSE

参数描述

是否支持 OemSpec。

依赖关系

DoIPGetGidCallback

image4

图 DoIPGetGidCallback配置

表 DoIPGetGidCallback配置

UI名称

描述

DoIPGe tGidDirect

取值范围

True/False

默认取值

False

参数描述

如果 DoIPGetGidDirect参 数存在,DoIP模块将 直接调用配置的回调 函数(DoIPGetGID)。

依赖关系

DoIPPowerModeCallback

image5

图 DoIPPowerModeDirect配置

表 DoIPPowerModeDirect配置

UI名称

描述

DoIPPower ModeDirect

取值范围

True/False

默认取值

False

参数描述

如果DoIPPowerMode Direct参数存在,DoI P模块将直接调用配置 的回调函数(DoIPGetP owerModeCallback)。

依赖关系

DoIPTriggerGidSyncCallback

image6

图 DoIPTriggerGidSyncDirect配置

表 DoIPTriggerGidSyncDirect配置

UI名称

描述

DoIP TriggerGid SyncDirect

取值范围

True/False

默认取值

False

参数描述

如果DoIP TriggerGidSyncDirec t参数存在,DoIP模块 将直接调用配置好的 回调函数(DoIPTrigge rGidSyncCallback)。

依赖关系

DoIPConfigSet

image7

图 DoIPConfigSet配置

表 DoIPConfigSet配置

UI名称

描述

DoIPEid

取值范围

0..281474976710655

默认取值

参数描述

配置 EID。

依赖关系

D oIPUseMacAdressForI dentification必须设 置为False才可配置。

DoIPGid

取值范围

0..281474976710655

默认取值

0

参数描述

配置 GID。

依赖关系

DoIPLogi calAddress

取值范围

0..65535

默认取值

65535

参数描述

D oIP节点的逻辑地址。

依赖关系

DoIPInterface

image8

图 DoIPInterface配置

表 DoIPInterface配置

UI名称

描述

DoIPAlive CheckRespo nseTimeout

取值范围

0..INF

默认取值

0.5s

参数描述

等待存活检测请求 的响应的超时时间。

依赖关系

DoIPG enerallnac tivityTime

取值范围

0..INF

默认取值

300s

参数描述

若DoIPGe nerallnactivityTime 时间内无消息传 递,则关闭套接字。

依赖关系

DoIPI nitialInac tivityTime

取值范围

0..INF

默认取值

2s

参数描述

在 DoIPIn itialInactivityTime 时间 内,外部测试设备应 发起路由激活请求。

依赖关系

DoIP InitialVeh icleAnnoun cementTime

取值范围

0..INF

默认取值

0.5s

参数描述

指定 IP 地址分 配后,发送第一条车 辆通知消息的时间。

依赖关系

DoIP InterfaceA ctLineCtrl

取值范围

True/False

默认取值

False

参数描述

网络接口始 终可用(False)/网络 接口被激活(True)。

依赖关系

DoIPInterf aceAnnounc ementStart

取值范围

DOIP_A UTOMATIC_ANNOUNCE,

DOIP _ONTRIGGER_ANNOUNCE

默认取值

DOI P_AUTOMATI C_ANNOUNCE

参数描述

指定发送车 辆通告消息的形式。

依赖关系

DoIPI nterfaceId

取值范围

0..255

默认取值

参数描述

 DoIPInterface 的标识符。

依赖关系

DoIP MaxTesterC onnections

取值范围

1..255

默认取值

1

参数描述

在进行存活检测之 前,可以保持的测试 仪连接的最大数量。

依赖关系

DoIP UseMacAddr essForIden tification

取值范围

True/False

默认取值

False

参数描述

是否将 MAC 地址作为 EID。

依赖关系

DoIPEid。

DoIPUseV ehicleIden tification SyncStatus

取值范围

True/False

默认取值

False

参数描述

定义是否在车辆标识 /公告中额外使用可选 的VIN/GID同步状态。

依赖关系

DoIPVehi cleAnnounc ementCount

取值范围

1..255

默认取值

参数描述

车辆公告消息数量。

依赖关系

D oIPVehicle Announceme ntInterval

取值范围

0..INF

默认取值

0.5s

参数描述

发送车辆公告消 息之间的时间间隔。

依赖关系

DoI PVehicleAn nouncement Repetition

取值范围

1..255

默认取值

3

参数描述

车辆公 告信息的重复次数。

依赖关系

DoIPChannel

image9

图 DoIPChannel配置

表 DoIPChannel配置

UI名称

描述

DoIPRole

取值范围

DOIP_ROLE_CLIENT,

DOIP_ROLE_SERVER

默认取值

参数描述

用于配置DoIPChannel 是 客户端还是服务端。

依赖关系

DoIPGate wayChannel

取值范围

True/False

默认取值

False

参数描述

DoIP 网关使用。表明该cha nnel为网关channel。

依赖关系

依赖 DoIPNodeType 类型为 DoIP_GATEWAY。

DoIPGat ewayForEth

取值范围

True/False

默认取值

False

参数描述

D oIP网关使用。表明该 channel为以太网网关 channel。

依赖关系

DoIPGatew ayChannel勾选后、且 DoIPRole 为 DOIP_RO LE_SERVER才能配置。

DoIPCh annelSARef

取值范围

Reference

默认取值

参数描述

引用DoIPTeste r。只有指定客户端才 能使用该通道通信。

依赖关系

DoIPCh annelTARef

取值范围

Reference

默认取值

参数描述

引用 TA。

依赖关系

DoI PChannelMa ppingSARef

取值范围

Reference

默认取值

参数描述

DoIP网关使用。 指示DoIP网关映射到 的SA,网关转发时, 会将原本的DoIPChann elSARef替换为该值。

依赖关系

DoIPPduRRxPdu

image10

图 DoIPPduRRxPdu配置

表 DoIPPduRRxPdu配置

UI名称

描述

DoIPP duRRxPduId

取值范围

0..65535

默认取值

65535

参数描述

DoI P_TpCancelReceive() 使用。

依赖关系

DoIPPd uRRxPduRef

取值范围

Reference

默认取值

参数描述

引用到全局的 PDU。

依赖关系

需要关 联到ECUC中的PDU,生 成时按照PDUR中关联 到相同PDU的ID生成。

DoIPChannel->DoI PPduRRxPdu->DoIPPdu RRxPduRef,DoIPChan nel->DoIPPduRTxPdu- >DoIPPduRTxPduRef不 能引用到相同的PDU。

DoIPPduRTxPdu

image11

图 DoIPPduRTxPdu配置

表 DoIPPduRTxPdu配置

UI名称

描述

DoIPP duRTxPduId

取值范围

0..65535

默认取值

65535

参数描述

被DoIP_TpTransmit() DoIP_IfTransmit() DoIP_TpCan celTransmit()使用。

依赖关系

D oIPPduType

取值范围

DOI P_IFPDU,DOIP_TPPDU

默认取值

DOIP_TPPDU

参数描述

PDU 类型。

依赖关系

DoIPPd uRTxPduRef

取值范围

Reference

默认取值

参数描述

应用到全局 PDU。

依赖关系

需要关 联到ECUC中的PDU,生 成时按照PDUR中关联 到相同PDU的ID生成。

DoIPGatewayWaitResponse

image12

图 DoIPGatewayWaitResponse配置

表 DoIPGatewayWaitResponse配置

UI名称

描述

DoIP RemoteNode Rsp1stTime

取值范围

0..65535

默认取值

50

参数描述

DoIP网关收到诊 断请求后,发送第一 帧0x78的间隔时间。

依赖关系

D oIPRemoteN odeRspTime

取值范围

0..65535

默认取值

5000

参数描述

DoIP网关收到 诊断请求后,发送后 续0x78的间隔时间。

依赖关系

DoIPT ransmitFak eRspMaxCnt

取值范围

0..255

默认取值

255

参数描述

DoIP网关 收到诊断请求后,发 送0x78的最大次数。

依赖关系

DoIPConnections

DoIPTargetAddress

image13

图 DoIPTargetAddress配置

表 DoIPTargetAddress配置

UI名称

描述

Do IPTargetAd dressValue

取值范围

0..65535

默认取值

参数描述

配置 TA。

依赖关系

DoIPTcpConnection

image14

图 DoIPTcpConnection配置

表 DoIPTcpConnection配置

UI名称

描述

DoIPRequ estAddress Assignment

取值范围

True/False

默认取值

True

参数描述

是否调用SoAd_Reques tIpAddrAssignment() 分配 IP。

依赖关系

DoI PTcpConnec tionSecuri tyRequired

取值范围

True/False

默认取值

False

参数描述

指示关 联的TCP套接字是否使 用安全连接(如TLS)。

依赖关系

DoIPConn VehicleRef

取值范围

Reference

默认取值

参数描述

作为doipclient 时,引用的vehicle。

依赖关系

DoIPSoAdTcpRxPdu

image15

图 DoIPSoAdTcpRxPdu配置

表 DoIPSoAdTcpRxPdu配置

UI名称

描述

DoIPSoAd TcpRxPduId

取值范围

0..65535

默认取值

65535

参数描述

被 DoIP_S oAdTpRxIndication() 使用。

依赖关系

DoIPSoAdT cpRxPduRef

取值范围

Reference

默认取值

参数描述

引用到全局 PDU。

依赖关系

生成内容和So Ad生成的PduId相关联 ,下拉框关联到ECUC 中配置的共有的PDU。

Do IPConnections->DoIP TcpConnection->DoIP SoAdTcpRxPduRef和Do IPSoAdTcpTxPduRef,

Do IPConnections->DoIP UdpConnection->DoIP SoAdUdpRxPduRef和Do IPSoAdUdpTxPduRef,

DoIPConnections-> DoIPUdpVehicleAnnou ncementConnection-> DoIPSoAdUdpVehicleA nnouncementRxPduRef

和DoIP SoAdUdpVehicleAnnou ncementTxPduRef,不 能引用到相同的PDU。

DoIPSoAdTcpTxPdu

image16

图 DoIPSoAdTxPdu配置

表 DoIPSoAdTxPdu配置

UI名称

描述

DoIPSoAd TcpTxPduId

取值范围

0..65535

默认取值

65535

参数描述

被DoIP_SoA dTpTxConfirmation() 使用

依赖关系

DoIPSoAdT cpTxPduRef

取值范围

Reference

默认取值

参数描述

引用到全局 PDU。

依赖关系

生成内容和So Ad生成的PduId相关联 ,下拉框关联到ECUC 中配置的共有的PDU。

DoIPConnection s->DoIPTcpConnectio n->DoIPSoAdTcpTxPdu Ref,应该查询该DoIP SoAdTcpTxPduRef所在 的SoAdPduRoute中的S oAdTxSocketConnOrSo cketConnBundleRef, 再查到引用SoAdTxSoc ketConnOrSocketConn BundleRef所在的SoAd SocketConnectionGro up,其SoAdSocketLoc alPort必须为13400。

DoIPUdpConnection

image17

图 DoIPUdpConnection配置

表 DoIPUdpConnection配置

UI名称

描述

DoIPRequ estAddress Assignment

取值范围

True/False

默认取值

True

参数描述

是否调用SoAd_Reques tIpAddrAssignment() 分配 IP。

依赖关系

DoIPConn VehicleRef

取值范围

Reference

默认取值

参数描述

作为doipclient 时,引用的vehicle。

依赖关系

DoIPSoAdUdpRxPdu

image18

图 DoIPSoAdUdpRxPdu配置

表 DoIPSoAdUdpRxPdu配置

UI名称

描述

DoIPSoAd UdpRxPduId

取值范围

0..65535

默认取值

65535

参数描述

被 DoIP_S oAdIfRxIndication() 使用。

依赖关系

DoIPSoAdU dpRxPduRef

取值范围

Reference

默认取值

参数描述

引用到全局 PDU。

依赖关系

生成内容和So Ad生成的PduId相关联 ,下拉框关联到ECUC 中配置的共有的PDU。

Do IPConnections->DoIP TcpConnection->DoIP SoAdTcpRxPduRef和Do IPSoAdTcpTxPduRef,

Do IPConnections->DoIP UdpConnection->DoIP SoAdUdpRxPduRef和Do IPSoAdUdpTxPduRef,

DoIPConnections-> DoIPUdpVehicleAnnou ncementConnection-> DoIPSoAdUdpVehicleA nnouncementRxPduRef

和DoIP SoAdUdpVehicleAnnou ncementTxPduRef,不 能引用到相同的PDU。

DoIPSoAdUdpTxPdu

image19

图 DoIPSoAdUdpTxPdu配置

表 DoIPSoAdUdpTxPdu配置

UI名称

描述

DoIPSoAd UdpTxPduId

取值范围

0..65535

默认取值

65535

参数描述

被DoIP_SoAdIfT xConfirmation()使用

依赖关系

DoIPSoAdU dpTxPduRef

取值范围

Reference

默认取值

参数描述

引用到全局 PDU。

依赖关系

生成内容和So Ad生成的PduId相关联 ,下拉框关联到ECUC 中配置的共有的PDU。

DoIPConnection s->DoIPUdpConnectio n->DoIPSoAdUdpTxPdu Ref,应该查询该DoIP SoAdUdpTxPduRef所在 的SoAdPduRoute中的S oAdTxSocketConnOrSo cketConnBundleRef, 再查到引用SoAdTxSoc ketConnOrSocketConn BundleRef所在的SoAd SocketConnectionGro up,其SoAdSocketLoc alPort必须为13400。

DoIPUdpVehicleAnnouncementConnection

image20

图 DoIPUdpVehicleAnnouncementConnection配置

表 DoIPUdpVehicleAnnouncementConnection配置

UI名称

描述

DoIPRequ estAddress Assignment

取值范围

True/False

默认取值

True

参数描述

是否 调用SoAd_RequestIpA ddrAssignment()分配 IP。

依赖关系

DoIPConn VehicleRef

取值范围

Reference

默认取值

参数描述

作为doipclient 时,引用的vehicle。

依赖关系

DoIP SoConIdRef

取值范围

Reference

默认取值

参数描述

作为doipc lient时,引用的SoAd connection ID

依赖关系

只 有DoIPSoAdUdpVehic leAnnouncementRxPdu 存在配置。

DoIPSoAdUdpVehicleAnnouncementTxPdu

image21

图 DoIPSoAdUdpVehicleAnnouncementTxPdu配置

表 DoIPSoAdUdpVehicleAnnouncementTxPdu配置

UI名称

描述

DoIPSoA dUdpVehicl eAnnouncem entTxPduId

取值范围

0..65535

默认取值

65535

参数描述

被DoIP_SoA dIfTxConfirmation() 使用。

依赖关系

DoIPSoAd UdpVehicle Announceme ntTxPduRef

取值范围

Reference

默认取值

参数描述

引用到全局 PDU。

依赖关系

生成内容和So Ad生成的PduId相关联 ,下拉框关联到ECUC 中配置的共有的PDU。

DoIPConnections-> DoIPSoAdUdpVehicleA nnouncementRxPduRef ->

DoIPSoAdUdpV ehicleAnnouncementT xPduRef,应该查询该 DoIPSoAdUdpVehicleA nnouncementTxPduRef

所在 的SoAdPduRoute中的

SoAdTxSocketConn OrSocketConnBundleR ef,再查到引用SoAdT xSocketConnOrSocket ConnBundleRef所在的

SoAd SocketConnectionGro up,其SoAdSocketLoc alPort必须为13400。

DoIPFurtherActionByteCallback

image22

图 DoIPFurtherActionByteCallback配置

表 DoIPFurtherActionByteCallback配置

UI名称

描述

DoIPFur therAction ByteDirect

取值范围

Function Name

默认取值

参数描述

用于获取OEM specific Further Action。

依赖关系

DoIPClientCallback

image23

图 DoIPClientCallback配置

表 DoIPClientCallback配置

UI名称

描述

D oIPClientE ventDirect

取值范围

Function Name

默认取值

Rte_D oIPClientE ventDirect

参数描述

doipclient使 用,用于报告事件。

依赖关系

DoIPRoutingActivation

image24

图 DoIPRoutingActication配置

表 DoIPRoutingActication配置

UI名称

描述

DoIPRou tingActiva tionNumber

取值范围

0..255

默认取值

255

参数描述

路由激活类型。

依赖关系

DoIPRou tingActiva tionSecuri tyRequired

取值范围

True/False

默认取值

false

参数描述

是否使用安全TCP 连接。

依赖关系

DoIPTarget AddressRef

取值范围

Reference Array

默认取值

参数描述

引用 TA。

依赖关系

Reference to [ DoIPTargetAddress ]

DoIPRoutingActivationAuthenticationCallback

image25

图 DoIPRoutingActicatioAuthenticationCallback配置

表 DoIPRoutingActicatioAuthenticationCallback配置

UI名称

描述

DoIPRouti ngActivati onAuthenti cationFunc

取值范围

FunctionName

默认取值

DoIPR outingActi vationAuth entication

参数描述

路由激活时调用, 用于进行身份认证。

依赖关系

DoIP RoutingAct ivationAut henticatio nReqLength

取值范围

0..4

默认取值

0

参数描述

请求消息长度。

依赖关系

DoIP RoutingAct ivationAut henticatio nResLength

取值范围

0..4

默认取值

0

参数描述

响应消息长度。

依赖关系

DoIPRoutingActicationConfirmationCallback

image26

图 DoIPRoutingActicationConfirmationCallback配置

表 DoIPRoutingActicationConfirmationCallback配置

UI名称

描述

DoIPRou tingActiva tionConfir mationFunc

取值范围

FunctionName

默认取值

DoI PRoutingAc tivationCo nfirmation

参数描述

路由激活时调用, 用于确认路由激活。

依赖关系

Do IPRoutingA ctivationC onfirmatio nReqLength

取值范围

0..4

默认取值

0

参数描述

请求消息长度。

依赖关系

Do IPRoutingA ctivationC onfirmatio nResLength

取值范围

0..4

默认取值

0

参数描述

响应消息长度。

依赖关系

DoIPTester

image27

图 DoIPTester配置

表 DoIPTester配置

UI名称

描述

Do IPNumByteD iagAckNack

取值范围

0..4294967295

默认取值

0

参数描述

路由激活类型。

依赖关系

Do IPTesterSA

取值范围

0..65535

默认取值

65535

参数描述

配置 SA。

依赖关系

DoIP RoutingAct ivationRef

取值范围

Reference Array

默认取值

参数描述

可 使用的路由激活规则

依赖关系

Reference to [ Do IPRoutingActivation ]

DoIPVehicle

image28

图 DoIPVehicle配置

表 DoIPVehicle配置

UI名称

描述

DoI PVehicleId

取值范围

0..255

默认取值

0

参数描述

车辆 ID。

依赖关系

DoIPRou tingActiva tionNumber

取值范围

0..255

默认取值

255

参数描述

路由激活类型。

依赖关系

oemSpec

取值范围

0..4294967295

默认取值

4294967295

参数描述

OEM。

依赖关系

DoIPVe hicleTARef

取值范围

Reference Array

默认取值

参数描述

引用 TA。

依赖关系

依赖模块(SoAd)

image29

图 SoAd配置

表 SoAd配置

UI名称

描述

取值范围

TRUE/FALSE

默认取值

FALSE

SoAdSocketTcpImmediateTpTxConfirmation

参数描述

没勾选该参数,SoAd需等待收到对方的ACK之后,才会调用TxConfirmation通知DoIP已发送消息; 勾选该参数,SoAd收到DoIP的数据后,就会调用 TxConfirmation通知DoIP已发送消息。 注:在实际项目中,网络环境很复杂,会因为各种原因导致发送数据超时,因此建议勾选该参数。

依赖关系

取值范围

TRUE/FALSE

默认取值

FALSE

SoAdSocketTcpNoDelay

参数描述

勾选该参数关闭nagle算法,SoAd会第一时间发送消息。 注:建议勾选该参数。

依赖关系

工程相关

表 工程相关配置

序 号

配置

描述

1

需 定义TCPIP_FASTTX_TCP宏

使能调用tcp_write( )后调用tcp_output()立即发送tcp数据。