AUTOSAR_SWS_OCUDriver 中文翻译

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

本翻译覆盖原文档 1-72 页正文,约 1.58 MB / 72 页。
原文为软件规范(SWS),定义输出比较单元(OCU)驱动模块的 API 与配置——含 13 个 API 函数(含 1 个通知回调模板)+ 多个开发错误 + 多个 SWS_Ocu_NNNNN 规范项。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、API 函数、错误分类、配置参数。


1 引言与功能概述

本规约规约 AUTOSAR 基础软件模块 OCU 驱动(Output Compare Unit Driver, OCU)的功能、API 与配置。OCU 驱动位于微控制器抽象层(MCAL),控制输出比较单元的比较事件以生成精确时序输出。

2 缩略语与缩写

缩略语描述
OCUOutput Compare Unit(输出比较单元)
GPTGeneral Purpose Timer(通用定时器)
ICUInput Capture Unit(输入捕获单元)
MCALMicrocontroller Abstraction Layer(微控制器抽象层)
Threshold阈值(比较值)
Pin Action引脚动作(比较匹配时执行:翻转/置位/清零)
Pin State引脚状态(高/低)

3 相关文档

4 约束与假设

OCU 驱动依赖 GPT 驱动作为定时器源。通道数与引脚动作依赖硬件支持。

5 与其他模块的依赖

OCU 驱动依赖 GPT 驱动(提供计数器源)、DET、Port(引脚配置)、EcuM(资源管理)。

6 需求可追溯性

OCU 驱动满足 SRS_Ocu_NNNNN 中的 12 条需求。SWS_Ocu_NNNNN 规范项 ID 约 200+ 条(编号范围 00001-91001)。

7 功能规范

7.1 预配置

OCU 驱动允许以下预配置:

7.2 通用行为

OCU 驱动提供:

7.3 错误分类

7.3.1 开发错误(Development Errors)

错误码含义
OCU_E_UNINITOCU 未初始化
OCU_E_ALREADY_INITIALIZED已初始化
OCU_E_PARAM_CHANNEL无效的通道
OCU_E_PARAM_VALUE无效的参数值
OCU_E_PARAM_THRESHOLD无效的阈值
OCU_E_BUSY通道忙

7.3.2 运行时错误

无。

7.3.3 瞬态故障

无。

7.3.4 生产错误

无。

7.3.5 扩展生产错误

无。

8 API 规范

8.1 导入类型

8.2 类型定义

类型描述
Ocu_ConfigTypeOCU 抽象配置类型
Ocu_ChannelType通道 ID(uint8/16/32)
Ocu_ValueType计数器/阈值值(uint16/32)
Ocu_PinStateType引脚状态枚举(OCU_HIGH / OCU_LOW / OCU_TRISTATE)
Ocu_PinActionType引脚动作枚举(OCU_SET_HIGH / OCU_SET_LOW / OCU_TOGGLE / OCU_DISABLE)

8.3 函数定义

API签名功能
Ocu_Initvoid Ocu_Init(const Ocu_ConfigType* ConfigPtr)初始化 OCU
Ocu_DeInitvoid Ocu_DeInit(void)反初始化 OCU
Ocu_StartChannelvoid Ocu_StartChannel(Ocu_ChannelType Channel)启动通道
Ocu_StopChannelvoid Ocu_StopChannel(Ocu_ChannelType Channel)停止通道
Ocu_SetPinStatevoid Ocu_SetPinState(Ocu_ChannelType Channel, Ocu_PinStateType PinState)设置引脚状态(高/低/高阻)
Ocu_SetPinActionvoid Ocu_SetPinAction(Ocu_ChannelType Channel, Ocu_PinActionType PinAction)设置引脚动作(比较匹配时)
Ocu_GetCounterOcu_ValueType Ocu_GetCounter(Ocu_ChannelType Channel)读取当前计数器值
Ocu_SetAbsoluteThresholdvoid Ocu_SetAbsoluteThreshold(Ocu_ChannelType Channel, Ocu_ValueType Value)设置绝对阈值
Ocu_SetRelativeThresholdvoid Ocu_SetRelativeThreshold(Ocu_ChannelType Channel, Ocu_ValueType Value)设置相对阈值(相对于当前计数器)
Ocu_DisableNotificationvoid Ocu_DisableNotification(Ocu_ChannelType Channel)禁用通知
Ocu_EnableNotificationvoid Ocu_EnableNotification(Ocu_ChannelType Channel)启用通知
Ocu_GetVersionInfovoid Ocu_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息
Ocu_Notification_<Channel>void Ocu_Notification_<Channel>(void)通知回调(应用实现)

共 12 个 API 函数 + 1 个通知回调模板。

9 序列图

  1. 配置阈值:应用 → Ocu_SetAbsoluteThreshold(Channel, Value)
  2. 启动通道:应用 → Ocu_StartChannel(Channel) → 计数器开始计数;
  3. 达到阈值:硬件匹配 → 引脚动作(翻转/置位/清零)→ 通知回调;
  4. 停止通道:应用 → Ocu_StopChannel(Channel)

10 配置规范

10.1 容器与配置参数

容器描述
Ocu根容器(开发错误检测、版本 API、多核支持)
OcuGeneral通用配置(通道数)
OcuChannel通道(默认状态/动作、引用 GPT 通道、通知回调)
OcuPublishedInformation发布信息

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

10.2 发布信息

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


📋 校对记录

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