认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇 11

4.1 如何选择合适的晶体和外部器件

STM32 MCU/MPU 内置低速振荡器

低速谐振器市场上的晶体谐振器种类很多。选定一款型号,取决于多个参数。需要重点考虑的参数(仅列技术因素):

  • 晶体尺寸或占板面积
  • 晶体负载电容(CL)
  • 振荡频率偏差(PPM)
  • 启动时间

这几项之间要按关键设计准则做权衡。图12:按上述因素和权衡关系,市面上的谐振器分为两类。

图12 低速晶体谐振器分类

负载电容、功耗、可拉性

大负载电容谐振器(如12.5 pF)要求振荡器输出更大驱动功率,回路才能稳定在谐振器标称频率上。

面向低功耗的设计,例如纽扣电池供电、要求超长续航的RTC应用,多用负载电容较小的谐振器。

大CL谐振器的可拉性(pullability)远小于小CL谐振器。

功耗无严格约束的设计,多用大CL晶体,以降低可拉性。

尺寸与ESR

手持和可穿戴消费市场(智能手机、蓝牙配件)是晶体谐振器用量最大的领域之一,该市场晶体尺寸是关键指标。

小尺寸晶体的ESR偏高。

目标设计对功耗有严格约束(常见情况)时,选型难度更大:选CL尽可能小的晶体,优先保功耗,即使牺牲可拉性。

高ESR晶体的启动时间略长。

晶体尺寸无约束时,选ESR尽可能小的晶体。

噪声环境

工业应用基本都属于噪声环境。

功耗无约束时,选大CL晶体。

这类晶体需要振荡器提供大驱动电流,抗噪声和外部扰动能力更强。

另一个好处是设计可拉性最小。

STM32 内置低速振荡器(LSE)的类型

视器件而定,下列谐振器系列可能全部兼容,也可能只有部分兼容。STM32 器件内置两类 LSE:

  • 固定增益:增益恒定,仅兼容上述少数几组晶体。STM32F2、STM32L1 的 LSE 面向功耗严格受限的设计,所选晶体应为低CL、中等ESR。STM32F1 的 LSE 面向中等ESR、中等CL的晶体。
  • 可配置增益:主要优势是兼容晶体数量大,器件本身几乎不构成约束。兼容清单长,设计者可按功耗、占板面积等设计约束选型。分两类:

-- 动态(运行时)可改增益 LSE:起振前或使能后均可改增益。

-- 静态可改增益 LSE:仅在 LSE 关闭时可改。要增减振荡器跨导,须先关闭 LSE。

表5 列出 STM32 器件内置的 LSE。

注意

静态或动态改增益后,须重新校准振荡频率,以估算最终精度不确定度(PPM)预算。

STM32F0、STM32F3 中,高驱动模式(gm = 25 µA/V)只能配 12.5 pF 晶体,避免振荡回路饱和导致起振失败。

配低CL晶体(如6 pF)时,振荡频率出现抖动,占空比可能失真。

表5 STM32 MCU/MPU 内置 LSE 振荡器(图示)

|------------------------------------------------------|----------|------------|-----------------|--------|
| 系列 | 驱动电平 | gm 最小值 | Gm_crit_max | 单位 |
| C0 | 中高 | 8.5 | 1.7 | µA/V |
| C0 | 高 | 13.5 | 2.7 | µA/V |
| F0、F3 | 低 | 5 | 1.0 | µA/V |
| F0、F3 | 中低 | 8 | 1.6 | µA/V |
| F0、F3 | 中高 | 15 | 3 | µA/V |
| F0、F3 | 高 | 25 | 5 | µA/V |
| F1、T | 不适用 | 5 | 1 | µA/V |
| F2、F4_g1(2) | 不适用 | 2.8 | 0.56 | µA/V |
| F4_g2(3) | 低 | 2.8 | 0.56 | µA/V |
| F4_g2(3) | 高 | 7.5 | 1.5 | µA/V |
| F7 | 低 | 2.4 | 0.48 | µA/V |
| F7 | 中低 | 3.75 | 0.75 | µA/V |
| F7 | 中高 | 8.5 | 1.7 | µA/V |
| F7 | 高 | 13.5 | 2.7 | µA/V |
| L1 | 不适用 | 3 | 0.6 | µA/V |
| G0、G4、H7 | 低 | 2.5 | 0.5 | µA/V |
| L0、L4、L4+、L5;MP1、MP2;N6;U0、U3、U5(4);WB、WB0、WBA(5)、WL | 中低 | 3.75 | 0.75 | µA/V |
| L0、L4、L4+、L5;MP1、MP2;N6;U0、U3、U5(4);WB、WB0、WBA(5)、WL | 中高 | 8.5 | 1.7 | µA/V |
| L0、L4、L4+、L5;MP1、MP2;N6;U0、U3、U5(4);WB、WB0、WBA(5)、WL | 高 | 13.5 | 2.7 | µA/V |
| C5、H5、G5、H7P | 中低 | 3.75 | 0.75 | µA/V |
| C5、H5、G5、H7P | 中高 | 8.5 | 1.7 | µA/V |
| C5、H5、G5、H7P | 高 | 13.5 | 2.7 | µA/V |

(1) 颜色代码:

浅蓝为跨导可动态(运行时)修改的 LSE 振荡器;

黄色为跨导不可修改的 LSE 振荡器;

灰色为跨导可静态修改的 LSE 振荡器。

(2) 第一代 LSE 的 STM32F4 系列,即 STM32F401/405/407/415/417/427/429/437/439xx,跨导不可修改。

(3) 第二代 LSE 的 STM32F4 系列,即 STM32F410/411/412/413/423/446/469/479xx,跨导可静态修改。

(4) STM32U575/585 rev. X 器件不支持低驱动模式。

(5) STM32WBA 器件不支持低驱动模式。

4.2 怎么选一颗 STM32 能用的晶体

本节讲选晶体和外部器件的推荐流程,按下面几步走。

步骤 0:选基频模式的谐振器

选按基频设计的谐振器。第 3.9 节讲过,STM32 振荡器验证过的搭配是基频振动谐振器加图 5 的皮尔斯振荡电路。确认所选谐振器按基频工作设计。

步骤 1:核对谐振器与所选 STM32 是否兼容

在第 3.4 节的两套流程里挑一套,依据是数据手册给出的振荡器规格。

  • 手册给了振荡器跨导参数:走第二套流程。增益裕度比大于 5(x5),才算与所选 STM32 型号兼容。
  • 手册给的是 Gm_crit_max:振荡回路的 gmcrit 小于该 Gm_crit_max 即可。

步骤 2:确定负载电容 CL1、CL2 的容值

按第 3.3 节的公式算 CL1、CL2。算出来的是近似值。第二步做实验迭代微调,直到找到合适的容值。

实验阶段用标准晶体,也就是在被标称负载电容(CL)加载时 PPM 漂移已知的晶体。这类晶体可向厂家索取。选定后,算出它在标称负载电容加载下的振荡频率 Fstandard,公式:

Fstandard = Fnominal × (1 + PPMstandard / 10^6)

其中:

  • Fstandard:标准晶体在标称负载电容加载下的振荡频率
  • Fnominal:晶体数据手册给出的标称振荡频率
  • PPMstandard:晶体厂家标定的标准晶体振荡频率漂移

算出 Fstandard 后,按下列顺序做。

1)第一次实验迭代,CL1、CL2 用计算得出的容值:

  • 振荡频率等于 Fstandard:CL1、CL2 就是正确容值,跳过子步骤 2 和 3。
  • 振荡频率低于 Fstandard:做子步骤 2,否则做子步骤 3。

2)本次迭代减小 CL1、CL2,重测振荡频率,与 Fstandard 比较:

  • 频率低于 Fstandard:做子步骤 2,否则做子步骤 3。
  • 频率几乎等于 Fstandard:采用后一组的 CL1、CL2 容值。

3)本次迭代增大 CL1、CL2,重测振荡频率,与 Fstandard 比较:

  • 频率低于 Fstandard:做子步骤 2,否则做子步骤 3。
  • 频率几乎等于 Fstandard:采用后一组的 CL1、CL2 容值。

步骤 3:检查振荡回路的安全因子

按第 3.8 节评估安全因子,保证振荡器在工作条件下可靠起振。

注:不少晶体厂家可代为核查器件与晶体的配对兼容性。配对判定合格,厂家可提供报告,含推荐的 CL1、CL2 容值和振荡器负阻实测值。这种情况下可跳过步骤 2 和 3。

步骤 4:计算驱动电平和外部电阻

算驱动电平 DL(见第 3.5 节),与 DLcrystal 比较:

  • DL < DLcrystal:不需要外部电阻,晶体可以直接用。
  • DL > DLcrystal:算出 RExt,使 DL < DLcrystal。然后把 RExt 计入重算增益裕度。
  • 增益裕度大于 5,晶体可用。不满足,这颗晶体不行,换一颗,回到步骤 1 按新晶体重走流程。

步骤 5(可选):计算 PPM 精度预算

按下面公式估算应用的 PPM 精度预算:

PPMBudget = PPMcrystal + Deviation(CL) × Pullabilitycrystal

其中:

  • PPMBudget:振荡频率的估算精度
  • PPMcrystal:晶体数据手册给出的 PPM 精度
  • Deviation(CL):单位 pF,负载电容容值公差,加上 PCB 工艺偏差引起杂散电容(CS)变化,两者造成的负载电容(CL)偏移量
  • Pullability:单位 PPM/pF(见第 3.7 节)

注:上述 PPM 预算未计入温度变化,实际预算会更大。

相关推荐
不昀1 小时前
开关电源电流互感器怎么选:匝比、采样电阻与复位的计算笔记
单片机·嵌入式硬件·电子元器件
小李不想当小白3 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
youcans_5 小时前
【嵌入式软件AI编程】(3)面向 AI 协同开发的 STM32 硬件信息标准化
人工智能·stm32·嵌入式硬件·ai编程
智者知已应修善业8 小时前
【51单片机实现从下到上,从上到下,从中间到两边,两边到中间】2024-10-23
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
辰哥单片机设计9 小时前
STM32智能药盒丨2027单片机新项目
stm32·单片机·嵌入式硬件
LCG米19 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
La Pulga1 天前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡1 天前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范