CAN Transport Layer(CanTp)实现 ISO 15765-2 / ISO 15765-4 传输层协议。位于 CanIf 之上,PduR 之下。提供 SF(单帧)/ FF(首帧)/ CF(连续帧)/ FC(流控帧)的分段/重组,支持 CAN FD 长帧。
CanTp / CAN / CAN FD / ISO 15765-2 / ISO 15765-4 / SF / FF / CF / FC / BS / STmin / FF_DL / PDU / PduR / MetaData / Padding
[1] AUTOSAR SWS PduR
[2] AUTOSAR SWS CAN Interface
[3] AUTOSAR SRS CAN
[4] ISO 15765-2 / ISO 15765-4
CanTp 应:
CanTp 依赖:PduR(PDU 路由)/ CanIf(CAN 接口)/ Dem(错误上报)/ Det(开发错误)。
CanTp 位于 CanIf 之上,PduR 之下。维护连接状态机:
void CanTp_Init(const CanTp_ConfigType* ConfigPtr):初始化。
void CanTp_DeInit(void):去初始化。
Std_ReturnType CanTp_Transmit(PduIdType CanTpTxSduId, const PduInfoType* CanTpInfoPtr):请求传输。
Std_ReturnType CanTp_CancelTransmit(PduIdType CanTpTxSduId):取消传输。
Std_ReturnType CanTp_CancelReceive(PduIdType CanTpRxSduId):取消接收。
Std_ReturnType CanTp_GetState(NetworkHandleType Channel, CanTp_StateType* CanTpStatePtr, uint16* PendingCountPtr):获取连接状态。
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):触发传输(用于动态长度)。
void CanTp_MainFunction(void):周期性主函数。
CanTp 配置类:
CANTP_E_UNINIT:模块未初始化。
CANTP_E_PARAM_POINTER:参数指针为空。
CANTP_E_PARAM:参数无效。
CANTP_E_TIMEOUT:连接超时(As/Ns/Ar/Nr 超时)。
CANTP_E_SEQUENCE:序列号错误。
CANTP_E_FLOW_CONTROL:流控错误。
校对轮次:L1 自动校对(2026-06-13)