0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32中的时钟

MCU开发加油站 来源:工程师李察 2019-01-26 15:36 次阅读

下面就以STM32开发板中最常见的STM32F103系列芯片时钟为例,介绍一下STM32中的时钟。

时钟作用

说到时钟,你一定会问,这是用来计时的吗?没错,是用来计时的,但这只是它在STM32中的一项功能而已,下面就为你列出了时钟的具体功能。

计时作用(供给某些计数器统计时间);

控制时序(串口数据的传输,只能一位一位的传输);

控制信号(将时钟的上升下降沿作为独特的控制标志)。

STM32时钟模型

STM32中的时钟

STM32内部时钟树

STM32中的时钟

时钟源

时钟源就是产生时钟的电路啦,我们来一起看一下,什么样的电路可以产生时钟。

STM32中的时钟源分为以下五种:

低速内部时钟LSI:频率为40kHz ;

高速内部时钟HSI :频率为8MHz ;

低速外部时钟OSC_32:频率为32.7678kHz ;

高速外部时钟OSC:频率范围4-16MHz ;

时钟输出MCO:为其他设备提供时钟源。

在对时钟频率要求不高的情况下,我们可以选择内部RC振荡器时钟作为单片机工作的时钟源。如果对时钟精度要求较高,我们要选择外部石英晶体振荡器(晶振),作为单片机的时钟源,因为内部时钟用的是模拟电路组成的振荡器,误差较大,在实时性要求比较高的场合(串口通信、IIC通信等)容易造成不可预知的错误。

时钟相对复杂的意义主要是为不同外设提供合适的时钟频率,主要目的是为了节能、低功耗。

高速时钟:用于高速外设I/O、串口通信、SPI等等;

低速时钟:用于低速外设RTC看门狗

倍频器:时钟与外设进行时钟适配。

相关寄存器讲解

PLLSRC锁相环倍频器时钟源选择内部高速时钟2分频外部高速时钟

PLLMUL锁相环时钟倍频器将PLLSRC选择的时钟进行倍频,最大不能超过72MHz

PLLXTPRE锁相环时钟选择选择外部时钟作为锁相环倍频器时钟源选择外部时钟2分频后作为锁相环倍频器时钟源

SW系统时钟选择选择内部高速时钟作为系统时钟选择锁相环倍频时钟作为系统时钟选择外部高速时钟作为系统时钟

AHB系统时钟分频器

CSS时钟安全监测单元当外部时钟意外故障,CSS在短时间内切换到内部高速时钟使单片机工作不中断

RTCCLK实时时钟时钟源选择选择锁相环倍频器时钟源128分频作为实时时钟时钟源选择外部低速时钟作为实时时钟时钟源选择内部低俗时钟作为实时时钟时钟源

MCO时钟输出控制锁相环时钟2分频输出内部低俗时钟输出内部高速时钟输出系统时钟输出

关于APB1、APB2时钟

STM32单片机外设挂接在APB1、APB2两个桥上,但两个桥允许的始终最大频率不相同,APB2最大允许72MHz,APB1最大只允许36MHz,在使用外设时应格外注意时钟,例如串口一挂接在APB2上,其余串口挂接在APB1上,在串口配置时应注意失踪频率的不同造成的波特率配置问题(库函数开发忽略此项内容)。

外部时钟晶体振荡器最好选择8MHz晶振,无论是库函数,还是Keil默认配置启动文件时钟配置均是按照外部晶体振荡器8MHz来进行的配置,系统时钟72MHz,如果采用其他型号的晶体震荡器振还需要自己配置时钟树,对于新手来说可能存在一定的困难。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6509

    浏览量

    87557
  • STM32
    +关注

    关注

    2239

    文章

    10665

    浏览量

    348518
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130295

原文标题:STM32中的时钟

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    利用STM32CubeMX解读时钟

    提供给芯片中的RTC(实时时钟)及IWDG(独立看门狗)使用。2,中速时钟MSIRC是“中速内部时钟”或“中速内部振荡器”,是STM32L系列独有的
    的头像 发表于 11-24 08:00 332次阅读
    利用<b class='flag-5'>STM32</b>CubeMX解读<b class='flag-5'>时钟</b>树

    STM32的SysTick时钟源来自哪里?

    STM32的SysTick时钟源来自哪里?
    的头像 发表于 10-26 15:58 917次阅读
    <b class='flag-5'>STM32</b>的SysTick<b class='flag-5'>时钟</b>源来自哪里?

    STM32失能时钟和复位外设的区别

    STM32失能时钟和复位外设的区别
    的头像 发表于 10-17 11:48 542次阅读
    <b class='flag-5'>STM32</b>失能<b class='flag-5'>时钟</b>和复位外设的区别

    STM32F0系列MCU硬件电路时钟/复位/烧录设计

    STM32F0系列MCU支持使用内部RC时钟源作为芯片参考时钟,或者通过OSC_IN/OUT、OSC32_IN/OUT的时钟信号作为参考时钟
    的头像 发表于 09-27 11:25 1165次阅读
    <b class='flag-5'>STM32</b>F0系列MCU硬件电路<b class='flag-5'>时钟</b>/复位/烧录设计

    STM32有几个时钟STM32系统时钟专题讲解

    在数字电路中时钟是整个电路的心脏,电路的的一举一动都是根据时钟节拍下进行的,随着信息量逐渐提高,对硬件信息处理能力提出了更大的需求,时钟作为数字硬件的关键成员,其性能需要我们关注,尤其在高速电路设计中对模拟转换芯片对
    的头像 发表于 07-27 16:12 1573次阅读
    <b class='flag-5'>STM32</b>有几个<b class='flag-5'>时钟</b>源 <b class='flag-5'>STM32</b>系统<b class='flag-5'>时钟</b>专题讲解

    STM32 RTC实时时钟(一)

    STM32处理器内部集成了实时时钟控制器(RTC),因此在实现实时时钟功能时,无须外扩时钟芯片即可构建实时时钟系统。
    的头像 发表于 07-22 15:41 2800次阅读
    <b class='flag-5'>STM32</b> RTC实时<b class='flag-5'>时钟</b>(一)

    STM32时钟系统的基础知识

    Stm32芯片中有大量的电路模块,时钟系统提供一个频率信号为电路模块提供统一的节拍,使电路模块能有序工作,最终达到控制电路的目的。
    发表于 06-27 15:33 2637次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>时钟</b>系统的基础知识

    STM32时钟系统中的SysTick、FCLK、SYSCLK、PCLK和HCLK

    时钟信号好比是单片机的脉搏,了解STM32时钟系统是必要的,下图是STM32F1xx用户手册中的时钟系统结构图。
    发表于 06-15 17:07 3709次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>时钟</b>系统中的SysTick、FCLK、SYSCLK、PCLK和HCLK

    浅谈STM32单片机的时钟系统

      今天来总结一下stm32单片机的时钟系统,也就是时钟树的相关知识点。单片机正常工作的三要素是电源、时钟、复位电路。由此可以说,时钟的正常
    发表于 06-12 16:45 1414次阅读
    浅谈<b class='flag-5'>STM32</b>单片机的<b class='flag-5'>时钟</b>系统

    STM32学习笔记之RTC实时时钟2

    STM32 的实时时钟(RTC)是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的
    的头像 发表于 05-26 14:26 836次阅读
    <b class='flag-5'>STM32</b>学习笔记之RTC实时<b class='flag-5'>时钟</b>2

    STM32学习笔记之RTC实时时钟1

    STM32 的实时时钟(RTC)是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的
    的头像 发表于 05-26 14:26 1283次阅读
    <b class='flag-5'>STM32</b>学习笔记之RTC实时<b class='flag-5'>时钟</b>1

    单片机STM32时钟详解

    众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主
    的头像 发表于 05-22 10:09 2912次阅读
    单片机<b class='flag-5'>STM32</b><b class='flag-5'>时钟</b>详解

    基于STM32的0.96寸OLED时钟程序

    用的是stm32自带的RTC时钟。硬件连接很简单,当然程序也是比较简单的,只写了温度(DS18B20),stm32自带RTC和OLED显示,大家可自行删改功能。
    的头像 发表于 05-08 09:58 2338次阅读
    基于<b class='flag-5'>STM32</b>的0.96寸OLED<b class='flag-5'>时钟</b>程序

    基于STM32单片机RTC实时时钟使用库文件设计

    基于STM32单片机RTC实时时钟使用库文件设计源代码
    发表于 04-26 14:28 1次下载

    STM32F4时钟配置的操作步骤

    本文将介绍STM32F4时钟配置的操作步骤、并对比时钟配置前后LED外设闪烁的快慢以及对应代码的讲解。
    的头像 发表于 04-21 11:29 2174次阅读
    <b class='flag-5'>STM32</b>F4<b class='flag-5'>时钟</b>配置的操作步骤