当我们要学习一款处理器,或者使用某个外设,或者分析一个嵌入式系统时,强烈建议从时钟入手。时钟是相当重要的,也是相当基础的。随便都可以举一串例子,CPU执行一条指令的周期是多长时间,串口波特率怎么设置为9600bps,AD的采样率设置,定时器的延时,IO口翻转一次多长时间,SPI通信,IIC通信,等等。所有的这一切,你都要先理清楚,它所使用的时钟信号。
时钟的配置与应用已经越来越灵活,同样的,对于初学者来说,理解的难度也在加大。复杂的问题简单化,简单来说,时钟信号的产生都离不开一个“装备”,叫做晶体振荡器。
上面所列出的这些图片,大家应该都很眼熟吧?在多数的有处理器的电路板上都可以找到上边图片中的元件。如果没找到,也不用太惊讶,因为很多MCU现在都已经带有内部振荡器了。
说了这么多,也该介绍下晶体振荡器了(Crystal Oscillator)。
晶体是指从一块石英晶体上按一定方位角切下薄片(晶片),也称为石英晶体或晶体(Crystal)、晶振(很多时候也称之为晶振,并不是准确的叫法),晶体需要借助于时钟电路才能产生振荡信号,自身无法振荡起来。
而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器(Oscillator)或晶振,它是一个完整的振荡器。
晶振可分为无源晶振和有源晶振两种。无源晶振需要借助时钟才能产生振荡信号,有源晶振是一个完整的振荡器,可以直接产生信号。
有条件的建议找个有源晶振实测下。有源晶振一般为4个引脚,正电源VCC,地GND,输出OUT,悬空脚NC(也有可能是使能端)。无使能端的情况下,VCC、GND接上电源,OUT端就可以直接测量到信号波形了。
很多情况下,我们把晶体和晶体振荡器都简称为晶振
晶振在处理器时钟电路中的应用,可以归纳为以下两个典型的电路,记住这两典型电路就OK啦:
电路(1):
晶体与处理器内部的电路一起构成一个完整的振荡电路,为系统提供时钟。
电路(2):
采用外部时钟源,此处采用的是一个有源晶振,上电后即可给系统提供时钟信号。