STM32F3xx系列是高集成和易于开发的32位MCU,具有实时功能、数字信号处理、低功耗与低电压操作特性,可广泛用于消费、医疗、便携式健身、系统监控与测量的实际应用。
STM32F3xx系列整合了带有DSP与FPU指令、工作频率为72MHz的32位ARM Cortex-M4内核、高级模拟外设以及嵌入式Flash和SRAM存储器。由于集成了高效的电源结构和多种功耗模式,STM32F3xx降低了应用级功耗并简化了应用设计。
1. 电源方案
STM32F3xxxx器件集实时功能、数字信号处理和低电压操作、高度集成的模拟外设于一身,具有优化的电源结构和多种供电方案。
图1. STM32F3xxxx器件供电方案
• VDD = 2.0-3.6V:I/O和内部调压器的外部电源,通过VDD引脚从外部提供。
• VDDA = 2.0-3.6V:ADC/DAC、比较器、复位块、RC、PLL的外部模拟供电(在STM32F30x中,当使用OPAMP和DAC时,施加于VDDA的最低电压为2.4V。在STM32F37x中,当使用ADC和DAC时,施加于VDDA的最低电压为2.4V)。VDDA电平必须一直大于等于VDD电平,且必须首先提供。
• VBAT = 1.65-3.6V:当VDD不存在时,作为RTC、32kHz外部时钟振荡器和备份寄存器的电源(通过电源开关供电)。
• VDDSD12= 2.2-3.6V:SDADC1/2、PB2、PB10、PE7至PE15 I/O引脚的外部供电(I/O引脚接地内部连接于VSS)。VDDSD12必须一直小于等于VDDA。若VDDSD12未使用,则必须连接到VDDA。
• VDDSD3= 2.2-3.6V:SDADC3、PB14至PB15、PD8至PD15 I/O引脚的外部供电(I/O引脚接地内部连接于VSS)。VDDSD3必须一直小于等于VDDA。若VDDSD3未使用,则必须连接到VDDA。
高速外部时钟信号(HSE)OSC时钟有2个时钟源:HSE外部晶振 / 陶瓷谐振器,HSE用户外部时钟。
(1)独立模拟电源
为了提高转换精度、扩展供电的灵活性,模拟域配有独立电源,以单独滤波并屏蔽PCB上的噪声。
• ADC和DAC电源电压从单独的VDDA引脚输入。
• VSSA引脚提供独立的电源接地连接。
VDDA供电可大于等于VDD。这使得VDD在保持为低的同时仍可为模拟块提供全部性能。
当使用单供电时,VDDA可外部连接至VDD,为得到无噪声的VDDA,需通过外部滤波电路。当VDDA不等于DD时,VDDA必须一直大于等于VDD。在开机/关机期间,为在VDDA和VDD之间保持安全的电位差,可在VDD和VDDA之间使用外部肖特基二极管。
(2)电池备份
要在VDD关闭后保留备份寄存器的内容,可以将VBAT引脚连接到通过电池或其它电源供电的可选备用电压。
VBAT引脚还为RTC单元供电,因此即使当主数字供电(VDD)关闭时RTC也能工作。
VBAT电源的开关由复位模块中内置的掉电复位(PDR)电路进行控制。
若应用中没有使用外部电池,则强烈建议将VBAT外部连至VDD。
(3)调压器
此调压器在复位后始终处于使能状态。根据应用模式的不同,可采用三种不同的模式工作:
• 运行模式:调压器为1.8V域(内核、存储器和数字外设)提供全功率。
• 停止模式:调压器为1.8V域提供低功率,保留寄存器和内部SRAM中的内容。
• 待机模式:调压器关。除待机电路和备份域外,寄存器和SRAM的内容都将丢失。这包
括下列特性,可通过对单个控制位编程对其选择:
– 独立的看门狗 (IWDG):IWDG通过写入其密钥寄存器或使用硬件选项来启动。而
且一旦启动便无法停止,除非复位。
– 实时时钟 (RTC):通过备份域控制寄存器 (RCC_BDCR) 中的RTCEN位进行配置。
– 内部RC振荡器 (LSI):通过控制 / 状态寄存器 (RCC_CSR) 中的 LSION位进行配置。
– 外部32.768kHz振荡器 (LSE):通过备份域控制寄存器 (RCC_BDCR) 中的
LSEON位进行配置。
2. 设计参考
由于技术原因,最好使用多层印刷电路板(PCB),一层专用于接地(VSS),另一层专用于VDD供电。这提供了不错的去耦和屏蔽效果。
图2. STM32F30x微控制器参考原理图
很多应用由于经济原因无法使用这种板。在这种情况下,主要要求就是要确保接地和供电有良好的结构。
(1)元件位置及参数
PCB的初始布局必须使单独的电路具有高电流电路、低电压电路、数字元件电路,以及根据电路的EMI特点分离的电路。这有助于降低PCB上引起噪声的交叉耦合,相关元器件参数参考下表。
STM32F3xx原始BOM | |||
元件 |
缩写 |
数量 |
注释 |
MCU | STM32F303VCT/ STM32F358VCT6 STM32F373VCT6/ STM32F378VCT6 |
1 | 100引脚封装 |
电容 | 100nF | 4代表STM32F303,3代表STM32F373/378 | 陶瓷电容(去耦电容) |
电容 | 4.7μF | 1 | 陶瓷电容(去耦电容) |
电阳 | 390Ω | 1 | 用于HSE:值取决于晶振特性。 此值仅为典型举例。 |
电阻 | 0Ω | 1 | 用于LSE:值取决于晶振特性。此电阻值仅为典型举例。 |
电阻 | 10KΩ | 4 | 用于JTAG和自举模式的上拉和下拉电阻。 |
电容 | 100nF | 3 | 用于RESET按钮,VDDA和VREF+的陶瓷电容。 |
电容 | 1μF | 2 | 用于VDDA和VREF+。 |
电容 | 100nF | 3 | 用于VDDSDx和VREFSD+的陶瓷电容(仅STM32F37x) |
电容 | 1μF | 3 | 用于VDDSDx和VREFSD+(仅STM32F37x) |
电容 | 10pF | 2 | 用于LSE:值取决于晶振特性。 |
电容 | 20pF | 2 | 用于HSE:值取决于晶振特性。 |
石英 | 8MHz | 1 | 用于HSE |
石英 | 32kHz | 1 | 用于LSE |
嵌入式 | 3V3 | 1 | 若应用中没有使用外部电池,则建议将VBAT外部连至VDD |
开关 | 1 | 用于选择正确的自举模式。 | |
按钮 | B1 | 1 | 用作复位按钮 |
JTAG连接器 | 1 | 用于MCU编程/调试 |
(2)接地和供电(VSS、VDD、VSSA、VDDA、VSSSD、VDDSD)
每个块(噪声、底层敏感、数字等等)都应单独接地,所有接地返回都应为一个点。必须避免出现环,或使环有最小面积。供电应靠近地线实现,以最小化供电环的面积。这是因为供
电环的行为类似天线,因此它是EMI的主要发送者和接收者。所有无元件的PCB区域必须用额外的接地填充,以创造屏蔽(尤其是使用单层PCB时)。
(3)去耦
所有供电和接地引脚必须正确连接至供电。这些连接,包括焊盘、走线和孔,都应尽可能低阻。一般来说,可通过加宽走线宽度实现,最好在多层 PCB 中使用专用供电层。
此外,每个供电对都应使用100nF滤波陶瓷电容去耦,并用约4.7μF的化学电容连接于STM32F3xx器件的供电引脚之间。这些电容需尽可能近地放置在PCB下部的适当引脚旁边或之下。典型值为10nF至100nF,但精确值取决于应用需要。
(4)未使用的I/O
通常一个应用不会使用100% MCU资源。为增加EMC性能、避免额外的功耗,未使用的时钟、计数器或I/O不应浮空,应连至固定的0或1逻辑电平。方法是,在未使用的I/O引脚上使用外部或内部上拉或下拉电阻;或用软件将GPIO配置为输出模式。不使用的特性应被冻结或禁用,这也是它们的默认值。