STM32晶振频率怎么选

一、高速晶振(HSE):8MHz是"官方推荐"

主流选择:STM32官方例程、开发板默认用8MHz,通过内部PLL倍频到72MHz(如STM32F1系列)。

为啥选它:

兼容性最好,资料多,出问题容易查。

8MHz×9倍频=72MHz,刚好匹配STM32F1最大主频。

其他可选:4MHz、12MHz、16MHz、25MHz(需参考芯片手册,部分型号支持)。

选12MHz?需改PLL倍频(如6倍频到72MHz),但需同步修改代码和工程设置。

选高频(如25MHz)?注意EMC辐射问题,低频(如4MHz)需确认内部倍频器支持。

二、低速晶振(LSE):32.768kHz是"RTC专用"

唯一用途:给实时时钟(RTC)提供精准时间,断电后靠电池维持。

为啥选它:

32.768kHz=2¹⁵,分频后刚好得到1Hz秒脉冲,计时超准。

低功耗,适合长时间运行。

可选替代:

不用RTC?直接省掉这个晶振,节省PCB空间。

需高精度RTC?选低负载、低ESR值的晶振(如6pF、9pF)。

三、内部晶振(HSI/LSI):应急备用方案

HSI(高速内部RC):

频率:8MHz(主流系列)或16MHz(部分高性能系列)。

缺点:精度差(±1%~±5%),受温度、电压影响大。

用途:对成本敏感、无需高精度的场景(如简单控制)。

LSI(低速内部RC):

频率:约32kHz~40kHz。

用途:独立看门狗(IWDG)或低速RTC(精度要求低时)。

四、选型核心原则:看需求,别盲目

要高精度:

外部高速晶振选8MHz(主流)或12MHz(需改代码)。

外部低速晶振必须用32.768kHz(RTC必备)。

要低成本:

不用RTC?省掉32.768kHz晶振。

对时间精度要求低?直接用内部HSI/LSI。

要兼容性:

跟官方例程走,选8MHz+32.768kHz,省心。

多品牌MCU混用?统一选12MHz(如8051也常用12MHz)。

五、避坑指南:这些错误别犯!

晶振频率与代码不匹配:

选了12MHz晶振,但代码里还是按8MHz算,系统时钟直接乱套!

解决办法:修改HSE_VALUE定义和PLL倍频参数(如STM32CubeMX里直接改)。

忽略负载电容:

晶振标称负载电容(如20pF),但实际用的电容不匹配,导致频率偏移。

解决办法:按公式C1=C2=2×CL-C_stray选电容(CL是晶振标称值,C_stray估算2-5pF)。

布局干扰:

晶振离芯片太远,或下方走高速信号线,导致信号被干扰。

解决办法:晶振紧贴芯片,走线短且对称,下方铺地隔离。

相关推荐
xiaoyuchidayuma3 小时前
永磁同步发电机的线电压和直流母线电压的关系
嵌入式硬件
潜创微科技3 小时前
4K60 over IP 方案简介
网络·嵌入式硬件·网络协议·tcp/ip·音视频
rit84324993 小时前
基于C#的USB HID设备读取测试软件
嵌入式硬件
三佛科技-187366133974 小时前
FT32F103C8AT7兼容GD32F103C8T632 位通用微控制器MCU,替代性分析
单片机·嵌入式硬件
iCxhust4 小时前
8086汇编 word ptr
汇编·单片机·嵌入式硬件·微机原理·8088单板机
嵌入式ZYXC4 小时前
第3篇:《面试题:I2C为什么要加上拉电阻?阻值怎么选?》
stm32·单片机·嵌入式硬件·面试·职场和发展
leo__5204 小时前
C# 虚拟键盘(软键盘)实现
单片机·c#·计算机外设
你疯了抱抱我5 小时前
【STM32】使用 STM32CubeMX 生成项目,LED测试;上位机:STM32F411CEU6
stm32·单片机·嵌入式硬件
今天的你比昨天进步了?7 小时前
单片机程序,keil可以正常编译,VScode编译报错处理
vscode·单片机·嵌入式硬件