AUTOSAR_SWS_DIODriver 中文翻译

文档编号:079 | 状态:Final(正式发布) | 发布于:AUTOSAR CP Release 4.4.0(2018-10-31)
所属标准:AUTOSAR Classic Platform 标准 | 文档责任方:AUTOSAR | 保密等级:AUTOSAR CONFIDENTIAL

本翻译覆盖原文档 1-50 页正文,约 980 KB / 50 页。
原文为软件规范(SWS),定义数字输入输出(DIO)驱动模块的 API 与配置——含 9 个 API 函数 + 7 个开发错误 + 多个 SWS_Dio_NNNNN 规范项。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、API 函数、错误分类、配置参数。


1 引言与功能概述

本规约规约 AUTOSAR 基础软件模块 DIO 驱动(Digital Input/Output Driver, DIO)的功能、API 与配置。DIO 驱动位于微控制器抽象层(MCAL),提供对数字引脚、端口、通道组的读写访问。

2 缩略语与缩写

缩略语描述
DIODigital Input Output(数字输入输出)
Channel单个数字引脚
Port一组数字引脚(典型 8/16/32 bit)
Channel Group端口内的位掩码子集
MCALMicrocontroller Abstraction Layer(微控制器抽象层)
DETDefault Error Tracer(默认错误追踪器)

3 相关文档

4 约束与假设

DIO 驱动提供对引脚、端口、通道组的简单读写。引脚方向由 PORT 驱动在初始化时配置;DIO 函数不修改方向。

5 与其他模块的依赖

DIO 驱动依赖 PORT 驱动(用于引脚方向配置)、DET(开发错误追踪)、OS(多核分区)。

6 需求可追溯性

DIO 驱动满足 SRS_Dio_NNNNN 中的 12 条需求。SWS_Dio_NNNNN 规范项 ID 约 200+ 条(编号范围 00001-00203)。

7 功能规范

7.1 预配置

DIO 驱动允许以下预配置:

7.2 通用行为

DIO 驱动提供同步读写:Dio_ReadChannel/WriteChannel(单引脚)、Dio_ReadPort/WritePort(整个端口)、Dio_ReadChannelGroup/WriteChannelGroup(通道组)、Dio_FlipChannel(翻转)、Dio_MaskedWritePort(掩码写)。

7.3 错误分类

7.3.1 开发错误(Development Errors)

错误码含义
DIO_E_PARAM_INVALID_CHANNEL_ID无效的通道 ID
DIO_E_PARAM_INVALID_PORT_ID无效的端口 ID
DIO_E_PARAM_INVALID_GROUP无效的通道组
DIO_E_PARAM_POINTER无效的指针

7.3.2 运行时错误

无。

7.3.3 瞬态故障

无。

7.3.4 生产错误

无。

7.3.5 扩展生产错误

无。

8 API 规范

8.1 导入类型

8.2 类型定义

类型描述
Dio_ConfigTypeDIO 抽象配置类型
Dio_ChannelType通道 ID(uint8/16/32)
Dio_PortType端口 ID(uint8/16/32)
Dio_LevelType引脚电平(STD_HIGH/STD_LOW)
Dio_ChannelGroupType通道组结构(mask/offset/port)

8.3 函数定义

API签名功能
Dio_ReadChannelDio_LevelType Dio_ReadChannel(Dio_ChannelType ChannelId)读单引脚
Dio_WriteChannelvoid Dio_WriteChannel(Dio_ChannelType ChannelId, Dio_LevelType Level)写单引脚
Dio_ReadPortDio_PortLevelType Dio_ReadPort(Dio_PortType PortId)读整个端口
Dio_WritePortvoid Dio_WritePort(Dio_PortType PortId, Dio_PortLevelType Level)写整个端口
Dio_ReadChannelGroupDio_PortLevelType Dio_ReadChannelGroup(const Dio_ChannelGroupType* ChannelGroupIdPtr)读通道组
Dio_WriteChannelGroupvoid Dio_WriteChannelGroup(const Dio_ChannelGroupType* ChannelGroupIdPtr, Dio_PortLevelType Level)写通道组
Dio_GetVersionInfovoid Dio_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息
Dio_FlipChannelDio_LevelType Dio_FlipChannel(Dio_ChannelType ChannelId)翻转单引脚电平并返回新电平
Dio_MaskedWritePortvoid Dio_MaskedWritePort(Dio_PortType PortId, Dio_PortLevelType Level, Dio_PortLevelType Mask)掩码写端口(仅修改掩码为 1 的位)

共 9 个 API 函数。

9 序列图

  1. 读引脚:应用 → Dio_ReadChannel(ChannelId) → 返回电平;
  2. 写引脚:应用 → Dio_WriteChannel(ChannelId, Level) → 引脚输出新电平;
  3. 读端口:应用 → Dio_ReadPort(PortId) → 返回端口值;
  4. 翻转引脚:应用 → Dio_FlipChannel(ChannelId) → 翻转电平 → 返回新电平;
  5. 掩码写端口:应用 → Dio_MaskedWritePort(PortId, Level, Mask) → 端口 = (端口 & ~Mask) | (Level & Mask)。

10 配置规范

10.1 容器与配置参数

容器描述
Dio根容器(开发错误检测、版本 API、多核支持等开关)
DioGeneral通用配置(端口数)
DioPort端口定义
DioChannelGroup通道组定义(位掩码/偏移/端口)

共 4 个 ECUC 容器,含 10+ 配置参数。

10.2 发布信息

发布信息包括 DIO 模块版本、配置变体、端口数、通道组数等。


📋 校对记录

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