zoukankan      html  css  js  c++  java
  • STM32时钟

    本章参考资料:《 STM32F4xx 中文参考手册》 RCC 章节。

    学习本章时,配合《 STM32F4xx 中文参考手册》 RCC 章节一起阅读,效果会更佳,特

    别是涉及到寄存器说明的部分。

    RCC : reset clock control 复位和时钟控制器。本章我们主要讲解时钟部分,特别是要

    着重理解时钟树,理解了时钟树, F429 的一切时钟的来龙去脉都会了如指掌。 

       

    HSE时钟 

    HSEHigh Speed External Clock signal,即高速的外部时钟。

    来源:有源晶振(1-50M)、无源晶振(4-26M

    控制:RCC_CR 时钟控制寄存器的位16HSEON控制 

       

    HSI时钟 

    HSIHigh Speed Internal Clock signal,即高速的内部时钟。

    来源:芯片内部,大小为16M,当HSE故障时,系统时钟会自动

    切换到HSI,直到HSE启动成功。

    控制: RCC_CR 时钟控制寄存器的位0HSION控制 

    问题:有源晶振和无源晶振的区别?

    为什么要通过PLL180M而不直接接180M的晶振?

    无源晶振有2个引脚,需要借助于外部的时钟电路(接到主IC内部的震荡电路)才能产生振荡信号,自身无法振荡。

    有源晶振有4个引脚,是一个完整的振荡器,其中除了石英晶体外,还有晶体管和阻容元件.只需要电源,就可输出比较好的波形。

    晶振频率越高,受温度的影响越大,这是制造工艺决定的....所以一般是外部接8-12M的晶振,然后内部锁相环升频,就会得到高频的时钟信号。

    锁相环时钟

    锁相环时钟:PLLCLK

    来源:HSI HSE。由PLLSRC位配置。

    HSE或者HSI先经过一个分频因子M进行分频,然后再经过一个

    倍频因子N,然后再经过一个分频因子P,最后成为锁相环时钟

    PLLCLK = (HSE/M) * N / P = 25/25 * 360 / 2 = 180M

    控制: RCC_PLLCFGR :RCC PLL 配置寄存器

    PLL48CKUSB_FS RANG SDIO提供时钟 

    系统时钟

    缩写:SYSCLK,最高为180MF407最高为168M

    来源:HSI HSEPLLCLK

    控制: RCC_CFGR 时钟配置寄存器的SW位 

    HCLK时钟

    HCLKAHB高速总线时钟,最高为180M。为AHB总线的外设

    提供时钟、为Cortex系统定时器提供时钟(SysTick)、为内核

    提供时钟(FCLK)。

    AHBadvanced high-performance bus

    来源:系统时钟分频得到。

    控制: RCC_CFGR 时钟配置寄存器的HPRE位 

    PCLK1时钟

    PCLK1APB低速总线时钟,最高为45M APB1总线的外设

    提供时钟。 2倍频之后则为APB1总线的定时器提供时钟,最大

    90M

    来源:HCLK分频得到。

    控制: RCC_CFGR 时钟配置寄存器的PPRE1位 

    PCLK2时钟

    PCLK2APB高速总线时钟,最高为90M。为APB2总线的外设

    提供时钟。 2倍频之后则为APB2总线的定时器提供时钟,最大

    180M

    来源:HCLK分频得到。

    控制: RCC_CFGR 时钟配置寄存器的PPRE2位 

    RTC时钟

    RTC:为芯片内部的RTC提供时钟。

    来源:HSE_RTCHSE分频得到)、 LSE(外部32.768KHZ的晶

    体提供)、 LSI32KHZ)。

    控制: RCC备份域控制寄存器RCC_BDCRRTCSEL位控制

    独立看门狗时钟:IWDGCLK,由LSI提供 

    I2S时钟:由外部的引脚I2S_CKIN或者PLLI2SCLK提供。

    以太网PHY时钟:429没有集成PHY,只能外接PHY芯片,

    比如LAN8720,那PHY时钟就由外部的PHY芯片提供,大小

    50M

    USB PHY时钟429USB没有集成PHY,要想实现USB

    速传输,只能外接PHY芯片,比如USB33000。那USB PHY

    钟就由外部的PHY芯片提供。

       

    完整时钟树参考手册。

    不得不说,ST给我们做好固件库之后,开发速率直线提升,比起2440好上手,这种时钟配置不需要我们关心,但2440什么都要自己来,相辅相成。

    F103 系列中,使用 HSI 最大只能把系统设置为 64M,并不能跟使用 HSE 一样把系统

    时钟设置为 72M,究其原因是 HSI 在进入 PLL 倍频的时候必须 2 分频,导致 PLL 倍频因子

    调到最大也只能到 64M,而 HSE 进入 PLL 倍频的时候则不用 2 分频。

     F429 中,无论是使用 HSI 还是 HSE 都可以把系统时钟设置为 180M,因为 HSE 

     HSI 在进入 PLL 倍频的时候都会被分频为 1M 之后再倍频。

    还有一种情况是,有些用户不想用 HSE,想用 HSI,但是又不知道怎么用 HSI 来设置

    系统时钟,因为调用库函数都是使用 HSE 下面我们给出个使用 HSI 配置系统时钟例子,

  • 相关阅读:
    腾讯广告算法大赛2019
    Mysql的部分常用SQL语句
    org.activiti.dependencies 7.1.0.M6 造成版本冲突问题的解决
    windows 将 redis 注册为服务 自动启动或手动启动
    org.springframework.security.access.AccessDeniedException: Access is denied
    对两个List进行关联匹配,选择匹配上的记录形成新的List输出
    越是大型的组织,越需要试验基地,试验基地应有特殊待遇
    dubbo+zookeeper 安装所遇系列问题
    签名与验签——图解
    关于航空母舰战斗群出海训练,常有大量鱼群跟随问题的建议和设想
  • 原文地址:https://www.cnblogs.com/ChengR/p/15716555.html
Copyright © 2011-2022 走看看