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接口层模块 |
简介
图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所示。
图1-2 单帧传输过程
对于大数据使用多帧传输,数据包发送时拆包分段发送,数据包接收时重组,并使用流控握手与定时控制,使用到的帧类型包括:首帧、流控帧与连续帧。传输过程如图1-3所示。
图1-3 多帧传输过程
如图1-4表示了CanTp模块需要使用的上下层模块CanIf和PduR。
CanTp模块提供上层接口给PduR模块交互,用来接收与发送数据。两个模块之间通过N_SDU进行交互。CanTp使用PduR的回调函数复制发送数据,确认发送,发起接收,复制接收数据,接收指引。
CanTp模块提供下层接口给CanIf模块交互,用来接收与发送数据。两个模块之间通过L_SDU进行交互。CanTp使用CanIf的发送接口进行数据发送。
图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函数的扩展声明并定义了端口的数据结构。 |
图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
图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
图5-2 CanTpConfig容器配置图
表5-2 CanTpConfig属性描述
UI名称 |
描述 |
|||
CanTpMainFu nctionPeriod |
取值范围 |
0 .. 0.255 |
默认取值 |
0 |
参数描述 |
主函数调用周期 |
|||
依赖关系 |
无 |
|||
CanTpM axChannelCnt |
取值范围 |
0 .. 1844 6744073709551615 |
默认取值 |
0 |
参数描述 |
最大通道个数 |
|||
依赖关系 |
根 据该配置决定可配 的channel数量。 |
CanTpChannel
图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
图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
图5-5 CanTpRxNPdu容器配置图
表5-5 CanTpRxNPdu属性描述
UI名称 |
描述 |
|||
C anTpRxNPduId |
取值范围 |
0 .. 65535 |
默认取值 |
无 |
参数描述 |
N-PDU ID值 |
|||
依赖关系 |
不可配置,根据 关联pdu自动生成 |
|||
Ca nTpRxNPduRef |
取值范围 |
无 |
默认取值 |
无 |
参数描述 |
PDU关联 |
|||
依赖关系 |
无 |
CanTpTxFcNPdu
图5-6 CanTpTxFcNPdu容器配置图
表5-6 CanTpTxFcNPdu属性描述
UI名称 |
描述 |
|||
CanTpT xFcNPduConfi rmationPduId |
取值范围 |
0 .. 65535 |
默认取值 |
无 |
参数描述 |
N-PDU ID值 |
|||
依赖关系 |
不可配置,根据 关联pdu自动生成 |
|||
CanT pTxFcNPduRef |
取值范围 |
无 |
默认取值 |
无 |
参数描述 |
PDU关联 |
|||
依赖关系 |
无 |
CanTpNTa
图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
图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
图5-9 CanTpNAe容器配置图
表5-9 CanTpNAe属性描述
UI名称 |
描述 |
|||
CanTpNAe |
取值范围 |
0 .. 255 |
默认取值 |
0 |
参数描述 |
AE值 |
|||
依赖关系 |
地 址模式为CANTP_M IXED或CANTP_MIXE D29BIT的TxNSdu和 RxNSdu必须配置。 |
CanTpTxNSdu
图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
图5-11 CanTpTxNPdu容器配置图
表5-11 CanTpTxNPdu属性描述
UI名称 |
描述 |
|||
CanT pTxNPduConfi rmationPduId |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
N-PDU ID值 |
|||
依赖关系 |
不可配, 根据pdu引用决定 |
|||
Ca nTpTxNPduRef |
取值范围 |
无 |
默认取值 |
无 |
参数描述 |
PDU关联 |
|||
依赖关系 |
无 |
CanTpRxFcNPdu
图5-12 CanTpRxFcNPdu容器配置图
表5-12 CanTpRxFcNPdu属性描述
UI名称 |
描述 |
|||
Can TpRxFcNPduId |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
N-PDU ID值 |
|||
依赖关系 |
不可配, 根据pdu引用决定 |
|||
CanT pRxFcNPduRef |
取值范围 |
无 |
默认取值 |
无 |
参数描述 |
PDU关联 |
|||
依赖关系 |
无 |
CanTpNTa
图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
图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
图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
宏定义名称 |
功能 |
范围 (使用方法) |
默认值 |
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 |
未定义 |