STM32F407: 畅谈时钟树

PART ONE:
下面阐述一些基本时钟知识:
①时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟,arm级别的芯片不同于单片那样的简单,一个时钟控制天下,arm要考虑芯片功耗、精度、频率,有一些外设不需要那么高频率,高精度,就用低频低精度时钟即可以使用也节省了功耗。
②时钟相当于CPU,进行定时和与时间有关操作。
③晶振----向显卡、网卡、主板等配件的各部分提供基准频率。晶振产生时钟信号。
④单片机中的众多寄存器、存储器由D触发器构成,需要上升沿改变状态。
⑤单片机执行程序需要一个程序计数器,而程序计数器是与时钟脉冲直接挂钩的,每来一个时钟脉冲,程序计数器就加一。就像51单片机一样每12个时钟周期就执行一次程序,没有时钟单片机就没法执行程序。

PART TWO:
时钟树图如下:
在这里插入图片描述
在STM32F4中,有5个最重要的时钟源,为(①到⑤)HSI、HSE、LSI、LSE、PLL。其中PLL实际是分为两个时钟源,分别为主PLL和专用PLL。从时钟频率来分可以分为告诉时钟和低速时钟源,在这5个中HSI、HSE、PLL是高速时钟,LSI、LSE是低速时钟。从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振的方式获得时钟源,其中HSE,LSE是外部时钟源,其他的是内部时钟。结合上面时钟树图及图中标记,做出以下分析。

A区 为外设的看门狗时钟,由LSI使能。精度低消耗少。

B区 一个选择器使RTC自动唤醒单元可以选择 LSI 或者 经2到31分频后的HSI 或者HSE(多用后者)作为时钟源。

C区 MCO1是由SYSCLK、PLLI2S、HSE、LSE 经选择器选择后 再经分频器(分频1到5)分频后传到MCO1(PA8)作为输出引脚,输出4个不同的的时钟源。MCO2是由LSE、HSE、HSI、PLL经选择器选择后 再经分频器(分频1到5)分频后传到MCO2(PC9)作为输出引脚,输出4个不同的的时钟源。

D区 选择器前端为HSI、HSE、PLLCLK(锁相环时钟,此选择器多用这个,最高168MHZ),后端为SYSCLK(系统时钟,日常所用的外设时钟多为此系统时钟作为间接时钟来输出使能)。

E区 为外设时钟,在系统时钟使能下,经分频后送往不同的外设时钟。

F区 分为主PLL,以及专用PLLI2S,主PLL经分频器选择HSI或者HSE作为时钟来源除以M乘以N最后再除以P或Q或R作为输出传向系统时钟以及USB/ORT使能时钟中。专用PLL以与主PLL同样的方法输出时钟专为音质、音量提供时钟来源(频率要求高,所以特意设置的专用PLL时钟)。

G、H区 分别为以太网专用时钟以及USB、PHY专用时钟。

PART THREE:

库函数代码中,常用的寄存器函数介绍:

RCC时钟控制寄存器(RCC_CR):先使能时钟,等待时钟就绪。
RCCPLL配置寄存器(RCC_PLLCFGR):配置PLL中N、P、Q、R值。
RCC时钟配置寄存器(RCC_CFRG):设置分频系数的值,以及时钟源选择器的设置。
RCC AHB1(B2、B3)外设时钟使能寄存器RCC_AHB1(B2、B3)ENR:使能外设时钟(像加密时钟、LED时钟)。
用于STM32F42xxxRCCAPB1(B2)外设时钟使能寄存器(RCC_APB1(B2)ENR):使能(DAC、电源接口。定时器等)外设时钟。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值