打印
[MM32硬件]

MM32 MCU中ADC参考电压来源

[复制链接]
93|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaonaiweng|  楼主 | 2025-4-30 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
灵动MCU的ADC参考电压(V<sub>REF</sub>)通常有以下几种来源,具体取决于芯片型号:


参考源类型        描述
外部 V<sub>REF</sub> 引脚        单独引脚供参考电压(如 VREF+)
V<sub>DDA</sub> 电源电压        使用模拟电源作为参考电压(默认)
内部参考源(VREFINT)        固定值参考(如1.2V),用于内部测量
注意:大部分 MM32 系列不支持在 ADC 采样过程中动态修改参考源,因其通常在 ADC 初始化时一次配置,仅少数型号可能允许关停重配。

二、是否能“动态”切换 V<sub>REF</sub>?
典型限制:

参考电压源通常在 ADC 初始化时配置,并不能每次采样时随意更换;

更换参考电压通常需要关闭ADC → 重新配置参考源 → 重新启动ADC,不适合快速切换;

部分芯片甚至无软件可选 V<sub>REF</sub>,只能使用固定源(如 V<sub>DDA</sub>);

某些高端型号(如 MM32SPIN、MM32L0x)可能具备内部VREFINT切换能力,但需参考具体数据手册或参考代码。

三、应用于“多电压测量”的替代方案
在测量多个电压源,且电压幅值差异较大(如1.5V电池和24V电源)时,我们通常希望有更灵活的动态测量策略,此时可考虑以下方式:

1. 分压匹配 + 固定 V<sub>REF</sub>
使用单一稳定 V<sub>REF</sub>(如3.3V),配合每个测量通道使用不同的前端电阻分压比例,将所有电压统一压降到 ADC 线性范围。

c
复制
编辑
// 不同分压,对应不同通道
ADC1 -> 电池A(通过1:2分压)
ADC2 -> 24V(通过1:10分压)
然后软件中使用每通道不同的“校准/还原系数”即可还原原始电压。

2. 基于 VREFINT 的内部自校准
灵动部分MCU支持测量内部 VREFINT(如 1.2V)通道。通过反推实际 V<sub>DDA</sub> 电压,实现 ADC 精度补偿,特别适合电池供电下V<sub>DDA</sub> 非稳定场景。

c
复制
编辑
// 读取内部1.2V通道
uint16_t adc_vrefint = ADC_ReadChannel(VREFINT_CHANNEL);
float vdda = 1.2 * 4095 / adc_vrefint;
3. 多芯片/多ADC策略(极端场合)
如果需要多个参考电压并且无法满足,可以考虑以下策略:

使用带不同参考电压的外部ADC芯片

使用多个ADC模块(部分MCU具备 ADC1/ADC2)

或干脆 MCU + 模拟开关分时接入不同测量通道


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

706

帖子

3

粉丝