STM32F429时钟树

上图从左往右看,就是整个 STM32F429 的时钟走向。这里,我们挑选出 13 个重要的地方
进行介绍(图
5.2.2.1 中标出的 1~13)。
1, 这是进入 PLL 之前的时钟分频系数(M),取值范围是: 2~63,一般取外部晶振的频率(比
25M 晶振,设置为 25)。注意,这个分频系数,对主 PLLPLLI2S PLLSAI 都有效。
2, 这是主 PLL,该部分控制 STM32F429 的主频率(PLLCLK)和 USB/SDIO/随机数发生
器等外设的频率(
PLL48CK)。其中, N 是主 PLL vco 的倍频系数,其取值范围是: 64~432P
是系统时钟的主 PLL 分频系数,其取值范围是: 246 8(仅限这四个值); Q USB/SDIO/

ALIENTEK 阿波罗 STM32F429 开发板教程

97
STM32F429 开发指南(寄存器版)
随机数产生器等的主 PLL 分频系数,其取值范围是: 2~15 R 没用到
3 , 这是 I2S 部分的 PLL ,该部分主要用于设置 I2S/SAI 内部输入时钟频率。其中, N 是用
PLLI2S vco 的倍频系数,其取值范围是: 192~432 R I2S 时钟的分频系数,其取值范围
是:
2~7 Q SAI 时钟分频系数,其取值范围是: 2~15 P 没用到。
4 , 这是 SAI 部分的 PLL ,该部分主要用于设置 SAI/LTDC 内部输入时钟频率。其中, N
是用于 PLLSAI vco 的倍频系数,其取值范围是: 192~432 Q SAI 时钟分频系数,其取值范
围是:
2~15 R LTDC 时钟的分频系数,其取值范围是: 2~7 P 没用到。
5 , 这是 PLL 之后的 USB/SDIO/ 随机数发生器时钟频率,由于 USB 必须是 48Mhz 才可以
正常工作,所以这个频率一般设置为
48Mhz(M=25,N=384,Q=8)
6 , 是 I2S 的时钟,通过 I2SSRC 选择内部 PLLI2SCLK 还是外部 I2SCKIN 作为时钟。阿波
STM32 没用到 I2S 音频接口(用 SAI ),所以这里不用设置。
7 , 是 SAI1_A 的时钟,通过 SAI1ASRC 选择内部 PLLSAI_Q PLLI2S_Q 还是外部 I2SCKIN
作为时钟。阿波罗 STM32 使用 SAI1_A 驱动 WM8978 , 时钟源来自 PLLSAI_Q
8 , 是 SAI1_B 接口的时钟,通过 SAI1BSRC 选择内部 PLLSAI_Q PLLI2S_Q 还是外部
I2SCKIN 作为时钟。阿波罗没用到 SAI1_B 输出,所以这里不用设置。
9 , 是 LTDC 接口的时钟, LTDC 的时钟,固定为 PLLSAI_R ,不可更改。
10 , 这里是 STM32F429 很多外设的时钟来源,即两个总线桥: APB1 APB2 ,其中 APB1
是低速总线(最高 45Mhz ), APB2 是高速总线(最高 90Mhz )。另外定时器部分,如果所在总
线(
APB1/APB2 )的分频系数为 1 ,那么就不倍频,如果不为 1 (比如 2/4/8/16 ),那么就会 2
倍频( Fabpx*2 )后,作为定时器时钟输入
11 , 这是 Cortex 系统定时器,也就是 SYSTICK 的时钟。上图清楚的表明 SYSTICK 的来
源是
AHB 分频后再 8 分频(这个 8 分频是可以设置的,即 8 分频,或者不分频,一般使用 8
分频),我们一般设置 AHB 不分频,则 SYSTICK 的频率为: 180M/8=22.5Mhz 。前面介绍的延
时函数,就是基于
SYSTICK 来实现的。
12 , 这是 PLL 之后的系统主时钟( PLLCLK ), STM32F429 的主频最高是 180Mhz ,所以一
般设置
PLLCLK 180Mhz(M=25,N=360,P=2) ,通过 SW 选择 SYSCLK=PLLCLK 即可得到
180Mhz 的系统运行频率。
13 STM32F429 内部以太网 MAC 时钟的来源。对于 MII 接口来说,必须向外部 PHY
片提供
25Mhz 的时钟,这个时钟,可以由 PHY 芯片外接晶振,或者使用 STM32F429 MCO
输出来提供。然后, PHY 芯片再给 STM32F429 提供 ETH_MII_TX_CLK ETH_MII_RX_CLK
时钟。对于 RMII 接口来说,外部必须提供 50Mhz 的时钟驱动 PHY STM32F429
ETH_RMII_REF_CLK ,这个 50Mhz 时钟可以来自 PHY 、有源晶振或者 STM32F429 MCO
我们的开发板使用的是
RMII 接口,使用 PHY 芯片提供 50Mhz 时钟驱动 STM32F429
ETH_RMII_REF_CLK
关于时钟的详细介绍,在《 STM32F4xx 中文参考手册》第 6.2 节( 106~113 页)有详细介
绍。有不明白的地方,可以对照手册仔细研究。 最后,提醒下大家,
STM32F429 默认的情况
下(比如串口
IAP 时或未初始化时钟时),使用的是内部 16M HSI 作为时钟的,所以不需要
外部晶振也可以下载和运行代码的。
从上图可以看出
STM32F429 的时钟设计的比较复杂,各个时钟基本都是可控的,任何外
设都有对应的时钟控制开关,这样的设计,对降低功耗是非常有用的,不用的外设不开启时钟,
就可以大大降低其功耗。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值