AUTOSAR_SWS_PDURouter 中文翻译

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

本翻译覆盖原文档 1-130 页正文。原文为软件规范(SWS),定义 PduR(PDU Router)模块的 API、配置、错误处理——AUTOSAR 通信栈核心路由模块。


1 引言与范围

PduR(PDU Router)在 AUTOSAR 通信栈中负责 PDU 的路由,包括:

2 缩略语

PduR / PDU / I-PDU / TP / FIFO / Fanout / Multicast / Unicast / PN / NM / CAN / FlexRay / LIN / Ethernet / J1939

3 相关文档

[1] AUTOSAR SWS COM
[2] AUTOSAR SWS CAN Interface
[3] AUTOSAR SWS CAN Transport Layer
[4] AUTOSAR SWS FlexRay Interface
[5] AUTOSAR SWS FlexRay Transport Layer
[6] AUTOSAR SWS LIN Interface
[7] AUTOSAR SWS J1939 Transport Layer
[8] AUTOSAR SWS Socket Adaptor
[9] AUTOSAR SWS SOME/IP Transformer
[10] AUTOSAR SRS Gateway

4 约束与假设

PduR 应:

5 依赖其他模块

PduR 依赖:所有接口模块(CanIf/FrIf/LinIf/EthIf/J1939Tp/TcpIp/SoAd)/ COM / DCM(诊断通信管理器)/ Dem / BswM。

6 功能规格

6.1 架构

PduR 位于应用层 COM/DCM 与通信接口模块之间,作为 PDU 路由中心。每个路由路径由源 PDU 引用和目标 PDU 引用组成。

6.2 路由类型

PduR 支持以下路由类型:

7 API 服务

7.1 初始化 / 关闭

void PduR_Init(const PduR_PBConfigType* ConfigPtr):初始化。
void PduR_DeInit(void):去初始化。

7.2 路由控制(运行时)

void PduR_EnableRouting(PduR_RoutingPathGroupIdType RoutingPathGroupId, boolean Enable):启用/禁用路由路径组。

7.3 上层 → PduR(网关服务)

Std_ReturnType PduR_GwTransmit(PduIdType GwSrcPduId, const PduInfoType* PduInfoPtr):网关传输(多源/多目的)。

7.4 接口模块 → PduR

void PduR_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr):接收指示(来自 IF 模块)。
void PduR_TxConfirmation(PduIdType TxPduId, Std_ReturnType Result):发送确认。

7.5 TP API(来自 TP)

BufReq_ReturnType PduR_CopyRxData(PduIdType RxPduId, const PduInfoType* PduInfoPtr, PduLengthType* RxBufferSizePtr):TP 接收数据复制。
BufReq_ReturnType PduR_StartOfReception(PduIdType RxPduId, PduLengthType SduLength, PduLengthType* RxBufferSizePtr):TP 接收开始。
BufReq_ReturnType PduR_CopyTxData(PduIdType TxPduId, PduInfoType* PduInfoPtr, RetryInfoType* RetryInfoPtr, PduLengthType* TxDataCntPtr):TP 发送数据复制。
void PduR_TpRxIndication(PduIdType RxPduId, Std_ReturnType Result):TP 接收指示。
void PduR_TpTxConfirmation(PduIdType TxPduId, Std_ReturnType Result):TP 发送确认。

7.6 上层 API

Std_ReturnType PduR_Transmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr):上层发送。
Std_ReturnType PduR_CancelTransmit(PduIdType TxPduId):取消发送。
Std_ReturnType PduR_CancelReceive(PduIdType RxPduId):取消接收。
BufReq_ReturnType PduR_StartOfReceptionCom(PduIdType ComRxPduId, PduLengthType SduLength, PduLengthType* BufferSizePtr):COM 接收开始。
BufReq_ReturnType PduR_CopyRxDataCom(PduIdType ComRxPduId, const PduInfoType* PduInfoPtr, PduLengthType* BufferSizePtr):COM 接收数据复制。
BufReq_ReturnType PduR_CopyTxDataCom(PduIdType ComTxPduId, PduInfoType* PduInfoPtr, RetryInfoType* RetryInfoPtr, PduLengthType* AvailableDataLengthPtr):COM 发送数据复制。

7.7 DCM API

Std_ReturnType PduR_DcmTransmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr):DCM 发送。
BufReq_ReturnType PduR_DcmStartOfReception(PduIdType RxPduId, PduLengthType SduLength, PduLengthType* RxBufferSizePtr):DCM 接收开始。
BufReq_ReturnType PduR_DcmCopyRxData(PduIdType RxPduId, const PduInfoType* PduInfoPtr, PduLengthType* RxBufferSizePtr):DCM 接收数据复制。
BufReq_ReturnType PduR_DcmCopyTxData(PduIdType TxPduId, PduInfoType* PduInfoPtr, RetryInfoType* RetryInfoPtr, PduLengthType* TxDataCntPtr):DCM 发送数据复制。
void PduR_DcmTxConfirmation(PduIdType TxPduId, Std_ReturnType Result):DCM 发送确认。
void PduR_DcmRxIndication(PduIdType RxPduId, Std_ReturnType Result):DCM 接收指示。
void PduR_DcmTpTxConfirmation(PduIdType TxPduId, Std_ReturnType Result):DCM TP 发送确认。
void PduR_DcmTpRxIndication(PduIdIdType RxPduId, Std_ReturnType Result):DCM TP 接收指示。

8 配置

PduR 配置类:

9 错误处理

9.1 开发错误

PDUR_E_UNINIT:模块未初始化。
PDUR_E_PARAM_POINTER:参数指针为空。
PDUR_E_PARAM:参数无效。
PDUR_E_ROUTING_PATH:路由路径错误。
PDUR_E_PATH_DISABLED:路由路径已禁用。

9.2 运行时错误

PDUR_E_BUSY:模块忙。
PDUR_E_BUFFER_OVERFLOW:FIFO 缓冲溢出。


校对记录

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