AUTOSAR_SWS_PortDriver 中文翻译

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

本翻译覆盖原文档 1-42 页正文,约 960 KB / 42 页。
原文为软件规范(SWS),定义 PORT(端口/引脚)驱动模块的 API 与配置——含 5 个 API 函数 + 多个开发错误 + 多个 SWS_Port_NNNNN 规范项。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、API 函数、错误分类、配置参数。


1 引言与功能概述

本规约规约 AUTOSAR 基础软件模块 PORT 驱动(Port Driver)的功能、API 与配置。PORT 驱动位于微控制器抽象层(MCAL),初始化并配置整个微控制器端口/引脚的功能与方向。

2 缩略语与缩写

缩略语描述
PORTPort(端口)
MCALMicrocontroller Abstraction Layer(微控制器抽象层)
SFRSpecial Function Register(特殊功能寄存器)
Pin Direction引脚方向(输入/输出)
Pin Mode引脚模式(普通 GPIO / 备用功能 / 模拟)
Alternate Function备用功能(如 UART/SPI/ADC 等)

3 相关文档

4 约束与假设

PORT 驱动在系统启动时初始化所有引脚配置。运行时修改引脚方向/模式的能力受配置控制(部分引脚可能配置为只读)。

5 与其他模块的依赖

PORT 驱动依赖 DIO(引脚读写)、DET(开发错误追踪)、OS(多核分区)、EcuM(资源管理)。

6 需求可追溯性

PORT 驱动满足 SRS_Port_NNNNN 中的 8 条需求。SWS_Port_NNNNN 规范项 ID 约 100+ 条(编号范围 00001-91001)。

7 功能规范

7.1 预配置

PORT 驱动允许以下预配置:

7.2 通用行为

PORT 驱动初始化时配置所有引脚;运行时不修改引脚(除非显式调用 API)。

7.3 错误分类

7.3.1 开发错误(Development Errors)

错误码含义
PORT_E_UNINITPORT 未初始化
PORT_E_ALREADY_INITIALIZED已初始化
PORT_E_PARAM_PIN无效的引脚
PORT_E_PARAM_DIRECTION无效的方向
PORT_E_PARAM_INVALID_MODE无效的模式
PORT_E_DIRECTION_UNCHANGEABLE引脚方向不可修改
PORT_E_MODE_UNCHANGEABLE引脚模式不可修改

7.3.2 运行时错误

无。

7.3.3 瞬态故障

无。

7.3.4 生产错误

无。

7.3.5 扩展生产错误

无。

8 API 规范

8.1 导入类型

8.2 类型定义

类型描述
Port_ConfigTypePORT 抽象配置类型
Port_PinType引脚 ID(uint8/16/32)
Port_PinDirectionType方向枚举(PORT_PIN_IN / PORT_PIN_OUT / PORT_PIN_HI_Z)
Port_PinModeType模式枚举(普通 GPIO / 各种备用功能 / 模拟)
Port_PinLevelType引脚电平(PORT_PIN_LEVEL_LOW/HIGH)

8.3 函数定义

API签名功能
Port_Initvoid Port_Init(const Port_ConfigType* ConfigPtr)初始化 PORT(配置所有引脚)
Port_SetPinDirectionvoid Port_SetPinDirection(Port_PinType Pin, Port_PinDirectionType Direction)设置引脚方向
Port_RefreshPortDirectionvoid Port_RefreshPortDirection(void)刷新所有引脚方向为配置值
Port_GetVersionInfovoid Port_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息
Port_SetPinModevoid Port_SetPinMode(Port_PinType Pin, Port_PinModeType Mode)设置引脚模式

共 5 个 API 函数。

9 序列图

  1. 初始化:EcuM → Port_Init(ConfigPtr) → 配置所有引脚 SFR;
  2. 修改方向:应用 → Port_SetPinDirection(Pin, Direction) → 检查引脚是否可修改 → 修改 SFR;
  3. 刷新方向:应用 → Port_RefreshPortDirection() → 恢复所有引脚方向为配置值;
  4. 修改模式:应用 → Port_SetPinMode(Pin, Mode) → 修改 SFR。

10 配置规范

10.1 容器与配置参数

容器描述
Port根容器(开发错误检测、版本 API、方向修改支持、模式修改支持、多核支持)
PortGeneral通用配置(引脚数)
PortContainer引脚容器(每引脚方向、模式、初始电平、可修改标志)
PortPin引脚定义
PortPublishedInformation发布信息

共 5 个 ECUC 容器,含 15+ 配置参数。

10.2 发布信息

发布信息包括 PORT 模块版本、配置变体、引脚数等。


📋 校对记录

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