当前位置: 首页 > java >正文

MCU ADC参考电压变化怎么办?

在嵌入式系统设计中,ADC(模数转换器)精度直接决定了系统对模拟信号的感知能力。

然而,很多工程师对ADC参考电压(VREF)的认识仍然存在模糊,尤其是在电池供电电压不稳场景下。

ADC参考电压定义了ADC输入电压与数字输出之间的比例关系:

其中 N 是ADC分辨率(如STM32F103为12位)。 

VREF(即VDDA)稳定时,ADC转换是准确的。

但如果VDDA电压波动,比如电池电量下降,而系统仍使用初始VREF假定值去换算ADC结果,则会导致测量误差。 

以前我做低功耗设备遇到过的一个现象:初始VDDA=3.3V,测得电压2.0V,对应ADC=2482。后来VDDA降到3.0V,但仍用3.3V计算 → 误差超出9%以上!

所以,在供电电压变化的应用中(如电池供电设备),必须动态感知参考电压变化

STM32F103内部集成了一个稳定的基准电压源VREFINT,典型值约1.20V。它连接到ADC通道17,可以通过采样通道17的数据推算实际VREF。

采样VREFINT得到数据 DATAREFINT_DATA ,则有:

进一步,采样实际通道ADCHX的数据 ADCHX_DATA,可计算实际输入电压: 

简化公式:

示例代码如下:

uint16_t Read_ADC_Channel(uint8_t channel);
#define FULL_SCALE    4095.0f
#define VREFINT_TYP   1.20f  // 典型值float Read_Actual_Voltage(uint8_t channel)
{uint16_t refint_data = Read_ADC_Channel(17);   // 读取VREFINTuint16_t chx_data    = Read_ADC_Channel(channel); // 读取实际通道float voltage = VREFINT_TYP * ((float)chx_data / (float)refint_data);return voltage;
}

由于每颗芯片的VREFINT存在个体差异(工艺浮动),需要出厂或用户自校准,校准方法如下:

  • 供电稳定(如VDDA=3.3V);
  • 读取VREFINT通道,记录为REFINT_CAL
  • 保存至Flash存储。

计算公式更新:

新一代STM32(如STM32L5、STM32G4等)内部集成了VREFBUF模块,支持输出稳定参考电压如2.048V或2.5V,直接作为ADC参考电压源。 

http://www.xdnf.cn/news/2497.html

相关文章:

  • JS 中call、apply 和 bind使用方法和场景
  • 犬面部检测数据集VOC+YOLO格式987张1类别
  • ST-LINK/V2调试仿真器的接口定义
  • 计算机组成原理系列3--存储系统
  • 【QT】QT多线程
  • PMO 阶段性工作成果报告
  • 【C++QT】Layout 布局管理控件详解
  • STM32标准库和HAL库SPI发送数据的区别-即SPI_I2S_SendData()和HAL_SPI_Transmit()互换
  • 2025系统架构师---事件驱动架构
  • 开源|上海AILab:自动驾驶仿真平台LimSim Series,兼容端到端/知识驱动/模块化技术路线
  • Java大师成长计划之第5天:Java中的集合框架
  • AntBio: 2025 AACR Meeting - Charting New Oncology Frontiers Together
  • 计算机网络应用层(5)-- P2P文件分发视频流和内容分发网
  • RuntimeError: CUDA error: out of memory CUDA kernel errors might be 问题解决
  • TypeScript中的type
  • 220V转18V300mA非隔离电源芯片WT5105
  • 互联网大厂Java面试实录:从Spring Boot到微服务架构的技术问答
  • c++流对象
  • 什么是逐过程执行、逐语句执行和逐指令执行?GDB如何进行上述调试?
  • Codeforces Round 1021 (Div. 2) D. Baggage Claim(建图)
  • 三、UI自动化测试03--操作方法API
  • RPCRT4!NdrConformantStructUnmarshall函数分析的一个例子处理第二部分DomainSid
  • 【Nginx】负载均衡配置详解
  • 互联网大厂Java求职面试:从Java核心到微服务的深度探索
  • 【Android】硬件合成器 HWC
  • 4月27日日记
  • 基于spssau分析工具spss的简介
  • LeetCode 2444、1906、2682 题解(枚举右,维护左,前缀和)
  • 4.27算法题
  • AI-Browser适用于 ChatGPT、Gemini、Claude、DeepSeek、Grok的客户端开源应用程序,集成了 Monaco 编辑器。