gaonaiweng 发表于 2025-4-30 10:43

MM32 MCU中ADC参考电压来源

灵动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 + 模拟开关分时接入不同测量通道


biechedan 发表于 2025-5-3 22:06

MM32 MCU 内部集成的参考电压源通常经过了精心设计和校准,具有一定的稳定性,能够在一定程度上减少外部因素

51xlf 发表于 2025-5-3 23:12

在代码中选择内部参考电压作为ADC的基准源。

plsbackup 发表于 2025-5-4 00:44

大多数MCU内置参考电压(如1.2V、2.5V),但精度和温漂较差,适用于低精度场景。

mmbs 发表于 2025-5-4 05:40

其输出电压稳定,典型值约为 ​​1.2V

dspmana 发表于 2025-5-4 19:45

内部参考电压            

zerorobert 发表于 2025-5-6 09:07

需额外硬件设计,增加成本和复杂度。

timfordlare 发表于 2025-5-6 10:51

由于 VDD 电源会受到电源纹波、负载变化等因素的影响,其电压稳定性相对较差,可能会导致 ADC 转换结果的精度下降。

sesefadou 发表于 2025-5-6 12:40

外部参考电压源            

olivem55arlowe 发表于 2025-5-6 14:26

通过使用高精度的外部参考电压源芯片(如 TL431 等),可以获得非常稳定和精确的参考电压,从而提高 ADC 的转换精度。

earlmax 发表于 2025-5-6 16:26

        使用模拟电源            

robertesth 发表于 2025-5-6 18:15

直接使用内部参考电压源可以简化电路设计

loutin 发表于 2025-5-6 19:59

通过设置ADC控制寄存器的特定位启用内部参考

belindagraham 发表于 2025-5-6 21:40

额外的外部元件来实现外部参考电压源,会增加电路的复杂度和成本。

mollylawrence 发表于 2025-5-11 10:04

​​内部参考            

sanfuzi 发表于 2025-5-11 11:45

在软件编程中,需要通过配置相应的寄存器来选择使用内部参考电压源。

everyrobin 发表于 2025-5-13 17:07

可以通过外部引脚(例如Vref+引脚)提供一个精确的参考电压。

vivilyly 发表于 2025-5-13 19:28

使用VDDA作为参考电压时,需要注意VDDA和VDD之间的压差应小于300mV,以避免数据丢失或测量误差。

maqianqu 发表于 2025-5-13 21:35

内部参考电压源            

wwppd 发表于 2025-5-14 21:45

参考电压一旦配置,通常需重启ADC才能更换,不适合快速切换场景
页: [1] 2 3
查看完整版本: MM32 MCU中ADC参考电压来源