STM32-电源【ADC供电、VDDA、VSSA、VREF、VBAT等】

STM32的电源管理涉及多个关键端口,如VDD、VSS用于数字电路供电,VDDA、VSSA专为模拟电路和ADC提供电源,确保数字和模拟部分的隔离。VREF+、VREF-用于设定ADC的参考电压,而VBAT则在主电源断开时为RTC等备份功能供电。确保VDD和VDDA间的电压差不超过300mV,以保证稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

了解电源之前,先来简单了解一下各种电源端口的命名
VCC:C=circuit 表示电路的意思, 即接入电路的电压。
VDD:D=device 表示器件的意思, 即器件内部的工作电压。
VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压。 

GND:在电路里常被定为电压参考基点。 
VEE:负电压供电;场效应管的源极(S)
VPP:编程/擦除电压。 

V*与V*A的区别是:数字与模拟的区别
数字电路供电VCC 
模拟电路供电VCCA

更多的(点这里)。

目录

STM32供电方案一览

VDD、VSS

VDDA、VSSA

VREF+、VREF-

VBAT

电气参数


STM32供电方案一览

STM32的电源框图如下所示,电源供电共分为4个区域:

VDD、VSS供电区域;
VDDA、VSSA供电区域;
1.8V供电区域;
后备电源(VBAT)供电区域;

STM32F103ZET6(其他的STM32也基本无差)的Datasheet关于供电方案的说明如下:

Power supply schemes
• VDD = 2.0 to 3.6 V: external power supply for I/Os and the internal regulator(内部调节器或稳压器). Provided externally through VDD pins. 
• VSSA, VDDA = 2.0 to 3.6 V: external analog power supplies for ADC, reset blocks, RCs and PLL (minimum voltage to be applied to VDDA is 2.4 V when the ADC is used). VDDA and VSSA must be connected to VDD and VSS, respectively. 
• VBAT = 1.8 to 3.6 V: power supply for RTC, external clock 32 kHz oscillator and backup registers (through power switch) when VDD is not present.

VDD、VSS

D=device 表示器件的意思, 即器件内部的工作电压;S=series 表示公共连接的意思,通常指电路公共接地端电压。

VDD、VSS是芯片工作的电压端口,主要为IO供电以及通过稳压器为内核、内置数字外设、存储器等供电。简单来说就是为所有芯片的数字电路部分供电。

VDDA、VSSA

A=analog 表示模拟的意思,是模拟电路部分的电源。主要为ADC模块以及其他的模拟电路部分(复位电路、PLL等)供电。

ADC使用一个独立于VDD的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰,ADC的电源引脚为VDDA,以及独立的电源地VSSA。

即使不使用ADC功能,也需要连接VDDA,强烈建议VDD和VDDA使用同一个电源供电。比如因为连接着复位电路,如果不连,芯片无法下载代码。

VREF+、VREF-

REF=referencee,VREF表示ADC的外部参考电压,如果有VREF- 引脚(根据封装而定),它必须连接到VSSA,VREF+的输入范围为2.4~VDDA(一般接VDDA)。如果没有VREF+和VREF-引脚,他们在芯片内部与ADC的电源(VDDA)和地(VSSA)相连。

VBAT

使用电池或其他电源连接到VBAT脚上,当VDD断电时,可以保存备份寄存器的内容和维持RTC的功能。
VBAT脚也为RTC、LSE振荡器和PC13至PC15供电,这保证当主要电源被切断时RTC能继续工作。切换到VBAT供电由复位模块中的掉电复位功能控制。如果应用中没有使用外部电池,VBAT必须连接到VDD引脚上。

电气参数

Datasheet上关于VDD、VDDA、VBAT的电气参数如下

It is recommended to power VDD and VDDA from the same source. A maximum difference of 300 mV between VDD and VDDA can be tolerated during power-up and operation.

注意:VDD和VDDA之间的最大电压不能超过300mV!VDD和VDDA最好连接在一起。

<think>好的,我现在需要帮助用户解决关于STM32VDDAVDD连接方式的问题。首先,我需要回顾一下用户的历史对话,确保回答的一致性相关性。用户之前询问了外接晶振的类型选择,现在转向电源引脚连接,这可能涉及到模拟数字电源的设计。 用户的问题明确:想知道VDDAVDD的正确连接方式、区别及注意事项。首先,我需要明确VDDAVDDSTM32中的作用。VDDA是模拟电源,为ADC、DAC等模拟模块供电,而VDD是数字电源,为内核数字外设供电。正确区分这两个引脚对系统稳定性,尤其是模拟信号的准确性至关重要。 接下来,我需要考虑用户可能的背景。用户可能在进行嵌入式硬件设计,特别是涉及模拟信号采集的应用,比如传感器数据读取。因此,正确的电源设计可以避免噪声干扰,确保ADC精度。用户可能没有提到但需要了解的潜在问题包括电源隔离、滤波电容的选择以及布局布线的注意事项。 然后,我需要参考站内引用中的信息。之前的引用[1]提到逐次逼近型ADC的结构,这可能与VDDA的稳定性有关,因为ADC的性能直接受模拟电源质量影响。因此,在回答时需要强调VDDA的纯净性,比如使用滤波电路避免数字噪声干扰。 接下来,组织回答结构。用户需要清晰的对比具体步骤,因此分点说明连接方法、区别、注意事项是合适的。同时,加入示意图代码配置示例能增强实用性,比如CubeMX中的配置步骤,帮助用户实际应用。 需要注意的是,用户可能对电源分割滤波电容的具体参数不熟悉,所以需要给出典型值,如100nF10μF的组合,并解释其作用。同时,警告常见的错误,比如将VDDA直接连接到数字电源,导致ADC精度下降。 最后,确保回答符合之前的格式要求,使用表格代码块,语言简洁明了。相关问题部分应引导用户深入探讨可能遇到的问题,如电源噪声优化或ADC校准方法,这些都与当前主题紧密相关,帮助用户全面了解电源设计的影响。</think>--- ### 一、核心区别与功能定位 | **参数** | **VDDA(模拟电源)** | **VDD(数字电源)** | |----------------|-----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------| | **供电范围** | 1.8V~3.6V(与VDD同电压等级) | 1.8V~3.6V(根据MCU型号) | | **供电对象** | ADC/DAC/温度传感器/PLL等模拟模块[^1] | 数字内核、GPIO、定时器等数字电路 | | **噪声敏感度** | 极高(1mV噪声可能导致ADC误差±1LSB) | 较低(通过去耦电容可有效抑制) | | **隔离要求** | 必须与数字电源隔离(推荐磁珠+π型滤波) | 可直接连接主电源 | --- ### 二、硬件设计规范 #### 1. **典型电路设计** ```text ┌───────────┐ │ STM32 │ 外部电源3.3V ────╱╱╱───┬──┤ VDDA │ (模拟侧) 磁珠 │ │ │ 10Ω ├─┐│ │ ┌┴─┴┴─┐ │ │10μF │ │ │陶瓷 │ │ └┬─┬─┬┘ │ │ │ └───────┐ │ └──100nF─┘ │ │ 外部电源3.3V ───────────┴───────────┤ VDD │ (数字侧) └───────────┘ ``` **设计要点**: - 必须为VDDA单独配置滤波电路(磁珠+10μF+100nF组合)[^1] - 数字/模拟地平面在MCU下方单点连接(推荐0Ω电阻或磁珠) #### 2. **关键参数选择** | **元件** | **选型要求** | |--------------|-----------------------------------------------------------------------------------| | **磁珠** | 100MHz@100Ω阻抗(如BLM18AG102SN1) | | **滤波电容** | 陶瓷电容:X7R/X5R材质,10μF(0805)+100nF(0402)组合 | | **布线规则** | 模拟电源线宽≥0.3mm,与数字线路间距≥0.2mm | --- ### 三、常见错误与解决方案 #### 1. **ADC读数跳变严重** - **现象**:12位ADC在采样稳定信号时出现±20LSB波动 - **原因**:VDDA直接连到数字电源导致噪声耦合 - **解决**: ```c // 软件端临时方案(治标) HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); // 启用校准 // 硬件根治方案(治本) // 按上述电路添加磁珠滤波电容 ``` #### 2. **低功耗模式异常** - **现象**:进入STOP模式后无法唤醒 - **原因**:VDDA未连接或电压低于2.0V时部分模拟模块仍工作 - **解决**: ```c // 检查电源配置 if (__HAL_PWR_GET_FLAG(PWR_FLAG_VOSF)) { HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1); // 调整电压调节器 } ``` --- ### 四、进阶设计技巧 #### 1. **多电压域设计** 当VDD=3.3V且需要高精度ADC时: - **优化方案**: ```text 基准电压源(如REF3030)───┬── VDDA └── VREF+(提高ADC信噪比) ``` **效果**:可使ADC有效位数(ENOB)提升0.5~1位 #### 2. **PCB布局规范** - 禁止在VDDA走线下方布置数字信号线 - 晶振电路必须远离VDDA滤波电容(间距≥5mm) - 模拟地覆铜区域应包围所有VDDA相关元件 --- ### 五、验证测试流程 1. **静态测试**: - 测量VDDA-VSSA电压差(波动需<10mVpp) - 用示波器AC耦合模式观察纹波(带宽限制20MHz) 2. **动态测试**: ```c // 注入直流信号测试ADC线性度 for(float volt=0; volt<=3.3; volt+=0.1){ HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, (volt/3.3)*4095); HAL_ADC_Start(&hadc1); uint32_t adc_val = HAL_ADC_GetValue(&hadc1); printf("实际:%.3fV 测量:%.3fV\n", volt, (adc_val*3.3)/4095); } ``` **合格标准**:误差小于±0.5%(对应±20mV@3.3V) --- ### 六、总结对比表 | **评估维度** | **VDDA** | **VDD** | |--------------------|-----------------------------------|----------------------------------| | **设计复杂度** | 高(需独立滤波布局) | 低(标准去耦即可) | | **噪声容忍度** | 极低(<50mVpp) | 较高(<200mVpp) | | **典型失效模式** | ADC精度下降、PLL失锁 | 逻辑错误、GPIO异常 | | **调试工具** | 高精度示波器、频谱仪 | 逻辑分析仪、电流探头 | --- #### 相关问题 1. 如何测量STM32 VDDA的实际电压值? 2. 当VDDAVDD使用不同电压时需要注意什么? 3. 为什么ADC采样结果会随数字IO切换而变化?如何解决? : STM32 ADC模块直接依赖VDDA供电质量,电源噪声会直接影响转换精度,需严格隔离模拟/数字电源
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值