STM32时钟模型和内部时钟树
0 2023-02-07

时序在数字电路中的作用,就像通信中用到的载波,载波并不起眼,但是很重要。时钟也一样,现象上只是某种频率波峰波谷跳动,一成不变。但是有了它,就像人类的历史有了时间轴一样,什么时候该干什么事才有了可能。程序中发生的事件,能够按照自己的意愿发生。下面就以STM32开发板中最常见的STM32F103系列芯片的时钟为例,介绍一下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,如果采用其他型号的晶体震荡器振还需要自己配置时钟树,对于新手来说可能存在一定的困难。 

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • PS/2接口协议的的嵌入式软件编程及应用分析

    1、引言随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981年IBM推出了IBMpc/XT键盘及其接口标准。该标准定义了83键,采用5脚DI

    12小时前
  • 基于通用型单片机和以太网控制器实现嵌入式以太网接口的设计

    由于嵌入式技术和网络技术的迅速发展,以太网接口在嵌入式系统中的应用越来越广泛,以太网接口不仅通信速度快,传输可靠,使用和配置方便,而且不受地域限制(广域网和局域

    12小时前
  • ARM TrustZone的简介概念

    TrustZone是ARM对ARM6的扩展,其实只是增加了一条指令,一个配置状态位,以及一个新的有别于核心态和用户态的安全态。ARM并没有把TrustZone设

    昨天
  • 主流ARM的分类介绍

    ARMCPU现在分为3种型号:A系列:主要是用在智能手机上,代表的系统是Andrios和IOS。R系列:和M系列一样,更注重实时功能,军工和航天的实时嵌入式设备

    昨天
  • 如何用51单片机进行遥控解码

    遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来.用作单

    昨天
  • Cortex-M3寄存器的11个知识点

    1.寄存器CM3拥有R0~R15通用寄存器和一些特殊功能寄存器R0~R12这些通用寄存器,复位初始值都是不可预料的2.CM3有R0到R15的通用寄存器组注:绝大

    昨天
  • MM32F0/L0/W0系列MCU之EXTI

    一、MM32嵌套向量中断控制器本文针对MM32F0/L0/W0系列MCU产品。特征 ○中断都可屏蔽(除了NMI) ○16个可编程的优先等级(使用了4位中断优先级

    昨天
  • 用库函数的方法来设置STM32 DAC

    STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在1

    昨天
  • PIC单片机设计引脚中断程序

    所有的中档系列PIC单片机,PORTB端口最高的4个引脚(RB7~RB4)在设为输入模式时,当输入电平由高到低或由低到高发生变化时,可以让单片机产生中断。这就是

    昨天
  • EEPROM和FLASH的区别

    1、EEPROM介绍ElectricallyErasableProgrammableReadOnlyMemory电气可拭除可编程只读存储器发展过程:ROM–&g

    昨天
  • stm32之CMSIS标准、库目录、GPIO

    一、CMSIS标准ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU。该内核是ARM公司设计的一种处理器体系架构。内核与外设的关系就

    昨天
  • uCOS-II下编写中断服务程序

    在uCOS-II实时内核下,对外设的访问接口没有统一完善,有很多工作需要用户自己去完成。串口通信是单片机测控系统的重要组成部分,异步串行口是一个比较简单又很具代

    昨天
下载排行榜
更多
广告