大一下学期才开始自学单片机,真真切切的感受到自己是个弱鸡,专业知识一点不会,看个书都费劲,周围又没有什么人可以交流交流或者带带我,那个酸爽就别提了,学的我一度想挠黑板。没办法,那也只能硬着头皮学,就是硬看,多看几遍或者看上一段时间就差不多才能理解意思。中断、IO口还比较好理解,到了时钟系统就一脸懵,看了好多遍,一直到暑假才算大致理解了,写篇博文当做梳理,也希望能帮到大家。
首先理解一下时钟系统到底是干啥用的,这个问题曾经困扰了我好久。
(1)时钟系统一个作用是使cpu与各部分协调同步。因为各部件的工作速度不一致,导致它们在协同工作时出现沟通不便,效率低下的情况。有了时钟系统,运行快的部件即使已经执行完当前指令,在时钟系统进入下一个周期之前,它都要停下慢的部件执行完毕,直到下一个时钟信号的发出,所有部件再同时开始下一个指令的执行。
(2)触发某些部件的工作或运行,或者为某些部件提供动力。(这里我也理解的不是很深,就不展开讲了)
(3)计时的作用,配置好的每一个时钟周期的时间长度都是一样的,这样就可以利用其周期个数来进行一些与时间相关的任务。
那么时钟系统是如何起作用的呢?
首先先来说一下振荡器的知识。百度的定义是振荡器(oscillator)是一种能量转换装置——将直流电能转换为具有一定频率的交流电能,其构成的电路叫振荡电路。 直白一点就是说它可以把直流信号变成交流信号,既然是交流信号就会有一定的周期和频率。通过对交流信号的控制就可以得到一定的周期了,也就是时钟信号。
我们在学习时钟系统的时候还会遇到几个名词:晶振、晶体谐振器和晶体振荡器。这些又是什么呢?
我们的原则:有问题找百度。 但是百度上的原话有点乱(不知道是我理解力有限还是咋地反正奇怪的很),我重新组织一下,就是说从一块石英晶体上按一定方位角切下的薄片(简称为晶片),称为石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。
再来百度一下晶振的原理:
石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的 。
若在石英晶体的两个电极上加一电场,晶片就会产生机械变形。反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。如果在晶片的两极上加交变电压,晶片就会产生机械振动,同时晶片的机械振动又会产生交变电场。在一般情况下,晶片机械振动的振幅和交变电场的振幅非常微小,但当外加交变电压的频率为某一特定值时,振幅明显加大,比其他频率下的振幅大得多,这种现象称为压电谐振,它与LC回路的谐振现象十分相似。它的谐振频率与晶片的切割方式、几何形状、尺寸等有关 。
我们可以理解成该谐振器件两侧加一个交变电压,可以产生一个交变信号,我们就是要利用该交变信号产生时钟信号。
现在我们大概了解了晶振的原理,那么晶振、晶体振荡器、晶体谐振器到底有啥区别呢?看上面的百度里好像这三个概念区分的不是很清楚。我又上网查了一些资料,发现我们平时说的晶振概念比较笼统,它包含晶体振荡器和晶体谐振器&