AUTOSAR MCAL 配置说明 · 模块④ Adc
原始 Flomo:https://v.flomoapp.com/mine/?memo_id=MjU1NzIxMDU1
AUTOSAR MCAL 配置说明 · 模块④ Adc
Adc 是 ADC(模数转换)驱动模块,把模拟信号转成数字量。管采样通道、转换组、触发源、分辨率、采样时间、结果读取。
核心职责:配置 ADC 通道与转换组、启动转换、读取转换结果。
关键配置项:
- AdcChannelConfiguration:通道,映射到具体 ADC 输入通道。
- AdcGroup:转换组,同一次触发采样的多个通道归一组。
- AdcGroupConversionMode:转换模式(单次 / 连续 / 组转换)。
- AdcGroupTriggerSource:触发源(软件 / 硬件触发,如定时器触发)。
- AdcStreamingNumSamples:流式采样次数(连续转换)。
- AdcResolution:分辨率(如 8 / 10 / 12 / 16 bit)。
- AdcConversionTime / AdcSampleTime:采样时间、转换时间。
- AdcResultAlignment:结果对齐(左 / 右对齐)。
- AdcGroupPriority:组优先级。
- AdcReadingGroup:读取方式(组读取 / 通道读取)。
常用 API:Adc_SetupResultBuffer、Adc_StartGroupConversion、Adc_ReadGroup、Adc_GetGroupStatus。
配置思路:
- 确定哪些通道要采样,按触发时机分组(同一次触发的通道放一组)。
- 配触发源(软件触发 / 定时器硬触发)。
- 配分辨率、采样时间、转换模式。
- 配结果缓冲和结果对齐,读取结果。
常见坑:
- 采样时间配太短 → 高阻抗源采样不准,需要更长采样时间。
- 触发源配错 → 组转换不启动。
- 分辨率 / 对齐配错 → 读到的数值范围不对。
- 多组同时转换 → 要配优先级,注意资源冲突。
- 结果缓冲没配 / 没读 → 结果丢失或读到旧值。
- ADC 时钟没在 Mcu 里配好 → ADC 根本不工作。
📎 上一个(Dio):https://v.flomoapp.com/mine/?memo_id=MjU1NzIxMDA2
📎 总览:https://v.flomoapp.com/mine/?memo_id=MjU1NzIwNjEy
📎 专题入口:https://v.flomoapp.com/mine/?memo_id=MjU1NzIwMTcx