[MM32硬件] MM32 MCU中ADC参考电压来源

[复制链接]
7763|53
 楼主| 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 + 模拟开关分时接入不同测量通道


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才能更换,不适合快速切换场景
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

875

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部