AUTOSAR_SWS_EthernetInterface 中文翻译

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

本翻译覆盖原文档 1-100 页正文。原文为软件规范(SWS),定义 Ethernet Interface(EthIf)模块的 API、配置、错误处理——Ethernet 协议栈的 ECU 抽象层。


1 引言与范围

Ethernet Interface(EthIf)作为 Ethernet 协议栈的 ECU 抽象层,位于 Eth(驱动)/ EthTrcv(收发器)之上与 TcpIp / SoAd 之下。提供 PDU 路由、链路管理、VLAN、时间戳、统计等服务。

2 缩略语

EthIf / Eth / EthTrcv / VLAN / MAC / PHY / Switch / Port / PDU / PduR / TcpIp / SoAd / SD / Nm / StbM / TCP/IP / IPv4 / IPv6

3 相关文档

[1] AUTOSAR SWS PduR
[2] AUTOSAR SWS Ethernet Driver
[3] AUTOSAR SWS Ethernet Transceiver Driver
[4] AUTOSAR SWS Ethernet Switch Driver
[5] AUTOSAR SWS TcpIp
[6] AUTOSAR SWS Socket Adaptor
[7] AUTOSAR SRS Ethernet

4 约束与假设

EthIf 应:

5 依赖其他模块

EthIf 依赖:Eth(驱动)/ EthTrcv(收发器)/ EthSwt(交换机驱动)/ PduR(PDU 路由)/ TcpIp / SoAd / Dem(错误上报)/ StbM(时间戳)。

6 功能规格

6.1 架构

EthIf 位于 Ethernet 协议栈中:

6.2 VLAN 支持

EthIf 支持 VLAN tagging(IEEE 802.1Q),可基于 VLAN ID 进行帧过滤。

7 API 服务

7.1 初始化 / 关闭

void EthIf_Init(const EthIf_ConfigType* ConfigPtr):初始化。
void EthIf_DeInit(void):去初始化。

7.2 控制器模式

Std_ReturnType EthIf_SetControllerMode(uint8 CtrlIdx, Eth_ModeType CtrlMode):设置控制器模式。
Std_ReturnType EthIf_GetControllerMode(uint8 CtrlIdx, Eth_ModeType* CtrlModePtr):获取模式。

7.3 收发器模式

Std_ReturnType EthIf_SetTransceiverMode(uint8 TrcvIdx, EthTrcv_ModeType TrcvMode):设置收发器模式。
Std_ReturnType EthIf_GetTransceiverMode(uint8 TrcvIdx, EthTrcv_ModeType* TrcvModePtr):获取模式。

7.4 帧传输(来自 PduR)

Std_ReturnType EthIf_Transmit(EthIf_FrameType FrameType, uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType BufIdx, Eth_FrameType* FramePtr, PduLengthType Length):发送帧。

7.5 帧过滤

Std_ReturnType EthIf_AddToFilterTable(EthIf_FilterRuleType* RulePtr):添加过滤规则。
Std_ReturnType EthIf_RemoveFromFilterTable(EthIf_FilterRuleType* RulePtr):移除过滤规则。

7.6 状态查询

Std_ReturnType EthIf_GetLinkState(uint8 CtrlIdx, EthTrcv_LinkStateType* LinkStatePtr):获取链路状态。
Std_ReturnType EthIf_GetPhysAddr(uint8 CtrlIdx, uint8* PhysAddrPtr):获取 MAC 地址。

7.7 回调(来自 Eth/EthSwt)

void EthIf_RxIndication(uint8 CtrlIdx, Eth_FrameType* FramePtr, PduLengthType Length):接收指示。
void EthIf_TxConfirmation(uint8 CtrlIdx, Eth_BufIdxType BufIdx, Std_ReturnType Result):发送确认。
void EthIf_PortLinkStateChg(uint8 SwitchIdx, EthIf_SwitchPortIdxType PortIdx, EthTrcv_LinkStateType LinkState):端口链路状态变化(来自 EthSwt)。

7.8 MainFunction

void EthIf_MainFunctionRx(void):接收处理。
void EthIf_MainFunctionTx(void):发送处理。
void EthIf_MainFunctionState(void):状态处理。

8 配置

EthIf 配置类:

9 错误处理

9.1 开发错误

ETHIF_E_UNINIT:模块未初始化。
ETHIF_E_PARAM_POINTER:参数指针为空。
ETHIF_E_PARAM:参数无效。
ETHIF_E_INV_CTRL_IDX:控制器索引无效。

9.2 运行时错误

ETHIF_E_BUSY:模块忙。


校对记录

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