CanTp产品参考手册

缩写词注解

缩写 词*

英文全名

解释/描述

CanTp

CAN Transport Layer

Can传输层模块

SF

Single Frame

单帧

CF

Consecutive Frame

连续帧

FC

Flow Control

流控帧

FF

First Frame

首帧

N _Data

Data information of the transport layer

传输层数据信息

N_PCI

Protocol Control Information of the transport layer

传 输层协议控制信息

N_SA

Network Source Address (see ISO 15765-2).

网络源地址

N_TA

Network Target Address (see ISO 15765-2). It might already contain the N_TAtype(physical/function) in case of ExtendedAddressing.

网络目标地址

FS

Flow Status

流控状态

TP

Transport Protocol

传输协议

SDU

Service Data Unit

服务数据单元

PduR

PDU Router

PDU路由模块

PDU

Protocol Data Unit

协议数据单元

BS

Block Size

块大小

CanIf

CAN Interface

Can接口层模块

简介

image1图1-1 CanTp模块层次图

CanTp模块实现依据ISO15765-2标准规范中定义的CAN总线数据在传输层的数据接收发送功能。在ISO15765-2中,CanTp模块需要实现数据的发送拆包、接收数据重组、数据流控和错误处理机制,需要支持CANFD、MetaData、半双工通信与全双工通信。按照AUTOSAR标准规范的定义,CanTp模块还实现了发送请求的取消处理。

按照AUTOSAR规范,CanTp模块能够同时处理多个连接(即多个分段会话并行),但是只支持事件触发模式。因为CanTp只处理传输协议帧(即SF、FF、CF和FC),根据N-PDU ID, CanIf接口必须将I-PDU转发给CanTp或PduR。

CanTp模块支持大数据拆包组包以及流控:对于小数据使用单帧进行传输,CAN帧数据长度小于8字节或者63字节(CAN_FD情况下)(包括PCI信息),无流控握手。传输过程如图1-2所示。

image2

图1-2 单帧传输过程

对于大数据使用多帧传输,数据包发送时拆包分段发送,数据包接收时重组,并使用流控握手与定时控制,使用到的帧类型包括:首帧、流控帧与连续帧。传输过程如图1-3所示。

image3

图1-3 多帧传输过程

如图1-4表示了CanTp模块需要使用的上下层模块CanIf和PduR。

CanTp模块提供上层接口给PduR模块交互,用来接收与发送数据。两个模块之间通过N_SDU进行交互。CanTp使用PduR的回调函数复制发送数据,确认发送,发起接收,复制接收数据,接收指引。

CanTp模块提供下层接口给CanIf模块交互,用来接收与发送数据。两个模块之间通过L_SDU进行交互。CanTp使用CanIf的发送接口进行数据发送。image4

图1-4 CanTp与其他模块交互图

参考资料

[1] ISO15765-2,2016

[2] AUTOSAR_SWS_CANTransportLayer, 4.2.2

[3] AUTOSAR_SWS_CANTransportLayer, R19-11

[4] AUTOSAR_SWS_CANInterface, R19-11

[5] AUTOSAR_SWS_PDURouter, R19-11

[6] AUTOSAR_SWS_TimeService, R19-11

功能描述

SF接收功能

SF接收功能介绍

当接收到一个单帧报文时,CanTp模块会解析单帧报文的控制信息,并根据相关配置判断是否进行接收,如果通过检查则通知上层,并根据上层的状态信息将接收的数据传递给上层模块。

SF接收功能实现

当底层接收到一个SF时,CanIf通过CanTp_RxIndication回调通知CanTp。CanTp执行PDU ID转换并从N-PDU有效载荷中提取有用的数据长度。然后,CanTp使用PduR_<LoTp>StartOfReception回调为这个传入数据请求上层提供一个缓冲区。将TpSduLength设置为SF_DL(从N-PCI字段提取)。它表示要接收的总字节数。如果上层没有任何缓冲区可用,返回BUFREQ_E_NOT_OK。CanTp在不复制任何数据的情况下结束CanTp_RxIndication。如果上层分配并锁定所需的Rx缓冲区,然后返回BUFREQ_E_OK。然后CanTp调用PduR_<LoTp>CopyRxData让上层将接收到的N-PDU有效载荷复制到缓冲区中。当复制完成时,CanTp接着调用PduR_<User:LoTp>RxIndication结果设置为E_OK,告知上层数据传递完成。CanTp结束CanTp_RxIndication函数。

SF发送功能

SF发送功能介绍

当需要发送一个单帧报文时,CanTp模块会根据请求信息添加单帧报文的控制信息,然后请求CanIf模块进行SF发送。

SF发送功能实现

当PDUR需要传输一个SF时,PDUR调用CanTp_Transmit传入相关数据,CanTp模块检查输入数据,如果检查通过,则返回E_OK,以指示接受传输请求。上层锁定所需的Tx缓冲区。接下来CanTp会调用PduR_<LoTp>CopyTxData来复制段数据。上层复制数据,然后返回BUFREQ_E_OK。CanTp在拷贝的数据基础上添加控制信息,然后调用CanIf_Transmit请求CanIf模块执行发送。CanIf模块处理发送请求,成功发送后CanIf调用CanTp_TxConfirmation通知CanTp发送成功。然后CanTp调用PduR_<User:LoTp>TxConfirmation通知PDUR已经成功传输。

多帧接收功能

多帧接收功能介绍

当接收到一个多帧报文时,CanTp模块会解析首帧报文的控制信息,并根据相关配置判断是否进行接收,如果通过检查则通知上层,并根据上层的状态信息将接收的数据传递给上层模块。首帧处理完成之后,发送方会在规定时间内响应一个流控帧,若流控状态为ContinueToSend,CanTp会继续接收连续帧并向上层传递。当接收完成时通知上层接收完成。

多帧接收功能实现

当接收到一个FF时,CanIf通过CanTp_RxIndication回调通知CanTp。CanTp解析FF的控制信息后,CanTp使用PduR_<LoTp>StartOfReception回调请求PDUR为传入的数据提供一个缓冲区。检查连接验收并准备FC参数。CanTp激活一个FC发送任务,发送一个流状态设置为ContinueToSend的FC(这里FC的状态需要根据上层的返回信息进行相应的FC状态设置)。该FC通过请求CanIf_Transmit进行发送,同时CanTp会调用PduR_<LoTp>CopyRxData将FF数据传递给上层,然后等待CF的接收。

当接收到一个CF时,CanIf通过CanTp_RxIndication回调通知CanTp。CanTp将验证序列号,若正确,则要求PduR复制数据,并可能会发生以下情况:

非最后一帧CF: CanTp将调用PduR_<LoTp>CopyRxData把接收到的数据转发到上层。(如果此时BS达到则请求发送一个FC,然后继续接收CF)

最后一帧CF: 这个连续帧是最后一个(根据FF中的总长度信息判断)。调用PduR_<LoTp>CopyRxData将数据拷贝完成后,CanTp应该用PduR_<LoTp>RxIndication回调来通知PDUR。

当需要发送FC时,CanTp会调用CanIf_Transmit接口,并等待确认。根据上层的可用缓冲区,流控状态可以是ContinueToSend,也可以是Wait。

多帧发送功能

多帧发送功能介绍

当需要发送一个多帧报文时,CanTp模块会添加首帧报文的控制信息,并在FF发送成功后等待接收一个FC。当接收到的FC所带状态信息为CTS时,将接下来的数据进行发送,并填充成CF,如果发送的CF个数达到FC所带的BS,则需要等待下一个FC,直到数据发送完成。

多帧发送功能实现

PDUR需要传输一个多帧数据时,会调用CanTp的CanTp_Transmit。CanTp会验证输入参数和资源的可用性,并根据发送请求的有用信息(例如SF/FF/CF N-PDU标识符、FC N-PDU标识符、N_TA值等)启动带有参数的内部传输任务。

CanTp在接下来调用PduR_<LoTp>CopyTxData。上层将数据复制到目标缓冲区。在发送任务中,CanTp通过CanIf_Transmit通知CanIf, CanTp等待来自CanIf的确认(CanTp_TxConfirmation),然后等待接收一个状态为CTS的FC。接收FC成功后,CanTp 要求PDUR提供要发送的新数据用于发送CF,或发生错误时,CanTp使用PduR_<LoTp>TxConfirmation通知PDUR。整个过程中根据BS可能需要接收多次FC。

源文件描述

表3-1 CanTp组件文件描述

文件

说明

CanTp_Cfg.h

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

CanTp_PBCfg.c

定义CanTp模块配置相关的配置参数。

CanTp_PBCfg.h

包含CanTp模块配置相关的配置参数。

CanTp_Callout.c

定义CanTp使用的获取时间的接口

CanTp.h

CanTp模块头文件,包 含了API函数的扩展声明并定义了端口的数据结构。

CanTp.c

CanTp模块源文件,包含了API函数的实现。

CanTp_Internal.c

定义CanTp模块一些内部接口。

CanTp_Internal.h

包含CanTp模块需要使用的部分类型定义和宏定义。

CanTp_MemMap.h

包含CanTp模块的内存抽象。

CanTp_Types.h

包含CanTp模块需要使用的类型定义。

CanTp_Cbk.h

CanTp模块回调接口相关头文件,包含了回调接口 相关API函数的扩展声明并定义了端口的数据结构。

image5

图3-1 CanTp组件文件交互关系图

API接口

类型定义

CanTp_ConfigType类型定义

名称

CanTp_ConfigType

类型

Structure

范围

描述

配置参数结构体类型定义

输入函数描述

输入模块

API

DET

Det_ReportError

Det_ReportRuntimeError

CanIf

CanIf_Transmit

PDUR

PduR_CanTpCopyRxData

PduR_CanTpCopyTxData

PduR_CanTpRxIndication

PduR_CanTpStartOfReception

PduR_CanTpTxConfirmation

TM

Tm_ResetTimer100us32bit

Tm_GetTimeSpan100us32bit

静态接口函数定义

CanTp_Init函数定义

函数名称:

CanTp_Init

函数原型:

void CanTp_Init(const CanTp_ConfigType* CfgPtr)

服务编号:

0x01

同步/异步:

同步

是 否可重入:

输入参数:

CfgPtr:配置数据结构体

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

初始化CanTp模块

CanTp_GetVersionInfo函数定义

函数名称:

Can Tp_GetVersionInfo

函数原型:

void CanTp_Ge tVersionInfo(Std_ VersionInfoType*

versioninfo)

服务编号:

0x07

同步/异步:

同步

是 否可重入:

输入参数:

值域:

输入 输出参数:

输出参数:

versioni nfo:版本信息参数

返回值:

功能概述:

获取 CanTp模块版本信息

CanTp_Shutdown函数定义

函数名称:

CanTp_Shutdown

函数原型:

void Can Tp_Shutdown(void)

服务编号:

0x02

同步/异步:

同步

是 否可重入:

输入参数:

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

关闭CanTp模块

CanTp_Transmit函数定义

函数名称:

CanTp_Transmit

函数原型:

Std_ReturnType CanTp_T ransmit(PduIdType TxPduId,const PduInfoType* PduInfoPtr)

服务编号:

0x03

同步/异步:

同步

是 否可重入:

输入参数:

TxPduId

值域:

PduInfoPtr

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnType:

E_OK:请求成功

E _NOT_OK:请求失败

功能概述:

数据传输请求接口

CanTp_CancelTransmit函数定义

函数名称:

CanTp_CancelTransmit

函数原型:

Std_ReturnType CanTp_CancelTransmit(PduIdType TxPduId)

服务编号:

0x08

同步/异步:

同步

是 否可重入:

输入参数:

TxPduId::请求取消传输的N-SDU ID

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnType E_OK :成功 E_NOT_OK: 不成功

功能概述:

取消发送

CanTp_CancelReceive函数定义

函数名称:

CanTp_CancelReceive

函数原型:

Std_ReturnType CanTp_CancelReceive(PduIdType RxPduId)

服务编号:

0x09

同步/异步:

同步

是 否可重入:

输入参数:

RxPduId:请求取消接收的N-SDU ID

值 域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnType E_OK :成功 E_NOT_OK: 不成功

功能概述:

请求取消接收接口

CanTp_ChangeParameter函数定义

函数名称:

CanTp_ChangeParameter

函数原型:

Std_ReturnType C anTp_ChangeParameter(PduIdType id,

TPParameterType parameter,uint16 value)

服务编号:

0x0a

同步/异步:

同步

是 否可重入:

输入参数:

id接收的N-SDU ID值

值域:

parameter请求修改的参数类型

值域:

value请求修改为的值

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnType E_OK :成功 E_NOT_OK: 不成功

功能概述:

请求修改接收参数,如BS、STmin

CanTp_ReadParameter函数定义

函数名称:

CanTp_ReadParameter

函数原型:

Std_ReturnType

CanTp_ReadParameter(PduIdType id, TPParameterType parameter, uint16* value)

服务编号:

0x0b

同步/异步:

同步

是 否可重入:

输入参数:

id接收的N-SDU ID值

值域:

Parameter(in):请求读取的参数类型

值域:

输入 输出参数:

输出参数:

Value:请求读取的值

返回值:

Std_ReturnType E_OK :成功 E_NOT_OK: 不成功

功能概述:

读取参数

CanTp_MainFunction函数定义

函数名称:

C anTp_MainFunction

函数原型:

void CanTp_M ainFunction(void)

服务编号:

0x06

同步/异步:

NA

是 否可重入:

NA

输入参数:

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

CanTp模块主处理函 数,异步处理任务 均在这里进行处理

CanTp_RxIndication函数定义

函数名称:

CanTp_RxIndication

函数原型:

void C anTp_RxIndication(PduIdType RxPduId,const PduInfoType* PduInfoPtr)

服务编号:

0x42

同步/异步:

同步

是 否可重入:

不同Pdu Id可重入,同一PduId不可重入

输入参数:

RxPduId:接收PDUID

值 域:

PduInfoPtr:数据信息指针

值 域:

输入 输出参数:

输出参数:

返回值:

功能概述:

CanTp模 块接收函数,供CanIf模块调用

CanTp_TxConfirmation函数定义

函数名称:

CanTp_TxConfirmation

函数原型:

void CanT p_TxConfirmation(PduIdType TxPduId)

服务编号:

0x40

同步/异步:

同步

是 否可重入:

不同PduI d可重入,同一PduId不可重入

输入参数:

TxPduId:发送PDUID值

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

发送确认函数

可配置函数定义

无。

配置

CanTpGeneral

image6

图5-1 CanTpGeneral容器配置图

表5-1 CanTpGeneral属性描述

UI名称

描述

CanTpDe vErrorDetect

取值范围

True/False

默 | 认 | 取 | 值 |

T r u e

参数描述

DET检查开关

依赖关系

CanTpRead ParameterApi

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

读取接收参 数的接口使能开关

依赖关系

CanTpChange ParameterApi

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

改变接收参 数的接口使能开关

依赖关系

Pd uRZeroCostOperat ion为FALSE时,此 项默认使能且不可 配置。PduRZeroC ostOperation为TR UE时根据配置生成

CanTpVe rsionInfoApi

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

获取版本 信息函数使能开关

依赖关系

CanTp DynIdSupport

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

Metadata下的动 态ID支持使能开关

依赖关系

CanT pFlexibleDat aRateSupport

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

CAN FD支持使能开关

依赖关系

CanTp GenericConne ctionSupport

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

通用 连接支持使能开关

依赖关系

CanTpDynIdSuppo rt为TRUE时可配置

CanT pPaddingByte

取值范围

0-255

默 | 认 | 取 | 值 |

0

参数描述

填充值

依赖关系

CanTpDia gGWResEnable

取值范围

True/False

默 | 认 | 取 | 值 |


F a l s e

参数描述

诊断 网关主动应答NRC 78功能的使能开关

依赖关系

CanT pSynchronous RxIndication

取值范围

True/False

默认取值

False

参数描述

该 参数设置为true时 ,表示同步RxIndi cation转发给PduR ,否则将在mainfu nction中异步处理

依赖关系

配置项Ca nTpDiagGatewayRe sponseEnable需在 CanTpSynchronous RxIndication不勾 选时才可以配置。

Ca nTpTimerType

取值范围

TM/OS/Main function/Callout

默认取值

TM

参数描述

选择计时 类型[1]

依赖关系

CanTpConfig

image7

图5-2 CanTpConfig容器配置图

表5-2 CanTpConfig属性描述

UI名称

描述

CanTpMainFu nctionPeriod

取值范围

0 .. 0.255

默认取值

0

参数描述

主函数调用周期

依赖关系

CanTpM axChannelCnt

取值范围

0 ..

1844 6744073709551615

默认取值

0

参数描述

最大通道个数

依赖关系

根 据该配置决定可配 的channel数量。

CanTpChannel

image8

图5-3CanTpChannel容器配置图

表5-3 CanTpChannel属性描述

UI名称

描述

CanT pChannelMode

取值范围

CANTP_M ODE_FULL_DUPLEX/ CANTP_ MODE_HALF_DUPLEX

默认取值

CA NTP_MODE_F ULL_DUPLEX

参数描述

通道处理类型

依赖关系

D iagGatewayRe sponseEnable

取值范围

True/False

默认取值

False

参数描述

诊断 网关通道使能开关

依赖关系

CanTpDia gGWResEnable使能

DiagGatew ayResponseP2

取值范围

0..1

默认取值

0.05

参数描述

诊 断网关应答P2时间

依赖关系

CanTpDia gGWResEnable使能

D iagGatewayRe sponseP2Star

取值范围

0..100

默认取值

5

参数描述

诊断 网关应答P2*时间

依赖关系

CanTpDia gGWResEnable使能

D iagGatewayRe sponseMaxNum

取值范围

0..255

默认取值

0

参数描述

应答 NRC78的最大次数

依赖关系

CanTpDia gGWResEnable使能

CanTpRxNSdu

image9

图5-4 CanTpRxNSdu容器配置图

表5-4 CanTpRxNSdu属性描述

UI名称

描述

CanTpBs

取值范围

0 .. 255

默认取值

0

参数描述

块大小

依赖关系

CanTpNar

取值范围

0 .. INF

默认取值

0

参数描述

N_Ar值

依赖关系

CanTpNbr

取值范围

0 .. INF

默认取值

0

参数描述

N_Br值

依赖关系

CanTpNcr

取值范围

0 .. INF

默认取值

0

参数描述

N_Cr值

依赖关系

CanTpRxAddr essingFormat

取值范围

CANTP_EXTENDED

/CANTP_MIXED/C ANTP_MIXED29BIT/ CANTP_NORMALFIXE D/CANTP_STANDARD

默认取值

CANT P_EXTENDED

参数描述

接收地址模式

依赖关系

C anTpRxNSduId

取值范围

0 .. 65535

默认取值

参数描述

接收NSDU ID值

依赖关系

CanTpRxPaddi ngActivation

取值范围

CA NTP_OFF/CANTP_ON

默认取值

CANTP_OFF

参数描述

接收填充使能开关

依赖关系

C anTpRxTaType

取值范围

CANTP_CANFD _FUNCTIONAL/CANT P_CANFD_PHYSICAL /CANTP_FUNCTIONA L/CANTP_PHYSICAL

默认取值

CA NTP_CANFD_ FUNCTIONAL

参数描述

接收TA类型

依赖关系

C anTpRxWftMax

取值范围

0 .. 65535

默认取值

0

参数描述

接 收等待FC最大次数

依赖关系

CanTpSTmin

取值范围

0 .. INF

默认取值

0

参数描述

STmin值

依赖关系

Ca nTpRxNSduRef

取值范围

默认取值

参数描述

NSDU关联

依赖关系

CanTpRxNPdu

image10

图5-5 CanTpRxNPdu容器配置图

表5-5 CanTpRxNPdu属性描述

UI名称

描述

C anTpRxNPduId

取值范围

0 .. 65535

默认取值

参数描述

N-PDU ID值

依赖关系

不可配置,根据 关联pdu自动生成

Ca nTpRxNPduRef

取值范围

默认取值

参数描述

PDU关联

依赖关系

CanTpTxFcNPdu

image11

图5-6 CanTpTxFcNPdu容器配置图

表5-6 CanTpTxFcNPdu属性描述

UI名称

描述

CanTpT xFcNPduConfi rmationPduId

取值范围

0 .. 65535

默认取值

参数描述

N-PDU ID值

依赖关系

不可配置,根据 关联pdu自动生成

CanT pTxFcNPduRef

取值范围

默认取值

参数描述

PDU关联

依赖关系

CanTpNTa

image12

图5-7 CanTpNTa容器配置图

表5-7 CanTpNTa属性描述

UI名称

描述

CanTpNTa

取值范围

0 .. 255

默认取值

0

参数描述

TA值

依赖关系

地址 模式为CANTP_EXT ENDED的RxNSdu和T xNSdu都必须配置. 如 果DynIdSupport使 能,地址模式为CAN TP_NORMALFIXED或 CANTP_MIXED29BIT 的 RxNSdu必须配置。 如果DynIdSupport 使能并且 GenericConnecti onSupport不使能, 且 地址模式为CANTP _NORMALFIXED或CA NTP_MIXED29BIT的 TxNSdu必须配置。

CanTpNSa

image13

图5-8 CanTpNSa容器配置图

表5-8 CanTpNSa属性描述

UI名称

描述

CanTpNSa

取值范围

0 .. 255

默认取值

0

参数描述

SA值

依赖关系

地址模式为C ANTP_EXTENDED且T A类型为CANTP_PHY SICAL的RxNSdu和T xNSdu都必须配置. 如 果DynIdSupport使 能,地址模式为CAN TP_NORMALFIXED或 CANTP_MIXED29BIT 的 TxNSdu必须配置。 如果DynIdSupport 使能并且 GenericConnecti onSupport不使能, 且 地址模式为CANTP _NORMALFIXED或CA NTP_MIXED29BIT的 RxNSdu必须配置。

CanTpNAe

image14

图5-9 CanTpNAe容器配置图

表5-9 CanTpNAe属性描述

UI名称

描述

CanTpNAe

取值范围

0 .. 255

默认取值

0

参数描述

AE值

依赖关系

地 址模式为CANTP_M IXED或CANTP_MIXE D29BIT的TxNSdu和 RxNSdu必须配置。

CanTpTxNSdu

image15

图5-10 CanTpTxNSdu容器配置图

表5-10 CanTpTxNSdu属性描述

UI名称

描述

CanTpNas

取值范围

0 .. INF

默认取值

0

参数描述

N_As值

依赖关系

CanTpNbs

取值范围

0 .. INF

默认取值

0

参数描述

N_Bs

依赖关系

CanTpNcs

取值范围

0 .. INF

默认取值

0

参数描述

N_Cs

依赖关系

CanTpTc

取值范围

True/False

默认取值

参数描述

取消接收和取 消发送的使能开关

依赖关系

如果对应的CanTp TxNSdu/CanTpTxNS duRef关联的PDU是 PDUR某RoutingPat h的DestPdu且对应 的SrcPdu被DCM的 DcmDslProtocolTx PduRef关联或直接 被DcmDslProtocol TxPduRef关联的话 ,CanTpTc配置项 不可自行配置,与

DcmG eneral/Preemptio nProtocolCancelS upport同步勾选; 否则可自行配置。

CanTpTxAddr essingFormat

取值范围

CANTP_EXTEND ED/CANTP_MIXED/C ANTP_MIXED29BIT/ CANTP_NORMALFIXE D/CANTP_STANDARD

默认取值

CANT P_EXTENDED

参数描述

发送地址模式

依赖关系

C anTpTxNSduId

取值范围

0 .. 65535

默认取值

参数描述

发送NSDU ID值

依赖关系

不可配, 根据pdu引用决定

CanTpTxPaddi ngActivation

取值范围

CA NTP_OFF/CANTP_ON

默认取值

CANTP_OFF

参数描述

发送填充使能

依赖关系

C anTpTxTaType

取值范围

C ANTP_FUNCTIONAL/ CANTP_PHYSICAL

默认取值

CANTP_ FUNCTIONAL

参数描述

发送TA类型

依赖关系

Ca nTpTxNSduRef

取值范围

默认取值

参数描述

PDU关联

依赖关系

CanTpTxNPdu

image16

图5-11 CanTpTxNPdu容器配置图

表5-11 CanTpTxNPdu属性描述

UI名称

描述

CanT pTxNPduConfi rmationPduId

取值范围

0 .. 65535

默认取值

0

参数描述

N-PDU ID值

依赖关系

不可配, 根据pdu引用决定

Ca nTpTxNPduRef

取值范围

默认取值

参数描述

PDU关联

依赖关系

CanTpRxFcNPdu

image17

图5-12 CanTpRxFcNPdu容器配置图

表5-12 CanTpRxFcNPdu属性描述

UI名称

描述

Can TpRxFcNPduId

取值范围

0 .. 65535

默认取值

0

参数描述

N-PDU ID值

依赖关系

不可配, 根据pdu引用决定

CanT pRxFcNPduRef

取值范围

默认取值

参数描述

PDU关联

依赖关系

CanTpNTa

image18

图5-13 CanTpNTa容器配置图

表5-13 CanTpNTa属性描述

UI名称

描述

CanTpNTa

取值范围

0 .. 255

默认取值

0

参数描述

TA值

依赖关系

地址 模式为CANTP_EXT ENDED的RxNSdu和T xNSdu都必须配置. 如 果DynIdSupport使 能,地址模式为CAN TP_NORMALFIXED或 CANTP_MIXED29BIT 的 RxNSdu必须配置。 如果DynIdSupport 使能并且 GenericConnecti onSupport不使能, 且 地址模式为CANTP _NORMALFIXED或CA NTP_MIXED29BIT的 TxNSdu必须配置。

CanTpNSa

image19

图5-14 CanTpNSa容器配置图

表5-14 CanTpNSa属性描述

UI名称

描述

CanTpNSa

取值范围

0 .. 255

默认取值

0

参数描述

SA值

依赖关系

地址模式为C ANTP_EXTENDED且T A类型为CANTP_PHY SICAL的RxNSdu和T xNSdu都必须配置. 如 果DynIdSupport使 能,地址模式为CAN TP_NORMALFIXED或 CANTP_MIXED29BIT 的 TxNSdu必须配置。 如果DynIdSupport 使能并且 GenericConnecti onSupport不使能, 且 地址模式为CANTP _NORMALFIXED或CA NTP_MIXED29BIT的 RxNSdu必须配置。

CanTpNAe

image20

图5-15 CanTpNAe容器配置图

表5-15 CanTpNAe属性描述

UI名称

描述

CanTpNAe

取值范围

0 .. 255

默认取值

0

参数描述

AE值

依赖关系

地 址模式为CANTP_M IXED或CANTP_MIXE D29BIT的TxNSdu和 RxNSdu必须配置。

附录1

[1] 通过CanTpTimerType配置项可以选择四种计时方法。分别为TM、OS、Mainfunction、Callout。TM:使用TM模块内部标准接口。OS:使用Os system counter。Mainfunction:依赖周期调度,由CanTp内部计时。不同计时方法的对应接口由配置工具生成在CanTp_Callout.c中,其中Callout是由客户自定义的计时类型,可以参照生成示例中TM/OS/Mainfunction的实现,结合项目工程情况修改接口自行实现计时功能。

附录2

表 1 工程预编译宏定义表

宏定义名称

功能

范围 (使用方法)

默认值

CANTP_FIX_BS

接收过 程中发送FC所 携带的BS取值

定义: BS的数 值使用配置的 静态固定值;

未定义: BS的数 值采用动态自 动计算的方式

未定义

C ANTP_MATCH_ISO_2004

匹配2004版本 的ISO15765规 范,主要应对 FF_DL=0时,不 根据2016的IS O规范,使用后 面的数据段计 算实际FF_DL。

定 义:FF_DL=0时 ,直接认为FF_ DL为0,不计算 后面数据段;

未定义:FF _DL=0时,通过 后面的数据段 计算实际FF_DL

未定义