AUTOSAR_SWS_EthernetSwitchDriver 中文翻译

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

本翻译覆盖原文档 1-120 页正文。原文为软件规范(SWS),定义 Ethernet Switch Driver(EthSwt)模块的 API、配置、错误处理——控制 Ethernet 交换机硬件。


1 引言与范围

Ethernet Switch Driver(EthSwt)位于 MCAL 层,控制 Ethernet 交换机硬件。提供端口镜像(Port Mirroring)、VLAN 转发、端口状态管理、统计、半静态自动配置、TC10 等服务。

2 缩略语

EthSwt / Switch / Port / Mirror / VLAN / TC10 / MAC / PHY / FDB(Forwarding Database)/ MIB / Aging / Cut-through / Store-and-forward / Spanning Tree / Auto Configuration

3 相关文档

[1] AUTOSAR SWS Ethernet Driver
[2] AUTOSAR SWS Ethernet Interface
[3] AUTOSAR SRS Ethernet
[4] IEEE 802.1Q (VLAN) / IEEE 802.1AS (Time Sync) / OPEN Alliance TC10

4 约束与假设

EthSwt 应:

5 依赖其他模块

EthSwt 依赖:Eth(驱动)/ EthTrcv(收发器)/ EthIf(接口)/ Dem(错误上报)/ Port(引脚复用)。

6 功能规格

6.1 架构

EthSwt 位于 MCAL 层,对下控制 Switch 硬件(SPI/MDIO/并行总线),对上为 EthIf 提供抽象。

6.2 端口镜像

EthSwt 支持将一个或多个端口的流量镜像到其他端口(用于诊断/调试)。

6.3 VLAN

EthSwt 支持 802.1Q VLAN 转发,配置 VLAN ID、VLAN 成员、Trunk/Access 端口。

7 API 服务

7.1 初始化 / 关闭

void EthSwt_Init(const EthSwt_ConfigType* ConfigPtr):初始化。
void EthSwt_DeInit(void):去初始化。

7.2 端口模式

Std_ReturnType EthSwt_SetPortMode(uint8 SwtIdx, EthSwt_PortIdxType PortIdx, EthSwt_PortModeType PortMode):设置端口模式(PORT_MODE_OFF / PORT_MODE_NOSNIFF / PORT_MODE_TC10)。

7.3 镜像配置

Std_ReturnType EthSwt_EnablePortMirroring(EthSwt_MirroringConfigType* MirrorCfgPtr):启用端口镜像。
Std_ReturnType EthSwt_DisablePortMirroring(uint8 MirrorIdx):禁用端口镜像。

7.4 VLAN 配置

Std_ReturnType EthSwt_AddVlan(uint8 SwtIdx, EthSwt_VlanIdType VlanId, EthSwt_VlanType* VlanConfigPtr):添加 VLAN。
Std_ReturnType EthSwt_RemoveVlan(uint8 SwtIdx, EthSwt_VlanIdType VlanId):移除 VLAN。
Std_ReturnType EthSwt_SetPortVlanMembership(uint8 SwtIdx, EthSwt_PortIdxType PortIdx, EthSwt_VlanIdType VlanId, boolean Member):设置端口 VLAN 成员。

7.5 链路状态

Std_ReturnType EthSwt_GetPortLinkState(uint8 SwtIdx, EthSwt_PortIdxType PortIdx, EthTrcv_LinkStateType* LinkStatePtr):获取端口链路状态。

7.6 统计

Std_ReturnType EthSwt_GetPortStats(uint8 SwtIdx, EthSwt_PortIdxType PortIdx, EthSwt_PortStatsType* StatsPtr):获取端口统计。

7.7 半静态自动配置

Std_ReturnType EthSwt_AutoConfigPort(uint8 SwtIdx, EthSwt_PortIdxType PortIdx):自动配置端口。

7.8 回调

void EthSwt_PortLinkStateChg(uint8 SwtIdx, EthSwt_PortIdxType PortIdx, EthTrcv_LinkStateType LinkState):端口链路状态变化。

8 配置

EthSwt 配置类:

9 错误处理

9.1 开发错误

ETHSWT_E_UNINIT:模块未初始化。
ETHSWT_E_PARAM_POINTER:参数指针为空。
ETHSWT_E_PARAM:参数无效。

9.2 运行时错误

ETHSWT_E_BUSY:模块忙。

9.3 扩展生产错误

ETHSWT_E_HW_FAILURE:硬件访问失败。

ETHSWT_E_MIRROR_ACTIVE:镜像已激活(无法配置)。


校对记录

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