几乎所有的数字时间电路都用到了晶体,以下简述晶体工作原理和应用注意事项。
在芯片如何产生时钟?pin定义有XTAL_IN和XTAL_OUT,其实内部可以等效成一个反相器分析。把反相器进一步等效,可以转化成模拟电路中的振荡三点式。
起振条件和平衡可以参考大学的模拟电子教材。至于起振后的幅度,我找了比较多的书籍都没有详细分析,都是一笔带过或者略。
对于晶体选型,一般考虑“负载电容”、“工作温度范围”和“频率精度”。在工艺上,频率越高的晶体,封装越小。在工业级别的应用,还应该考虑“老化度”。
上图负载电容CL = C1//C2 + CIN。CIN为芯片内部容值和pcb走线,应该参考芯片规格书估算CIN确认C1和C2,一般情况C1=C2。
在LAYOUT中,晶体应该注意避免摆放在温度变化较大的位置,避免频偏,同时远离干扰源。在4pin封装中,最好把外壳角接地,防止EMI问题。
以下实测一个SOC的晶体波形。
XTAL_IN的波形如下图:
XTAL_OUT的波形如下图:
可以看出XTAL_IN的波形幅度较小,不失真。XTAL_OUT的波形幅度较大,失真。
原因是反相器/晶体管是非线性器件放大产生失真,XTAL_IN经过晶体和电容反馈选频后得到一个不失真的波形。
假设电路A需要用到晶体谐振的频率时,可以把XTAL_IN/XTAL_OUT作为电路A的时钟输入。
1:当电路A的时钟pin输入阻抗较大,可以直接接XTAL_IN输出给A,但保守做法是在XTAL_IN上加缓冲器;
2:当电路A的时钟不要求严格的正弦波时,可以直接接XTAL_OUT输出给A。