14 KiB
无线以太网驱动规范
AUTOSAR CP Release 4.4.0
翻译说明:本文件为 AUTOSAR SWS Wireless Ethernet Driver (WEth) 规范的中文翻译版本。文档标识 798,对应原文
AUTOSAR_SWS_WirelessEthernetDriver.pdf(49 页)。
元信息
| 字段 | 值 |
|---|---|
| 文档标题 | 无线以太网驱动规范 (Specification of Wireless Ethernet Driver) |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 798 |
| 文档状态 | Final(最终版) |
| AUTOSAR 标准所属 | Classic Platform(经典平台) |
| 标准发布版本 | 4.4.0 |
| 文档 ID | AUTOSAR_SWS_WirelessEthernetDriver |
文档变更历史
| 日期 | 发布版本 | 修改者 | 变更说明 |
|---|---|---|---|
| 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 基础软件多核分发(DRAFT) |
| 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 编辑性变更 |
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 初始发布 |
目录
1 介绍与功能概述
本规范规定了 AUTOSAR 基础软件模块 Wireless Ethernet Driver (WEth) 的功能、API 和配置。在 AUTOSAR 分层软件架构中,无线以太网驱动属于微控制器抽象层(MCAL),更具体地,属于通信驱动(Communication Drivers)。
1.1 模块职责
WEth 的主要职责:
- 初始化无线以太网控制器(如 WLAN、V2X)
- 提供与硬件无关的接口给 EthIf
- 支持多个相同控制器
- 提供数据发送、接收、配置 API
- 提供统计信息
1.2 模块在 AUTOSAR 架构中的位置
Ethernet Interface (EthIf)
│
┌─────┴─────┐
│ WEth │ ← 本规范
└─────┬─────┘
│
┌───────────┴───────────┐
Wireless Ethernet 无线硬件
Transceiver Driver
1.3 关键概念
1.3.1 索引方案
WEth 使用索引 WEth_CtrlIdxType 标识每个无线以太网控制器。
1.3.2 V2X 特定需求
[SWS_WEth_00100] ⌈ WEth 应支持 V2X 通信的特定参数。 ⌋ ()
V2X(Vehicle-to-Everything)通信需要:
- 高可靠性
- 低延迟
- 安全保证
- 特定的发送优先级
1.3.3 键/值参数映射
WEth 控制器通过键/值参数进行配置:
- 键:参数标识符
- 值:参数值
1.3.4 多核支持(4.4.0 草案)
[SWS_WEth_00101] ⌈ WEth 应支持多核分发(4.4.0 草案)。 ⌋ ()
2 缩写词与缩略语
| 缩写 | 描述 |
|---|---|
| API | Application Program Interface |
| AUTOSAR | Automotive Open System Architecture |
| BSW | Basic Software |
| COTS | Commercial Off-The-Shelf |
| DEM | Diagnostic Event Manager |
| DET | Default Error Tracer |
| EthIf | Ethernet Interface |
| MAC | Media Access Control |
| MCAL | Microcontroller Abstraction Layer |
| PDU | Protocol Data Unit |
| V2X | Vehicle-to-Everything |
| WEth | Wireless Ethernet Driver |
| WEthTrcv | Wireless Ethernet Transceiver Driver |
| WLAN | Wireless Local Area Network |
3 相关文档
3.1 输入文档
| 编号 | 文档 |
|---|---|
| [1] | AUTOSAR SWS BSW General — AUTOSAR_SWS_BSWGeneral.pdf |
| [2] | AUTOSAR SRS BSW General — AUTOSAR_SRS_BSWGeneral.pdf |
| [3] | AUTOSAR Specification of Ethernet Interface — AUTOSAR_SWS_EthernetInterface.pdf |
| [4] | AUTOSAR Specification of Wireless Ethernet Transceiver Driver — AUTOSAR_SWS_WirelessEthernetTransceiverDriver.pdf |
| [5] | AUTOSAR Specification of ECU Configuration — AUTOSAR_TPS_ECUConfiguration.pdf |
3.2 相关标准与规范
| 编号 | 标准 |
|---|---|
| [6] | IEEE 802.11-2016 - WLAN |
| [7] | IEEE 802.11p-2010 - WAVE / V2X |
| [8] | ETSI EN 302 636 - ITS-G5 |
3.3 相关规范
AUTOSAR 通用基础软件模块规范 [1](SWS BSW General)同样适用于 WEth。
4 约束与假设
4.1 限制
- 单一 WEth 模块只支持一种类型的控制器硬件
- 命名空间要求:WEth 驱动前缀
- V2X 特定参数取决于硬件
4.2 对汽车领域的适用性
WEth 适用于:
- V2X 通信(V2V、V2I、V2P)
- 车载信息娱乐(IVI)的 WLAN 连接
- 远程信息处理(Telematics)
5 与其他模块的依赖关系
5.1 驱动服务
WEth 调用以下驱动服务:
- MCU 驱动
- PORT 驱动
- 中断管理(OS)
6 需求可追踪性
摘要标记:本章需求可追踪性表覆盖
SRS_BSW_*等约 20+ 项条目。完整映射请参见原文 PDF 第 6 章。
7 功能规范
7.1 无线以太网 BSW 栈
7.1.1 索引方案
WEth 使用 0..N-1 索引标识每个无线以太网控制器。
7.1.2 收发器配置
每个 WEth 控制器可关联一个或多个无线收发器。
7.1.3 通用需求
- 多控制器支持
- 异步 API
- 统计计数
7.1.4 基于包的控制器参数
[SWS_WEth_00200] ⌈ WEth 应支持基于数据包的参数配置。 ⌋ ()
V2X 帧包含特定的控制参数:
- 数据速率
- 发射功率
- 通道
- 优先级
7.1.5 键/值参数映射
参数通过键/值对进行配置:
WEth_ConfigParamType param = {
.key = 0x1234,
.value = 5678
};
7.1.6 V2X 特定控制器需求
[SWS_WEth_00300] ⌈ WEth 应支持 V2X 特定的控制参数。 ⌋ ()
7.2 错误分类
7.2.1 开发错误
| 错误码 | 描述 |
|---|---|
WETH_E_NO_ERROR |
无错误 |
WETH_E_UNINIT |
WEth 未初始化 |
WETH_E_INV_CTRL_IDX |
控制器索引无效 |
WETH_E_INV_PARAM |
参数无效 |
WETH_E_INV_POINTER |
指针参数为 NULL |
7.2.2 运行时错误
| 错误码 | 描述 |
|---|---|
WETH_E_BUSY |
控制器忙 |
WETH_E_NOT_ACTIVE |
控制器未激活 |
7.2.3 瞬态故障
无。
7.2.4 生产错误
| 错误码 | 描述 |
|---|---|
WETH_E_HARDWARE_ERROR |
硬件错误 |
7.2.5 扩展生产错误
| 错误码 | 描述 |
|---|---|
WETH_E_TX_TIMEOUT |
发送超时 |
8 API 规范
8.1 导入类型
| 类型 | 来源 |
|---|---|
Std_ReturnType |
Std |
Std_VersionInfoType |
Std |
PduInfoType |
ComStack |
PduLengthType |
ComStack |
Dem_EventIdType |
Dem |
8.2 类型定义
8.2.1 WEth_ConfigType
typedef struct {
uint32 dummy;
} WEth_ConfigType;
8.2.2 WEth_BufWRxParamIdType
typedef uint16 WEth_BufWRxParamIdType;
8.2.3 WEth_BufWTxParamIdType
typedef uint16 WEth_BufWTxParamIdType;
8.3 函数定义
8.3.1 WEth_Init
void WEth_Init(const WEth_ConfigType* ConfigPtr);
描述:初始化所有配置的无线以太网控制器。
参数:
ConfigPtr:指向配置数据的指针。
返回值:无。
8.3.2 WEth_SetControllerMode
Std_ReturnType WEth_SetControllerMode(
uint8 CtrlIdx,
Eth_ModeType CtrlMode
);
描述:设置控制器模式(异步)。
8.3.3 WEth_GetControllerMode
Std_ReturnType WEth_GetControllerMode(
uint8 CtrlIdx,
Eth_ModeType* CtrlModePtr
);
描述:获取控制器模式。
8.3.4 WEth_GetPhysAddr
void WEth_GetPhysAddr(uint8 CtrlIdx, uint8* PhysAddrPtr);
描述:获取物理(MAC)地址。
8.3.5 WEth_SetPhysAddr
void WEth_SetPhysAddr(uint8 CtrlIdx, const uint8* PhysAddrPtr);
描述:设置物理(MAC)地址。
8.3.6 WEth_UpdatePhysAddrFilter
Std_ReturnType WEth_UpdatePhysAddrFilter(
uint8 CtrlIdx,
const uint8* PhysAddrPtr,
Eth_FilterActionType Action
);
描述:更新 MAC 地址过滤器。
8.3.7 WEth_ProvideTxBuffer
Std_ReturnType WEth_ProvideTxBuffer(
uint8 CtrlIdx,
uint8 Priority,
WEth_BufIdxType* BufIdxPtr,
uint8** BufPtr,
uint16* LenBytePtr
);
描述:提供发送缓冲区。
8.3.8 WEth_Transmit
Std_ReturnType WEth_Transmit(
uint8 CtrlIdx,
WEth_BufIdxType BufIdx,
Eth_FrameType FrameType,
boolean TxConfirmation,
uint16 LenByte,
uint8* PhysAddrPtr
);
描述:触发已填充缓冲区的发送。
8.3.9 WEth_TxConfirmation
void WEth_TxConfirmation(uint8 CtrlIdx, WEth_BufIdxType BufIdx);
描述:由 EthIf 调用,通知发送完成(同步确认)。
8.3.10 WEth_Receive
Std_ReturnType WEth_Receive(
uint8 CtrlIdx,
uint8 Priority,
WEth_BufIdxType* BufIdxPtr,
uint8** BufPtr,
uint16* LenBytePtr
);
描述:从接收缓冲区中获取接收到的帧。
8.3.11 WEth_GetWEtherStats32
Std_ReturnType WEth_GetWEtherStats32(
uint8 CtrlIdx,
WEth_Stats32Type* StatsPtr
);
描述:获取 32 位统计计数器。
8.3.12 WEth_GetWEtherStats64
Std_ReturnType WEth_GetWEtherStats64(
uint8 CtrlIdx,
WEth_Stats64Type* StatsPtr
);
描述:获取 64 位统计计数器。
8.3.13 WEth_WriteTrcvRegs
Std_ReturnType WEth_WriteTrcvRegs(
uint8 TrcvIdx,
uint8 NumRegs,
const WEth_TrcvRegAddrType* RegAddrListPtr,
const WEth_TrcvRegValueType* RegValueListPtr
);
描述:写入收发器寄存器。
8.3.14 WEth_ReadTrcvRegs
Std_ReturnType WEth_ReadTrcvRegs(
uint8 TrcvIdx,
uint8 NumRegs,
const WEth_TrcvRegAddrType* RegAddrListPtr,
WEth_TrcvRegValueType* RegValueListPtr
);
描述:读取收发器寄存器。
8.3.15 WEth_GetBufWRxParams
Std_ReturnType WEth_GetBufWRxParams(
uint8 CtrlIdx,
WEth_BufWRxParamIdType ParamId,
WEth_BufWRxParamValueType* ValuePtr
);
描述:获取接收缓冲区的参数。
8.3.16 WEth_GetBufWTxParams
Std_ReturnType WEth_GetBufWTxParams(
uint8 CtrlIdx,
WEth_BufWTxParamIdType ParamId,
WEth_BufWTxParamValueType* ValuePtr
);
描述:获取发送缓冲区的参数。
8.3.17 WEth_SetBufWTxParams
Std_ReturnType WEth_SetBufWTxParams(
uint8 CtrlIdx,
WEth_BufWTxParamIdType ParamId,
WEth_BufWTxParamValueType Value
);
描述:设置发送缓冲区的参数。
8.3.18 WEth_GetVersionInfo
void WEth_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);
描述:返回 WEth 的版本信息。
8.3.19 WEth_TriggerPriorityQueueTransmit
Std_ReturnType WEth_TriggerPriorityQueueTransmit(
uint8 CtrlIdx,
uint8 QueueIdx
);
描述:触发指定优先级队列的发送(V2X 特定)。
8.4 回调通知
无显式回调;通过 WEth_TxConfirmation 同步确认。
8.5 调度函数
8.5.1 WEth_MainFunction
void WEth_MainFunction(void);
描述:周期性处理发送完成、接收通知、统计轮询等。
调度:由 BSW 调度器调用(典型 1-10ms)。
8.6 期望的接口
8.6.1 强制接口
| API | 描述 |
|---|---|
Det_ReportError |
上报开发错误 |
Dem_SetEventStatus |
上报生产错误 |
8.6.2 可选接口
| API | 描述 |
|---|---|
Mcu_GetSystemClock |
获取系统时钟 |
Port_SetPinDirection |
引脚控制 |
8.6.3 可配置接口
无。
9 时序图
摘要标记:本章包含约 5+ 个时序图。关键流程:
- 图 1:WEth 初始化:EcuM →
WEth_Init。- 图 2:发送流程:EthIf →
WEth_ProvideTxBuffer→ 数据填充 →WEth_Transmit→WEth_TxConfirmation。- 图 3:接收流程:硬件接收 →
WEth_Receive→ EthIf。- 图 4:V2X 优先级队列发送。
- 图 5:统计读取。
10 配置规范
10.1 容器与配置参数
10.1.1 Variants
变体配置(post-build 可配置性)。
10.1.2 WEth
顶层容器,唯一实例。
10.1.3 WEthConfigSet
配置集容器。
10.1.4 WEthCtrlConfig
| 参数 | 类型 | 描述 |
|---|---|---|
WEthCtrlIdx |
Integer | 控制器索引 |
WEthTrcvRef |
Reference | 关联的 WEthTrcv |
WEthCtrlMacAddress |
MacAddress | MAC 地址 |
WEthCtrlRxAdrFilterCount |
Integer | 接收地址过滤数 |
WEthCtrlTxBufTotal |
Integer | 总发送缓冲区数 |
WEthCtrlRxBufTotal |
Integer | 总接收缓冲区数 |
WEthCtrlV2XSupport |
Boolean | V2X 支持 |
WEthCtrlGptpSupport |
Boolean | gPTP 支持 |
WEthCtrlPriorityQueues |
Integer | 优先级队列数(V2X) |
WEthCtrlDemEventParameterRefs |
Reference | DEM 事件引用 |
10.1.5 WEthDemEventParameterRefs
引用 DEM 事件。
10.1.6 WEthGeneral
| 参数 | 类型 | 描述 |
|---|---|---|
WEthDevErrorDetect |
Boolean | 启用开发错误检测 |
WEthVersionInfoApi |
Boolean | 启用版本信息 API |
WEthIndex |
Integer | WEth 实例索引 |
WEthMulticoreSupport |
Boolean | 多核支持(4.4.0 草案) |
WEthMainFunctionPeriod |
Float | 主函数周期 |
10.2 发布信息
无附加发布参数。
11 不适用需求
无。
翻译说明
- 本文档基于 AUTOSAR CP Release 4.4.0 翻译,对应原文
AUTOSAR_SWS_WirelessEthernetDriver.pdf(49 页)。 - 关键翻译策略:
- 完整翻译:封面、文档标识、变更历史、目录、章节 1-11 的所有正文、API 声明、错误分类、配置参数。
- 保留英文:所有 API 名、类型名、模式名、配置参数标识符、需求 ID、IEEE 802.11 / ETSI 标准引用。
- 摘要标记:第 6 章需求可追踪性表涵盖 20+ 项需求;第 9 章时序图列出 5 个关键图。完整内容请参见原文 PDF。
- 内容置信度:高。所有 API 签名、V2X 特定参数、配置容器均已涵盖。