历史上的今天
今天是:2025年08月19日(星期二)
2018年08月19日 | stm32f103时钟树讲解
2018-08-19 来源:eefocus
时钟简介
时序在数字电路中的作用,就像通信中用到的载波,载波并不起眼,但是很重要。时钟也一样,现象上只是某种频率波峰波谷跳动,一成不变。但是有了它,就像人类的历史有了时间轴一样,什么时候该干什么事才有了可能。程序中发生的事件,能够按照自己的意愿发生。
时钟作用
[ ] 计时作用(供给某些计数器统计时间)
[ ] 控制时序(串口数据的传输,只能一位一位的传输)
[ ] 控制信号(将时钟的上升下降沿作为独特的控制标志)
stm32时钟模型
时钟源倍频器高速时钟高速外设低速时钟低速外设yesno
stm32内部时钟树
时钟源
stm32时钟源分为以下:
低速内部时钟LSI:频率为40kHz
高速内部时钟HSI :频率为8Mhz
低速外部时钟OSC_32:频率为32.7678khz
高速外部时钟OSC:频率范围4-16Mhz
时钟输出MCO:为其他设备提供时钟源
在对时钟频率要求不高的情况下,我们可以选择内部RC振荡器时钟作为单片机工作的时钟源。如果对时钟精度要求较高,我们要选择外部石英晶体振荡器(晶振),作为单片机的时钟源,因为内部时钟用的是模拟电路组成的振荡器,误差较大,在实时性要求比较高的场合(串口通信、IIC通信等)容易造成不可预知的错误。
时钟相对复杂的意义主要是为不同外设提供合适的时钟频率,主要目的是为了节能、低功耗。
高速时钟:用于高速外设IO 串口通信 SPI等等
低速时钟:用于低速外设 RTC 看门狗
倍频器:时钟与外设进行时钟适配
时钟树讲解
相关寄存器讲解
PLLSRC
锁相环倍频器时钟源选择
内部高速时钟2分频
外部高速时钟
PLLMUL
锁相环时钟倍频器
将PLLSRC选择的时钟进行倍频,最大不能超过72MHz
PLLXTPRE
锁相环时钟选择
选择外部时钟作为锁相环倍频器时钟源
选择外部时钟2分频后作为锁相环倍频器时钟源
SW
系统时钟选择
选择内部高速时钟作为系统时钟
选择锁相环倍频时钟作为系统时钟
选择外部高速时钟作为系统时钟
AHB
系统时钟分频器
CSS
时钟安全监测单元
当外部时钟意外故障,CSS在短时间内切换到内部高速时钟使单片机工作不中断
RTCCLK
实时时钟时钟源选择
选择锁相环倍频器时钟源128分频作为实时时钟时钟源
选择外部低速时钟作为实时时钟时钟源
选择内部低俗时钟作为实时时钟时钟源
MCO
时钟输出控制
锁相环时钟2分频输出
内部低俗时钟输出
内部高速时钟输出
系统时钟输出
关于APB1 APB2时钟重点
stn32单片机外设挂接在APB1、APB2两个桥上,但两个桥允许的始终最大频率不相同,APB2最大允许72MHz,APB1最大只允许36Mhz,在使用外设时应格外注意时钟,例如串口一挂接在APB2上,其余串口挂接在APB1上,在串口配置时应注意失踪频率的不同造成的波特率配置问题(库函数开发忽略此项内容)。
外部时钟晶振最好选择8M晶振,无论是库函数,还是keil默认配置启动文件时钟配置均是按照外部晶振8Mhz来进行的配置,系统时钟72Mhz,如果采用其余晶振还需要自己配置时钟树,对于新手来讲可能存在一定的困难
下一篇:STM32 M0时钟配置
史海拾趣
|
问一个简单的问题,用DSP的I/O口控制外围的指示灯或者报警器时, 在I/O口和指示灯或报警器之间需要什么其他芯片?比如说光耦? 为什么呢? 谢谢大家!… 查看全部问答> |
|
我们一般红外通讯采用的都是红外发射管发送信号,利用一体化接收器接收信号,这种做法是常见的方法,可在低功耗设计中,要实现时时通讯就只能使红外接收器长期供电工作,可红外接收器有一定的功耗不能满足低功耗的设计要求,怎样利用光 ...… 查看全部问答> |
|
现在有一台电脑跟一台嵌入式设备进行网络通讯,用双绞线的, 嵌入式装有操作系统,现在的问题是在电脑上能ping通嵌入式设备,但在嵌入却ping 不通, 第二个问题是,电脑跟设备通讯用的是TCP/IP,我想知道的是上层协议是用什么协议的,一般都是用 ...… 查看全部问答> |
|
我找不到怎么直接通过SFR的地址来读写SFR. 比如 我得到了一个0x80的地址,这是一个SFR的地址,我怎么向这个地址写入一个字节,或将SFR的内容读出来? void main( void ) { unsigned char btSfrAddr = 0x8 ...… 查看全部问答> |




