外部晶振是一种针对集成电路的外部信号源。通俗来说,就是一种可靠的时钟来源,使用外部晶振可以使得集成电路稳定、精准地使用它所需要的时钟。外部晶振一般由石英晶体和振荡器电路两部分组成。
外部晶振主要起到提供时钟信号的作用。在数字电路中,时序同步极为重要,而如果每个芯片内部都自带晶振,这些晶振间精度上的误差 accumulate 起来,就会导致无法 guarantee 数据的同步,因而需要使用统一的外部晶振来使得这些芯片有一个基准时钟信号。
此外,如果使用单片芯片,主板上要使用统一的时钟,使用外部晶振可以避免各芯片内部基于其内部晶振来判断时序的问题,从而保证时序同步。
使用外部晶振比使用芯片内部晶振优秀的原因在于两点:精度、稳定性。
其一,使用外部晶振时,石英晶体的精度一般是在20 ppm到100 ppm之间,而集成电路内晶振精度不如石英晶体,而且每个芯片上其精度也有差异。因此,使用外部晶振能够依靠所提供的石英晶体,提供了更高的精度,从而避免误差累加。
其二,使用外部晶振时,由于振荡器清晰、稳定,因而能够提供更加稳定准确的时钟信号。相对而言,芯片内部晶振因为 layout 等设计原因决定气味不稳定,这么相对外部晶振来讲容易产生各种问题和误差。
使用外部晶振时需要注意以下几个问题:
其一,确保所有芯片使用的外部晶振与系统使用的时钟频率一致。
其二,如果使用的是芯片自带的时钟选项,需要仔细阅读芯片供应商的文档,确认芯片内部,如何与外部晶振接口(如XTAL1、XTAL2)通信,以及如何设置相应的寄存器。
其三,外部晶振的封装形式(例如 ceramic package、metal package)在一些高温、高湿度、冷冻环境下可能会发生异常,需要事先进行特殊的选型,从而保证稳定。