MCAL - ADC 配置介绍
MCAL - ADC 配置介绍
作者:AR-CP 嵌研
1.ADC 模块功能介绍
在 AUTOSAR 架构 中,MCAL(Microcontroller Abstraction Layer,微控制器抽象层) 的 ADC 模块(通常称为 Adc 模块)负责对微控制器内部的模数转换器(Analog-to-Digital Converter, ADC)进行底层驱动控制。它为上层软件(如 BSW、RTE 和应用层)提供统一的接口,以实现模拟信号到数字信号的安全、可靠和高效采集。
1.1 基本功能概述
MCAL 中的 ADC 模块主要实现以下核心功能:
1.2 关键特性详解
(1)ADC 分组(Adc Group)管理
1.允许将多个 ADC 通道组织成“组”进行统一控制。
2.每个组可以独立配置:
- 访问模式(ADC_ACCESS_MODE_SINGLE / ADC_ACCESS_MODE_STREAMING)
- 采样时间
- 分辨率(8/10/12 bit 等)
- 触发源(软件/硬件)
(2)访问模式(Access Mode)
- ADC_ACCESS_MODE_SINGLE:单次转换:启动后只执行一次转换,完成后进入空闲状态。
- ADC_ACCESS_MODE_STREAMING:流式转换:持续循环采样,结果存入缓冲区,直到被停止。
(3)触发机制(Trigger Mechanism)
- 软件触发(Software Trigger):由调用 Adc_StartGroupConversion() 显式启动。
- 硬件触发(Hardware Trigger):通过定时器、PWM 边沿或其他外设事件自动触发,适合周期性采集。
(4)结果获取方式
- 轮询方式:调用 Adc_GetGroupStatus() 查询是否完成。
- 中断方式:转换完成后通过 ISR 回调通知。
- DMA 方式(推荐用于 Streaming):自动将结果写入内存,减少 CPU 负载。
2.EB配置介绍
2.1 MCU配置
需要配置ADC的时钟Clock:160Mhz
2.2 ADC配置
配置ADC模块,选择ADC时钟,勾选需要的API,主要勾选三个API,启动停止转换,通知和启动校准。
配置采样时间10ms
配置ADC硬件单元,general中选择哪一个adc,例如:AN17
添加ADC的时钟源
选择分频系数:Adc时钟源上时160M,这里选择7,adc频率为:160/(7+1) = 20M
配置内核输入类:采样时间可以配置为10ms
配置ADC通道
配置ADC Group
配置访问模式:每次读取一组/多组,触发模式选择:软件触发
配置ADC通知回调函数
给Adc Group分配通道
对Group分配结果寄存器
2.3 IRQ中断配置
ADC的中断配置
配置ADC中断
