基础——内部RC振荡电路、外部晶振、RCC、RTC

1 定义

单片机内部是不会放晶振的,只有RC振荡器!

1.1 RC振荡器

在振荡电路中的频率选择部分可以只用电阻R和电容C构成。 这种只用电阻和电容构成的振荡器称为RC振荡器 。


1.2 晶振

只要在晶体板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。

基础——内部RC振荡电路、外部晶振、RCC、RTC_第1张图片

2 各自优缺点

2.1 RC振荡器

优点是实现的成本比较低,毕竟就是一个电阻电容。缺点是由于电阻电容的精度问题所以RC振荡器的震荡频率会有误差,同时受到温度、湿度的影响,这个跟元器件的工艺有关。

2.2 晶体振荡器

优点是相对来说震荡频率一般都比较稳定。缺点的话就是价格要稍微高点了,还有用晶体振荡器一般还需要接两个 15-33pF起振电容。

一般单片机中很少用RC振荡器,可能在实验室环境会用,而在实际的工程、工业上很少用到,常用的也就是晶体振荡器。因为很多时候单片机需要一个精度的机器周期作定时、通讯等用途,如果震荡频率不准的话对产品的功能是有很大影响的。

3 RTC

RTC(Real-Time Clock)即实时时钟,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。任何实时时钟的核心都是晶振,此时晶振的作用是提供基准频率,频率为32.768kHz。相比较晶振只可以产生稳定的频率,实时时钟是以输入频率做基础,再依此作除频、倍频、PLL等等,产生出处理器与主板各部分所需的频率。

RTC是单片机的实时时钟,它需要时钟源,stm32中32 kHz 低速内部 RC (LSI RC),可选择提供给 RTC 用于停机/待机模式下的自动唤醒。32.768 kHz 低速外部晶振(LSE 晶振),用于驱动 RTC 时钟 (RTCCLK)。

4 RCC

Reset and clock control (RCC),即复位与时钟控制,主要是通过寄存器配置时钟源。

5 STM32的时钟源

有五个时钟源,为HSIHSELSILSEPLL:

HSI是高速内部时钟,RC振荡器,频率为8MHz。

HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。

LSI是低速内部时钟,RC振荡器,频率为40kHz。

LSE是低速外部时钟,接频率为32.768kHz的石英晶体。

PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

基础——内部RC振荡电路、外部晶振、RCC、RTC_第2张图片

【注】:

从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。

即当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APBx的频率;当 APBx的预分频系数为其它数值(即预分频系数为2、4、8或16)时,这个倍频器起作用,定时器的时钟频率等于APBx的频率两倍。

假设系统时钟频率160M,初始化 APB 的时钟为 4分频,所以 APB 的时钟为 160/4=40M, 而从 STM32的内部时钟树图得知:当 APB的时钟分频数为 1 的时候, 某些TIM 的时钟为 APB的时钟,而如果 APB1 的时钟分频数不为 1,那么这些定时器的时钟频率将为 APB时钟的两倍。

 

你可能感兴趣的:(ARM,底层)