AUTOSAR_SWS_CANTransportLayer 中文翻译

文档编号:085 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-91 页正文。原文为软件规范(SWS),定义 CAN Transport Layer(CanTp)模块的 API、配置、错误处理。符合 ISO 15765-2 + ISO 15765-4,支持 CAN FD。


1 引言与范围

CAN Transport Layer(CanTp)实现 ISO 15765-2 / ISO 15765-4 传输层协议。位于 CanIf 之上,PduR 之下。提供 SF(单帧)/ FF(首帧)/ CF(连续帧)/ FC(流控帧)的分段/重组,支持 CAN FD 长帧。

2 缩略语

CanTp / CAN / CAN FD / ISO 15765-2 / ISO 15765-4 / SF / FF / CF / FC / BS / STmin / FF_DL / PDU / PduR / MetaData / Padding

3 相关文档

[1] AUTOSAR SWS PduR
[2] AUTOSAR SWS CAN Interface
[3] AUTOSAR SRS CAN
[4] ISO 15765-2 / ISO 15765-4

4 约束与假设

CanTp 应:

5 依赖其他模块

CanTp 依赖:PduR(PDU 路由)/ CanIf(CAN 接口)/ Dem(错误上报)/ Det(开发错误)。

6 功能规格

6.1 架构

CanTp 位于 CanIf 之上,PduR 之下。维护连接状态机:

7 API 服务

7.1 初始化 / 关闭

void CanTp_Init(const CanTp_ConfigType* ConfigPtr):初始化。
void CanTp_DeInit(void):去初始化。

7.2 传输

Std_ReturnType CanTp_Transmit(PduIdType CanTpTxSduId, const PduInfoType* CanTpInfoPtr):请求传输。

7.3 取消

Std_ReturnType CanTp_CancelTransmit(PduIdType CanTpTxSduId):取消传输。
Std_ReturnType CanTp_CancelReceive(PduIdType CanTpRxSduId):取消接收。

7.4 状态查询

Std_ReturnType CanTp_GetState(NetworkHandleType Channel, CanTp_StateType* CanTpStatePtr, uint16* PendingCountPtr):获取连接状态。

7.5 回调

void CanTp_TxConfirmation(PduIdType CanTpTxPduId, Std_ReturnType Result):发送确认。
void CanTp_RxIndication(PduIdType CanTpRxSduId, const PduInfoType* CanTpInfoPtr, boolean CopyDataDone):接收指示。
void CanTp_TriggerTransmit(PduIdType CanTpTxPduId, PduInfoType* CanTpInfoPtr):触发传输(用于动态长度)。

7.6 MainFunction

void CanTp_MainFunction(void):周期性主函数。

8 配置

CanTp 配置类:

9 错误处理

9.1 开发错误

CANTP_E_UNINIT:模块未初始化。
CANTP_E_PARAM_POINTER:参数指针为空。
CANTP_E_PARAM:参数无效。

9.2 运行时错误

CANTP_E_TIMEOUT:连接超时(As/Ns/Ar/Nr 超时)。
CANTP_E_SEQUENCE:序列号错误。
CANTP_E_FLOW_CONTROL:流控错误。


校对记录

校对轮次:L1 自动校对(2026-06-13)