AUTOSAR_SWS_ADCDriver 中文翻译

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

本翻译覆盖原文档 1-129 页正文,约 2.17 MB / 129 页。
原文为软件规范(SWS),定义模数转换器(ADC)驱动模块的 API 与配置——含 18 个 API 函数(含启用/禁用硬件触发、启用/禁用组通知、设置/获取电源状态、电源状态转换管理器等)+ 多个开发错误 + 多个 SWS_Adc_NNNNN 规范项。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、API 函数、错误分类、配置参数。


1 引言与功能概述(Introduction and functional overview)

本规约规约 AUTOSAR 基础软件模块 ADC 驱动(Analog-to-Digital Converter Driver, ADC)的功能、API 与配置。ADC 驱动位于微控制器抽象层(MCAL),初始化并控制内部 ADC 硬件单元。

ADC 驱动提供以下服务:

2 缩略语与缩写(Acronyms and abbreviations)

缩略语描述
ADCAnalog-to-Digital Converter(模数转换器)
ADC HW UnitADC 硬件单元(一个或多个通道)
Channel Group通道组(一组 ADC 通道)
Channel通道(单个 ADC 输入)
Conversion转换(一次模数转换)
One-Shot单次模式(转换一次后停止)
Continuous连续模式(连续转换)
Linear Access线性访问(结果存储在固定缓冲区)
Streaming Access流访问(连续覆盖结果缓冲区)
HW TriggerHardware Trigger(硬件触发)
SW TriggerSoftware Trigger(软件触发)
DEMDiagnostic Event Manager(诊断事件管理器)
DETDefault Error Tracer(默认错误追踪器)

3 相关文档(Related documentation)

4 约束与假设(Constraints and assumptions)

ADC 驱动为基于硬件的 MCAL 驱动。硬件触发、电源状态管理、流访问等可选功能依赖硬件支持。

5 与其他模块的依赖(Dependencies to other modules)

ADC 驱动依赖 EcuM(资源管理)、DEM(错误报告)、DET(开发错误追踪)、OS(中断管理)、Port(引脚配置)。

6 需求可追溯性(Requirements traceability)

ADC 驱动满足 SRS_Adc_NNNNN 中的 20+ 条需求以及 RS_BRF_NNNNN 顶层需求。ADC 自身的 SWS_Adc_NNNNN 规范项 ID 约 300+ 条(详细列表见原文第 6/7/8/10 章;编号范围 00061-91001)。

7 功能规范(Functional specification)

7.1 预配置(Pre-Configuration)

ADC 驱动允许以下预配置:

7.2 通用行为(General Behavior)

ADC 驱动正常操作流程:

  1. Adc_Init() 初始化 ADC 驱动;
  2. (可选)Adc_SetupResultBuffer() 设置流访问的结果缓冲区;
  3. Adc_StartGroupConversion(Group) 启动通道组转换;
  4. (硬件触发或软件触发)转换开始;
  5. 转换完成时调用通道组通知回调(如果已启用);
  6. Adc_ReadGroup(Group, DataPtr) 读取最新转换结果;
  7. Adc_StopGroupConversion(Group) 停止通道组转换;
  8. Adc_DeInit() 反初始化。

7.3 错误分类(Error classification)

7.3.1 开发错误(Development Errors)

错误码含义
ADC_E_UNINITADC 未初始化
ADC_E_ALREADY_INITIALIZEDADC 已初始化
ADC_E_PARAM_CHANNEL无效的通道
ADC_E_PARAM_GROUP无效的通道组
ADC_E_BUSY通道组忙
ADC_E_IDLE通道组空闲(不在运行)
ADC_E_NOT_DISENGAGED硬件触发未禁用
ADC_E_BUFFER_UNINIT结果缓冲区未初始化
ADC_E_PARAM_POINTER无效的指针
ADC_E_REQ_PROCESSING请求处理中

7.3.2 运行时错误(Runtime Errors)

无(ADC 不直接产生运行时错误)。

7.3.3 瞬态故障(Transient Faults)

无。

7.3.4 生产错误(Production Errors)

无(ADC 不直接产生生产错误)。

7.3.5 扩展生产错误(Extended Production Errors)

无。

8 API 规范(API specification)

8.1 导入类型(Imported types)

8.2 类型定义(Type Definitions)

类型描述
Adc_ConfigTypeADC 抽象配置类型
Adc_ChannelType通道 ID
Adc_GroupType通道组 ID
Adc_ValueTypeADC 结果值类型(uint8/16)
Adc_GroupConvModeType转换模式枚举(ADC_CONV_MODE_ONESHOT / CONTINUOUS)
Adc_GroupAccessModeType访问模式枚举(ADC_ACCESS_MODE_SINGLE / STREAMING)
Adc_GroupStatusType组状态枚举(ADC_IDLE / BUSY / COMPLETED / STREAM_COMPLETED)
Adc_PowerStateType电源状态枚举(FULL_POWER / LOW_POWER)

8.3 函数定义(Function definitions)

API签名功能
Adc_Initvoid Adc_Init(const Adc_ConfigType* ConfigPtr)初始化 ADC 驱动
Adc_DeInitvoid Adc_DeInit(void)反初始化 ADC 驱动
Adc_SetupResultBufferStd_ReturnType Adc_SetupResultBuffer(Adc_GroupType Group, Adc_ValueType* DataBufferPtr, Adc_StreamNumSampleType StreamLength)设置流访问结果缓冲区
Adc_StartGroupConversionvoid Adc_StartGroupConversion(Adc_GroupType Group)启动通道组转换
Adc_StopGroupConversionvoid Adc_StopGroupConversion(Adc_GroupType Group)停止通道组转换
Adc_ReadGroupStd_ReturnType Adc_ReadGroup(Adc_GroupType Group, Adc_ValueType* DataBufferPtr)读取最新转换结果
Adc_EnableHardwareTriggervoid Adc_EnableHardwareTrigger(Adc_GroupType Group)启用硬件触发
Adc_DisableHardwareTriggervoid Adc_DisableHardwareTrigger(Adc_GroupType Group)禁用硬件触发
Adc_EnableGroupNotificationvoid Adc_EnableGroupNotification(Adc_GroupType Group)启用组通知
Adc_DisableGroupNotificationvoid Adc_DisableGroupNotification(Adc_GroupType Group)禁用组通知
Adc_GetGroupStatusAdc_GroupStatusType Adc_GetGroupStatus(Adc_GroupType Group)查询组状态
Adc_GetStreamLastPointerAdc_StreamNumSampleType Adc_GetStreamLastPointer(Adc_GroupType Group, Adc_ValueType** PtrToSamplePtr)获取流访问最后指针
Adc_GetVersionInfovoid Adc_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息
Adc_SetPowerStateStd_ReturnType Adc_SetPowerState(Adc_PowerStateType PowerState)设置电源状态
Adc_GetCurrentPowerStateStd_ReturnType Adc_GetCurrentPowerState(Adc_PowerStateType* CurrentPowerState)获取当前电源状态
Adc_GetTargetPowerStateStd_ReturnType Adc_GetTargetPowerState(Adc_PowerStateType* TargetPowerState)获取目标电源状态
Adc_PreparePowerStateStd_ReturnType Adc_PreparePowerState(Adc_PowerStateType PowerState)准备电源状态转换
Adc_Main_PowerTransitionManagervoid Adc_Main_PowerTransitionManager(void)电源状态转换管理器(调度函数)

共 18 个 API 函数。

8.4 调度函数(Scheduled functions)

API签名功能
Adc_Main_PowerTransitionManagervoid Adc_Main_PowerTransitionManager(void)主函数(处理电源状态转换)

8.5 预期接口(Expected Interfaces)

9 序列图(Sequence diagrams)

  1. 软件触发转换:应用 → Adc_StartGroupConversion() → ADC 转换 → Adc_ReadGroup() 读取;
  2. 硬件触发转换:硬件事件 → ADC 自动启动 → 转换完成 → 通知回调;
  3. 流访问:应用 → Adc_SetupResultBuffer()Adc_StartGroupConversion() → 持续写入缓冲区 → Adc_GetStreamLastPointer()
  4. 电源状态切换:应用 → Adc_PreparePowerState()Adc_Main_PowerTransitionManager()Adc_SetPowerState()

10 配置规范(Configuration specification)

10.1 容器与配置参数(Containers and configuration parameters)

容器描述
Adc根容器(开发错误检测、版本 API、多核支持等开关)
AdcGeneral通用配置(HW 单元数、通道数、优先级机制等)
AdcHwUnitADC HW 单元(时钟、参考电压、分辨率)
AdcChannel通道(采样时间、HW 单元引用)
AdcGroup通道组(通道列表、转换模式、访问模式、触发源、通知回调)
AdcGroupDef组默认值
AdcPowerStateConfig电源状态配置
AdcPublishedInformation发布信息

共 8 个 ECUC 容器(加 2 个发布容器),含 40+ 配置参数。

10.2 发布信息(Published Information)

发布信息包括 ADC 模块版本、配置变体、HW 单元数、通道数、组数等。


📋 校对记录

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