为什么单片机的外接晶振要并连两个电容?

电容的作用是什么?

提供相移,满足振荡条件晶振是一个高Q值的谐振器,需要配合外部电路构成皮尔斯振荡器(PierceOscillator)。两个电容与晶振内部等效电容(C0)和等效电感(L)共同形成π型网络,提供180°相移,与反相放大器共同满足振荡的相位条件(总相移360°)。匹配晶振的负载电容(CL)晶振的标称频率是在特定负载电容(CL)下定义的。两个外部电容(C1,C2)与电路中的杂散电容(Cs)共同构成晶振的实际负载电容:

若实际负载电容与晶振规格书要求的CL不匹配,会导致频率偏移甚至不起振。限流保护晶振电容的容抗限制了流过晶振的电流,避免因过驱动导致晶振老化或损坏。
2.如何确定容值?

容值选择需严格参考晶振规格书,核心步骤如下:

1、查找晶振的负载电容参数(CL)晶振规格书中会明确标注负载电容(如CL=18pF或20pF)。这是设计依据。

2、估算电路杂散电容(Cstray)PCB走线、引脚寄生电容等通常为2~5pF(高频电路需精确计算或测量)。

3、计算外部电容值(C1,C2)使用公式:C1 = C2 = 2 x (CL - Cstray)举例:若晶振要求CL=20pF,Cstray=3pF,则:C1=C2=2 = 2 x (20-3) = 34pF实际可选标称值33pF或36pF。

4、常见取值参考:低频晶振 (32.768kHz) :常用12.5~18pF·中高频晶振 (4~48MHz) :常用18~33pF高频/低功耗场景:可能需5~10pF注意:若频率仍不准确,需用频谱分析仪/频率计测量并微调电容值。

3.晶振电路布局要点?

最短走线原则晶振 (X1)、电容 (C1/C2)、单片机OSC引脚组成的小环路面积最小化(通常<1cm2),减少天线效应和EMI辐射。电容紧靠晶振引脚C1和C2分别直接连接到晶振的两个引脚(无过孔),接地端就近打孔到地平面。远离干扰源远离电源、电机、高速信号线(如USB、时钟线),避免耦合噪声。地平面屏蔽晶振下方铺设完整地平面,并在周围布置接地铜箔围栏(Guard Ring),形成法拉第笼。避免过孔分割走线信号路径禁用过孔(增加电感),必要时在晶振下方挖空其他层(防止寄生电容)

常见问题与解决·不起振:检查CL匹配、电容焊接、晶振损坏、布局环路过大。·频率偏移:测量实际频率,调整C1/C2(可并联小电容微调)。·温漂大:选择高精度晶振,避免电容使用Y5V材质(选NPO/COG)。总结:两个电容是晶振稳定振荡的"黄金搭档",需精确匹配晶振的负载电容要求,并通过紧凑布局避免干扰。设计时务必以晶振规格书为准,结合实测优化参数。
总结

单片机外接晶振并联的两个电容(通常称为负载电容)是晶振电路正常、稳定。

相关推荐
我命由我123456 分钟前
Android Framework P1 - 低配学习 Framework 方案、开机启动 Init 进程
android·c语言·c++·学习·android jetpack·android-studio·android runtime
为何创造硅基生物6 分钟前
C语言 char
c语言
哈哈浩丶9 分钟前
存储相关知识②—eMMC协议
linux·驱动开发·emmc
老花眼猫1 小时前
C语言矩形旋转算法介绍
c语言·经验分享·青少年编程·课程设计
消失的旧时光-19431 小时前
C 语言如何实现“面向对象”?—— 从 struct + 函数指针,到 Linux 内核设计思想
linux·c语言·开发语言
handler011 小时前
滑动窗口(同向双指针)算法:模板与例题解析
c语言·c++·笔记·算法·蓝桥杯·双指针·滑动窗口
方山子哦2 小时前
软硬件uart、iic、spi、can,及蓝牙和usb的区别及应用场景
单片机·嵌入式硬件
薇茗2 小时前
【初阶数据结构】 升沉有序的平仄 排序
c语言·数据结构·算法·排序算法
yoyo_zzm2 小时前
五大编程语言对比:PHP、C、C++、C#、易语言
c语言·c++·php
czwxkn3 小时前
pcb设计-电路:IO口的灌电流与拉电流
单片机·嵌入式硬件