STM32最小系统板详解 #STM32最小系统板详解文章目录前言一、STM32最小系统板的构成二、各电路详解1.电源电路2.复位电路3.BOOT电路4.晶振电路工作原理元件选型1. 晶振频率选择2. 负载电容计算与选择3. 匹配电阻PCB布局布线注意事项无源晶振 vs 有源晶振选择建议常见问题排查5.烧录常用烧录/调试接口对比标准SWD接口连接说明SWD接口电路原理图示例烧录工具选择6.主控前言除了学习基础知识之外最近也一直在尝试不依靠现在网络上开源的常见通用板子去直接copy仅通过数据手册和自身的理解来绘制原理图这篇的主要内容就是stm32最小系统板的绘制大部分内容都是自己的理解可能会有一些小失误还请大佬们指出一、STM32最小系统板的构成stm32最小系统板主要包含电源电路、复位电路、BOOT电路、晶振电路、烧录。其中晶振电路如在不需要精确时间的前提下可以忽略引脚可以替代为默认IO口。二、各电路详解1.电源电路图中是stm32手册中给出的供电方案我们常用3.3V作为其供电电压这时候我们可以看手册中给出的供电方案图由图可以知道根据stm32的Vdd引脚数量并联n个100nF和1个4.7uF的电容到Vss也就是stm32的地而VBAT的作用是维持RTC和备份寄存器的数据意思是在VDD断电的情况下RTC和备份寄存器仍在工作进行计数这里我们不需要所以直接将VBAT并在Vdd中即可。这里我没有绘制外部稳压电路一般都会使用ams1117作为3.3稳压芯片电路按照芯片手册绘制即可。2.复位电路stm32的复位为低电平复位当给NRST脚一个低电平时单片机会进行程序的“重启”。复位电路较为常见和简单的主要是上电复位和按键复位其中上电复位为一次性低电平复位按键复位为可控复位。上图为常见的上电复位电路当在上电的一瞬间电容会瞬间拉低NRST脚使得单片机进行一次复位电容通交流阻直流因此后续电容会进行充电NRST脚又回到高电平。这就是上电复位电路的原理。上图是按键复位电路该电路与上电复位的区别就是多了一个按键下拉这样可以手动多次进行按键复位。3.BOOT电路手册中关于BOOT如上图所示大概的意思就是通过改变boot的引脚状态可以控制单片机启动的地址位置。较为常见的就是00从主闪存启动10是从系统存储器启动11是sram启动断电清除。4.晶振电路晶振电路为STM32提供精确的时钟信号是系统稳定运行的基础。STM32通常需要两个时钟源高速外部时钟HSE和低速外部时钟LSE分别用于系统主时钟和RTC等低功耗外设。工作原理晶振是一种压电元件当施加交变电压时会产生机械振动反之机械振动又会产生交变电压从而形成稳定的振荡频率。STM32内部包含振荡器电路外部只需连接晶振和匹配电容即可构成完整的振荡回路。基本工作流程上电后STM32内部振荡器电路开始工作外部晶振在匹配电容的配合下起振晶振产生稳定的频率信号输入到STM32STM32内部PLL锁相环可对频率进行倍频得到更高的系统时钟元件选型1. 晶振频率选择HSE高速外部时钟常用8MHz、12MHz、16MHz、25MHz8MHz最常用可通过PLL倍频到72MHzSTM32F1系列或更高选择依据系统需求、PLL配置、功耗考虑LSE低速外部时钟通常为32.768kHz专门用于RTC实时时钟便于时间计算2¹⁵32768低功耗模式下仍可工作2. 负载电容计算与选择负载电容CL是晶振正常工作的关键参数由晶振两端对地的电容C1、C2和PCB寄生电容组成。计算公式CL (C1 × C2) / (C1 C2) Cstray其中Cstray为PCB寄生电容通常3-5pF选型建议常用值12pF、15pF、18pF、20pF、22pF必须与晶振规格书标称的负载电容匹配典型配置C1 C2 2 × (CL - Cstray)示例晶振要求CL20pFCstray≈5pF则C1C22×(20-5)30pF选用27pF或33pF标准值3. 匹配电阻串联电阻Rs限制晶振驱动电平防止过驱动通常0-100Ω具体值参考晶振手册若无明确要求可先不接或接0Ω电阻位反馈电阻Rf提供直流偏置通常STM32内部已集成约1MΩPCB布局布线注意事项位置优先晶振尽量靠近STM32对应引脚放置缩短走线长度远离干扰源远离电源、电机、高频信号线等噪声源包地保护在晶振周围铺设地平面形成屏蔽走线对称XTAL_IN和XTAL_OUT走线长度尽量相等避免相位差避免过孔晶振信号线尽量不走内层减少寄生参数电容就近匹配电容必须紧靠晶振引脚和STM32引脚独立地平面晶振电路的地应单点连接到主地避免地环路无源晶振 vs 有源晶振特性无源晶振晶体谐振器有源晶振晶体振荡器工作原理需要外部电路配合起振内置振荡电路直接输出方波引脚数量2脚或4脚2脚为信号4脚含接地4脚电源、地、输出、NC或使能精度一般±10-50ppm较高±10-20ppm温补型可达±0.5ppm启动时间较慢几ms到几十ms快通常10ms功耗低较高成本低高设计复杂度需要匹配电容和布局考虑简单接电源和地即可抗干扰性对布局敏感较好选择建议大多数应用选择无源晶振成本敏感、空间受限的项目STM32内置振荡器电路完善注意匹配电容和PCB布局即可以下情况考虑有源晶振对时钟精度要求极高如通信设备恶劣电磁环境需要强抗干扰能力需要快速启动的低功耗应用设计资源有限希望简化外围电路STM32内部时钟作为备选对时序要求不高的简单应用可选用内部RC振荡器HSI通常8MHz精度较低±1%但节省成本和空间常见问题排查晶振不起振检查电源电压是否正常确认负载电容值是否正确检查PCB布局是否合理尝试调整匹配电容值时钟精度不足检查晶振精度等级确认环境温度是否在规格范围内检查电源噪声是否过大EMC问题加强晶振电路的屏蔽在电源引脚增加去耦电容调整串联电阻值限制驱动电平图典型的无源晶振电路原理图图STM32时钟树结构示意图图PCB布局示例 - 晶振靠近MCU电容就近放置5.烧录STM32的烧录编程和调试通常通过专用的调试接口完成。最常用的两种接口是JTAG和SWD它们各有特点适用于不同的开发场景。常用烧录/调试接口对比接口引脚数量速度占用IO功能适用场景JTAG5根TMS, TCK, TDI, TDO, TRST较高较多支持边界扫描、调试、编程需要完整调试功能、硬件测试SWD2根SWDIO, SWCLK 电源地VCC, GND高少支持调试、编程ARM CoreSight空间受限、引脚紧张的项目JTAGJoint Test Action Group是标准的测试和调试接口功能全面但需要5根信号线占用IO较多。SWDSerial Wire Debug是ARM推出的两线调试接口它是JTAG的精简版只需要2根信号线SWDIO和SWCLK即可完成调试和编程大大节省了引脚资源。SWD是目前STM32开发中最常用的调试接口。标准SWD接口连接说明一个完整的SWD调试接口通常包含以下4根线SWDIOSerial Wire Data I/O - 数据输入/输出线SWCLKSerial Wire Clock - 时钟线GND- 地线VCC3.3V - 电源线可选用于给调试器供电SWD与STM32的连接方式SWD接口引脚STM32对应引脚说明SWDIOPA13或芯片手册指定的SWDIO引脚必须连接用于数据传输SWCLKPA14或芯片手册指定的SWCLK引脚必须连接提供时钟信号GND任意GND引脚必须连接共地参考VCC3.3VVDD3.3V可选为调试器提供电源连接注意事项上拉电阻SWDIO通常需要接一个4.7kΩ-10kΩ的上拉电阻到3.3V确保信号稳定性。滤波电容在SWDIO和SWCLK引脚附近放置一个100pF的电容到地可以滤除高频噪声。走线长度尽量保持SWD信号线短而直避免过长走线引入干扰。复位引脚虽然SWD本身不需要NRST但连接NRST到调试器可以实现硬件复位功能方便调试。SWD接口电路原理图示例----------------- | | | STM32F103C8T6 | | | PA13 |○ SWDIO | | | PA14 |○ SWCLK | | | VDD |○ 3.3V──────┐ | | │ | GND |○ GND───────┘ | | | ----------------- │ │ │ │ ------┴-┴------ | SWD调试接口 | | (4针连接器) | | | | 1: VCC (3.3V) | | 2: SWDIO | | 3: SWCLK | | 4: GND | ---------------实际连接时可以使用标准的4针SWD接口如1.27mm或2.54mm间距常见的调试器如ST-Link、J-Link、DAP-Link都支持SWD模式。烧录工具选择ST-LinkST官方调试器兼容性好价格适中J-LinkSEGGER公司产品性能强大支持多种芯片DAP-Link开源调试器成本低适合DIYUSB转TTL仅支持串口下载需配合BOOT引脚设置对于大多数STM32开发使用ST-Link SWD接口是最方便、最稳定的选择。6.主控—