Ethernet Interface(EthIf)作为 Ethernet 协议栈的 ECU 抽象层,位于 Eth(驱动)/ EthTrcv(收发器)之上与 TcpIp / SoAd 之下。提供 PDU 路由、链路管理、VLAN、时间戳、统计等服务。
EthIf / Eth / EthTrcv / VLAN / MAC / PHY / Switch / Port / PDU / PduR / TcpIp / SoAd / SD / Nm / StbM / TCP/IP / IPv4 / IPv6
[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
EthIf 应:
EthIf 依赖:Eth(驱动)/ EthTrcv(收发器)/ EthSwt(交换机驱动)/ PduR(PDU 路由)/ TcpIp / SoAd / Dem(错误上报)/ StbM(时间戳)。
EthIf 位于 Ethernet 协议栈中:
EthIf 支持 VLAN tagging(IEEE 802.1Q),可基于 VLAN ID 进行帧过滤。
void EthIf_Init(const EthIf_ConfigType* ConfigPtr):初始化。
void EthIf_DeInit(void):去初始化。
Std_ReturnType EthIf_SetControllerMode(uint8 CtrlIdx, Eth_ModeType CtrlMode):设置控制器模式。
Std_ReturnType EthIf_GetControllerMode(uint8 CtrlIdx, Eth_ModeType* CtrlModePtr):获取模式。
Std_ReturnType EthIf_SetTransceiverMode(uint8 TrcvIdx, EthTrcv_ModeType TrcvMode):设置收发器模式。
Std_ReturnType EthIf_GetTransceiverMode(uint8 TrcvIdx, EthTrcv_ModeType* TrcvModePtr):获取模式。
Std_ReturnType EthIf_Transmit(EthIf_FrameType FrameType, uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType BufIdx, Eth_FrameType* FramePtr, PduLengthType Length):发送帧。
Std_ReturnType EthIf_AddToFilterTable(EthIf_FilterRuleType* RulePtr):添加过滤规则。
Std_ReturnType EthIf_RemoveFromFilterTable(EthIf_FilterRuleType* RulePtr):移除过滤规则。
Std_ReturnType EthIf_GetLinkState(uint8 CtrlIdx, EthTrcv_LinkStateType* LinkStatePtr):获取链路状态。
Std_ReturnType EthIf_GetPhysAddr(uint8 CtrlIdx, uint8* PhysAddrPtr):获取 MAC 地址。
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)。
void EthIf_MainFunctionRx(void):接收处理。
void EthIf_MainFunctionTx(void):发送处理。
void EthIf_MainFunctionState(void):状态处理。
EthIf 配置类:
ETHIF_E_UNINIT:模块未初始化。
ETHIF_E_PARAM_POINTER:参数指针为空。
ETHIF_E_PARAM:参数无效。
ETHIF_E_INV_CTRL_IDX:控制器索引无效。
ETHIF_E_BUSY:模块忙。
校对轮次:L1 自动校对(2026-06-13)