文档章节

Stm32复习之时钟系统

o
 osc_fmg49rzg
发布于 2019/03/20 13:57
字数 780
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

地点:南图 

这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要。

为了便于理解这一系统,将从以下几个层次来讲。(忘了是在哪儿看到的这么一句话,当你能对某人解释清楚某一部分知识,那么说明你已经完全掌握了它) 。

1、第一个层次:硬件

STM32的时钟源 可以有以下5个来源:

(1)HSI高速的内部时钟

8M的RC震荡时钟,相对于晶体振荡器精确度差些,因此在需要精确频率或定时的应用时,应选用HSE作为系统时钟。这个是在STM32内部的,在没有外接晶体振荡器的时候,系统的时钟就会用此作为时钟源。 

(2)HSE高速的外部时钟

允许外接4~16M频率的晶体振荡器 ,相比于内部的RC晶体振荡器精确度高些。通常最小系统板上接的椭圆形扁平的就是8M的晶体谐振器。

(3)LSI低速的内部时钟

 因为现阶段不会用到,所以没细看。大致功能是作为RTC的时钟源。

(4)LSE低速外部时钟

同(3)。 

(5)外部的输入时钟 

  可以使用其他单片器或时钟电路的输入方波作为时钟源,接入的引脚是OSC_IN,输入的必须是占空比为50%的方波或三角波。

 2、第二层次:时钟系统内的时钟源细分

  这部分的分析从源头出发分析,着重分析系统时钟SYSCLK的来源。

(1)sysclk的时钟来源。(SYSCLK允许的最大频率是72MHZ)

有三个来源:

HSE:提供8MHZ频率给SYSCLK

HSI:同HSE

PLL :PLL是第二级的时钟源,他的时钟来源是HSE(HSE/2、HSE)或HSI(HSI/2),输出的频率是倍频之后的频率。

这部分的内容重点是SYSCLK的来源,SYSCLK的作用是直接作为外设和AHB总线的时钟源(这样表述好像有问题)。 

(2) AHB时钟源(对应时钟频率HCLK)

来源是SYSCLK分频之后,因此频率最大的情况是1分频时即72MHz。AHB的作用是作为APB1和APB2的时钟源,以及8分频后作为Cortex的外部时钟(Systick)

(3)APB1低速时钟总线

APB1低速时钟总线的作用是作为挂载在上面的外设的时钟源,最大36MHz。 

(4)APB2高速时钟总线

最大72Mhz。 

3、重要外设时钟源分析

(1)定时器

高级定时器TIM1、TIM8是挂载在APB2上的,其他定时器TIM2~TIM7挂载在APB1上。值得注意的是定时器的时钟频率取决于分频系数,当分频系数为1时,则其时钟频率和相应总线频率相等,其他分频系数,时钟频率为总线频率的2倍。 

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
STM32学习心得十八:通用定时器基本原理及相关实验代码解读

记录一下,方便以后翻阅~ 主要内容: 1) 三种定时器分类及区别; 2) 通用定时器特点; 3) 通用定时器工作过程; 4) 实验一:定时器中断实验补充知识及部代码解读; 6) 实验二:定时器P...

闲人Ne
04/21
0
0
stm32 延时函数 delay_ms 范围

今天我用delayms来延时5s,嗯,delayms(5000),发现led灯亮的时间绝对不可能是5秒。我以为我的系统时钟没有配置好,查了半天,系统复习了下stm32的时钟系统。后来发现是对72M条件下,nms<=1864 ...

osc_y8k7fox4
2018/08/04
3
0
STM32学习心得三十一:485通信原理及实验

记录一下,方便以后翻阅~ 主要内容: 1) 485接口原理; 2) 相关实验代码解读。 实验功能:两个开发板的485接口以A连接A,B连接B的方式直连。两个开发版的代码启动后,主开发版上,按键KEY...

闲人Ne
06/15
0
0
STM32学习心得三十二:CAN通信基础知识、原理、配置及实验

记录一下,方便以后翻阅~ 主要内容: 1) CAN通信基础知识; 2) STM32 CAN控制器简介; 3) 相关实验代码解读。 参考资料:《STM32中文参考手册V10》第22章——控制器局域网(bxCAN) 实验功能...

闲人Ne
06/18
0
0
Stm32之通用定时器复习

因为毕业设计要用到PWM调光很久都没用到Stm32的定时器,有些内容已经遗忘,为了回顾复习相关内容今天开下通用定时器这一章节的数据手册。 1、时钟 通用定时器一般是TIM2~TIM5,TIM1、TIM8是高...

osc_8q50i7hp
2019/04/22
2
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在控制器中使用过滤器? - How to use a filter in a controller?

问题: I have written a filter function which will return data based on the argument you are passing. 我编写了一个过滤函数,它将根据您传递的参数返回数据。 I want the same functi......

富含淀粉
42分钟前
26
0
android:layout_weight是什么意思? - What does android:layout_weight mean?

问题: I don't understand how to use this attribute. 我不明白如何使用这个属性。 Can anyone tell me more about it? 谁能告诉我更多关于它的事情? 解决方案: 参考一: https://stacko...

javail
今天
17
0
CSS背景不透明度[重复] - CSS Background Opacity [duplicate]

问题: This question already has an answer here: 这个问题已经在这里有了答案: How do I give text or an image a transparent background using CSS? 如何使用CSS为文本或图像提供透明背...

fyin1314
今天
27
0
node http 获取gb2312网页如何转为utf8

最初,我想当然认为是下述做法,但被证明是错误的 const http = require('http'), iconv = require('iconv-lite');const url = 'http://xxx';http.get(url, function(res) { var bo......

高延
今天
24
0
动态规划:LC198.打家劫舍

题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入...

曦鱼violet
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部