打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
聊聊STM32的时钟

时序在数字电路中的作用,就像通信中用到的载波,载波并不起眼,但是很重要。时钟也一样,现象上只是某种频率波峰波谷跳动,一成不变。但是有了它,就像人类的历史有了时间轴一样,什么时候该干什么事才有了可能。程序中发生的事件,能够按照自己的意愿发生。接下来,小编就以STM32开发板中最常见的STM32F103系列芯片的时钟为例,向各位看官介绍一下STM32中的时钟。

时钟作用

说到时钟,你一定会问,这是用来计时的吗?没错,是用来计时的,但这只是它在STM32中的一项功能而已,下面小编就为您列出了时钟的具体功能。

计时作用(供给某些计数器统计时间);

控制时序(串口数据的传输,只能一位一位的传输);

控制信号(将时钟的上升下降沿作为独特的控制标志)。

STM32时钟模型

STM32内部时钟树

时钟源

时钟源就是产生时钟的电路啦,我们来一起看一下,什么样的电路可以产生时钟。

STM32中的时钟源分为以下五种:

低速内部时钟LSI:频率为40kHz ;

高速内部时钟HSI :频率为8MHz ;

低速外部时钟OSC_32:频率为32.7678kHz ;

高速外部时钟OSC:频率范围4-16MHz ;

时钟输出MCO:为其他设备提供时钟源。

在对时钟频率要求不高的情况下,我们可以选择内部RC振荡器时钟作为单片机工作的时钟源。如果对时钟精度要求较高,我们要选择外部石英晶体振荡器(晶振),作为单片机的时钟源,因为内部时钟用的是模拟电路组成的振荡器,误差较大,在实时性要求比较高的场合(串口通信、IIC通信等)容易造成不可预知的错误。

时钟相对复杂的意义主要是为不同外设提供合适的时钟频率,主要目的是为了节能、低功耗。

高速时钟:用于高速外设I/O、串口通信、SPI等等;

低速时钟:用于低速外设RTC看门狗 ;

倍频器:时钟与外设进行时钟适配。

相关寄存器讲解

PLLSRC

锁相环倍频器时钟源选择

内部高速时钟2分频

外部高速时钟

PLLMUL

锁相环时钟倍频器

将PLLSRC选择的时钟进行倍频,最大不能超过72MHz

PLLXTPRE

锁相环时钟选择

选择外部时钟作为锁相环倍频器时钟源

选择外部时钟2分频后作为锁相环倍频器时钟源

SW

系统时钟选择

选择内部高速时钟作为系统时钟

选择锁相环倍频时钟作为系统时钟

选择外部高速时钟作为系统时钟

AHB 系统时钟分频器

CSS

时钟安全监测单元

当外部时钟意外故障,CSS在短时间内切换到内部高速时钟使单片机工作不中断

RTCCLK

实时时钟时钟源选择

选择锁相环倍频器时钟源128分频作为实时时钟时钟源

选择外部低速时钟作为实时时钟时钟源

选择内部低俗时钟作为实时时钟时钟源

MCO

时钟输出控制

锁相环时钟2分频输出

内部低俗时钟输出

内部高速时钟输出

系统时钟输出

关于APB1、APB2时钟

STM32单片机外设挂接在APB1、APB2两个桥上,但两个桥允许的始终最大频率不相同,APB2最大允许72MHz,APB1最大只允许36MHz,在使用外设时应格外注意时钟,例如串口一挂接在APB2上,其余串口挂接在APB1上,在串口配置时应注意失踪频率的不同造成的波特率配置问题(库函数开发忽略此项内容)。

外部时钟晶体振荡器最好选择8MHz晶振,无论是库函数,还是Keil默认配置启动文件时钟配置均是按照外部晶体振荡器8MHz来进行的配置,系统时钟72MHz,如果采用其他型号的晶体震荡器振还需要自己配置时钟树,对于新手来说可能存在一定的困难。

小编说得再好,也没有杜洋老师对STM32的理解深刻。当你徘徊在嵌入式开发的大门外时,杜洋老师将为你指点迷津。由他主讲的基于STM32的嵌入式开发系统培训即将隆重启幕,扫描下面的二维码填写调查问卷,还有机会获得我们送出的精美书籍,快来行动吧!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
STM32 时钟树笔记
STM32的RCC配置流程
STM32时钟控制RCC探究(转) - 奋斗
STM32通用定时器使用详解
STM32 时钟系统http://blog.chinaunix.net/uid-24219701-id-4081961.html
STM32系统时钟默认设置
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服