1. 晶振选型主要参数介绍

我们常说的晶振,包含两种:

无源晶振(crystal) —— 即谐振器,内部没有独立的起振电路,需要借助时钟才能产生振荡信号,通常需要精准匹配外部电容,成本较低,信号质量较差,一般建议采用精度较高的石英晶体,多应用于对频率稳定性要求不高的产品中;

有源晶振(oscillator) —— 即振荡器,内部有独立的起振元件,需要外加额定的供电电源,成本较高,但输出信号质量好,稳定度高,多应用于需要高精度频率的产品中。

​这里晶振的参数选择主要针对谐振器(crystal),一般晶振选型时需要考虑的主要参数有:核心频率(MHz)、温度频差(ppm)、负载电容(pf)、封装形式、工作温度等。
举个栗子:
下图为在立创上搜索的一款晶振,主要参数已显示在标题上:8MHz频率、10ppm频差(选精度相对好点的,对于stm32一般小于30基本可接受)、20pf负载电容(计算匹配电容会用到)以及封装和工作温度范围已经明确列出,选择符合自己设计要求的即可。
在这里插入图片描述
注:负载电容CL(load capacitance)——是☞跨接在晶体两端的总的有效电容(非匹配电容),其主要影响负载谐振频率和等效负载谐振电阻,它与石英谐振器一起决定振荡器的工作频率,通过调整负载电容一般可以将振荡器的工作频率调到标称值。

2. 晶振外匹配电容CL1及CL2计算方法

我们一般外接匹配电容,是为了使晶振两端的等效电容等于或接近负载电容,对于要求高的场合还需要考虑IC输入端的对地电容,这样便可以使得晶振工作的频率达到标称频率。

负载电容CL(load capacitance), 寄生电容CS(shunt capacitance)的值在确定好晶振时已给定,在晶振的datasheet中可查询到。

负载电容公式为:

CL = CS + (CD*CG)/(CD+CG)

其中,CL(load capacitance)、CS(shunt capacitance)查晶振手册可知,

CG(晶体振荡电路输入引脚对地总电容) = Cpcb(走线电容) + Ci(芯片管脚寄生电容) + CL1(需外加的匹配电容1)

CD(晶体振荡电路输出引脚对地总电容) = Cpcb(走线电容) + Co(芯片管脚寄生电容) + CL2(需外加的匹配电容2)

一般令CG = CD,且Cpcb、Ci、CO取值为几pF,则有:CL = CS + CG/2 = CS + CD/2

​ ☞ 即CD = CG = 2*(CL -CS)

​ 则 CL1 = CG - (Cpcb + Ci) = 2(CL -CS) - (Cpcb + Ci)

CL2 = CD - (Cpcb + Co) = 2(CL -CS) - (Cpcb + Co)

举个栗子:

​ 假设Ci = Co = 5pf, Cpcb = 4pf, 查晶振手册CL =20pf, CS= 5pf,

​ 则CL1 = CL2 = 2*(20pf-5pf) - (4pf +5pf) = 21pf(若此处计算的容值不常见,则选个最接近的常见容值即可)

3. 晶振pcb电路设计注意事项

  • 使晶振、外部电容器(如果有)与 IC之间的信号线尽可能保持最短,当非常低的电流通过IC晶振振荡器时,如果线路太长,会使它对 EMC、ESD 与串扰产生非常敏感的影响。而且长线路还会给振荡器增加寄生电容;

  • 尽可能将其它时钟线路与频繁切换的信号线路布置在远离晶振连接的位置,尽量不要在pcb晶振封装下(all layers)走线;

  • 当心晶振和地的走线;

  • 将晶振外壳接地。

    如果实际的负载电容配置不当,第一会引起线路参考频率的误差.另外如在发射接收电路上会使晶振的振荡幅度下降(不在峰点),影响混频信号的信号强度与信噪,当波形出现削峰,畸变时,可增加负载电阻调整(几十K到几百K).要稳定波形是并联一个1M左右的反馈电阻。

4. 晶振不起振分析及解决

不起振的情况主要出现在无源晶振上,尤其是kHz级别的无源晶振(X’tal),而MHz级别的AT晶振则相对少见。电路结构与晶体单元不匹配,由此导致产生频率不够稳定、停止起振或振荡不稳定等问题。因此在电路设计时,为了获得稳定的振荡,通常情况下石英晶体单元与振荡电路的匹配十分重要。

晶振不起振可能原因分析:

  • 电路设计有问题 —— 对照单片机的推荐电路排除电路错误的可能性;

  • 晶振质量有问题 —— 多试几个晶振,排除晶振本身为停振品的可能性;

  • 匹配电容有问题 —— 试着改换晶体两端的电容,也许晶振就能起振了;

  • PCB板受潮,导致阻抗失配而不能起振;

  • 晶振电路的走线过长或者晶振两脚之间有走线;

  • 受外围电路的影响。

    终极解决:
    尽可能选择有源晶振,有源晶振(OSC)和实时时钟模块(RTC)由于内置了相应的电路,因而不太容易出现不起振的问题,在实际使用时基本不需要考虑相对复杂的频率匹配问题,也就极大避免了晶振不起振问题的发生。

参考链接:
晶振设计电路总结
32.768kHz晶振不起振的原因与解决

(此笔记为搜了好多个文章后集合在一起的学习笔记,为以后能随时方便查看,如有涉及侵权请联系删除)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐