STM32学习笔记——时钟

目录

一、STM32内部时钟

1、HSI  (High-speed internal clock) 高速内部时钟

2、HSE (High-speed external clock) 高速外部时钟

3、LSI (Low-speed internal clock) 低速内部时钟

4、LSE (Low-speed external clock) 低速外部时钟

5、PLL (Phase Locked Loop) 锁相环输出

二、时钟树

1、SYSCLK (System Clock) 系统时钟

2、CSS (Clock Security System) 时钟安全系统

3、RTC (Real-time clock) 实时时钟/AWU (Automatic Wake-up Unit) 自动唤醒单元时钟

4、Watchdog Clock 看门狗时钟

三、时钟配置     


一、STM32内部时钟

图1.1 系统架构 

        “STM32芯片通电后,系统默认使用内部高速时钟,随后程序在启动的过程中切换到稳定性较强的高速外部时钟作为系统的时钟源;当检测到外部时钟失效时,该时钟将会被隔离,系统自动切换到内部的RC振荡器。”

STM32中,共含有五个时钟源。

1、HSI  (High-speed internal clock) 高速内部时钟

        RC振荡器,默认频率16MHz。

2、HSE (High-speed external clock) 高速外部时钟

       可接石英/陶瓷振荡器,或结外部时钟源,可外接频率范围:4~26MHz。

3、LSI (Low-speed internal clock) 低速内部时钟

        RC振荡器担当一个低功耗时钟源的角色,频率为40KHz用于独立看门狗或驱动RTC。

4、LSE (Low-speed external clock) 低速外部时钟

       连接频率为32.768kHz的石英晶体,用于驱动RTC。

5、PLL (Phase Locked Loop) 锁相环输出

       它有以下两个用途:

 (1)主PLL由HSI或HSE振荡器提供时钟,具有两种特性。

        ①第一种是输出时钟。其中,第一个输出用于产生高速系统时钟(设置芯片的主频,高达168MHz);第二个输出用于产生USB OTG FS (48MHz) 的时钟。

        ②随机模拟发生器(\leq48MHz)以及SDIO (\leq48MHz)。

(2)专用PLL (PLLI^{2}S),用于生成精确的时钟以提高在I^{2}S接口上的音频性能。


*RTC (Real-time clock) 实时时钟,用于从停机/待机模式下自动唤醒系统。

*USB OTG FS (USB On-The-Go Full Speed),除了FS全速,还有HS (High Speed)高速、LS (Low Speed)低速。

*I^{2}S (Inter—IC Sound) 总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准


二、时钟树

图2.1 STM32F10xxx时钟树

        “微控制器必须由周期性的时钟脉冲来驱动,往往由一个外部晶振振荡器提供的时钟输入作为开始,最终转换为多个外部设备的周期性运作作为结尾。其中,时钟脉冲流经的路径,犹如大树的根一样通过主干流向各个分支,其路径通常称为‘时钟树’。”

1、SYSCLK (System Clock) 系统时钟

        在系统复位之后,会默认将HSI作为系统时钟。若时钟源直接或通过PLL间接作为系统时钟,那么它将不可停止。只有目标时钟源准备就绪后才能切换,如果先选择了尚未准备好的时钟源,那么只能等待目标时钟源准备完成才能切换。

        其中,RCC时钟控制器 (RCC_CR)中就能标指出哪个时钟准备就绪了。


*RCC (Reset and Clock Control) 复位和时钟控制器,负责管理时钟源和时钟分频,并且为系统中的各个外设提供时钟使能。

*RCC_CR (Reset and Clock Control_Control Registers) 时钟控制寄存器。


2、CSS (Clock Security System) 时钟安全系统

        时钟安全系统可以通过软件被激活。激活后,时钟监测器将在HSE振荡器启动延迟后被 使能,并在HSE时钟关闭后关闭。 如果HSE时钟发生故障,会自动禁止该振荡器,将时钟故障时间发送到高级控制定时器TIM1和TIM8的中断输入中,并产生时钟安全中断CSSI,允许软件完成营救操作。此CSSI中断连接到 Cortex™-M3的NMI中断(不可屏蔽中断)。

注意: 一旦CSS被激活,并且HSE时钟出现故障,CSS中断就产生,并且NMI也自动产生。NMI将被不断执行,直到CSS中断挂起位被清除。因此,在NMI的处理程序中必须通过设置时钟中断寄存器 (RCC_CIR)里的CSSC位来清除CSS中断。

         如果HSE振荡器被直接或间接地作为系统时钟,(间接的意思是:它被作为PLL输入时钟,并且 PLL时钟被作为系统时钟),时钟故障将导致系统时钟自动切换到HSI振荡器,同时外部HSE振荡 器被关闭。在时钟失效时,如果HSE振荡器时钟(被分频或未被分频)是用作系统时钟的PLL的输 入时钟,PLL也将被关闭。

3、RTC (Real-time clock) 实时时钟/AWU (Automatic Wake-up Unit) 自动唤醒单元时钟

4、Watchdog Clock 看门狗时钟

        如果独立看门狗已经由硬件选项或软件启动,LSI振荡器将被强制在打开状态,并且不能被关 闭。在LSI振荡器稳定后,时钟供应给独立看门狗 (IWDG)。


*IWDG (Independent Watchdog) 独立看门狗。

*备份域 (Backup Domain)是由电子单独供电的区域,防止单片机因断电、复位或其他突发情况导致数据丢失。


三、时钟配置     

        图3.1

        如图3.1可知,AHB时钟的主要频率是由PLL时钟提供的,通过AHB分频器分频后将时钟作为AHB bus的运行时钟。

        APBx分为APB1(低速总线时钟)&APB2(高速总线时钟)两个时钟,时钟来源为AHB时钟。


*AHB (Advanced High Performance Bus) 先进的高性能总线。

*APB (Advanced Peripheral Bus) 高级外设总线。


若文章内容出现错误,恳请各位批评指正,感激不尽!

  • 31
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据引用内容,STM32C8T6是一款通用增强型的48脚单片机,具有64K闪存和LQFP封装。它适用于工业级温度范围-40~85度。下面是一些关于STM32C8T6学习笔记: 1. 学习资料:可以从ST官方网站下载STM32C8T6的数据手册和参考手册,这些手册包含了该单片机的详细信息和使用方法。 2. 开发环境:为了开始学习STM32C8T6,你需要安装相应的开发环境。ST官方提供了一款免费的集成开发环境(IDE)——STM32CubeIDE,它可以帮助你进行代码编写、调试和下载。 3. 编程语言:STM32C8T6可以使用多种编程语言进行开发,包括C语言和汇编语言。C语言是最常用的编程语言,它可以通过STM32CubeIDE进行编写和调试。 4. 引脚配置:在使用STM32C8T6之前,你需要了解每个引脚的功能和配置。数据手册中有一张引脚功能表,可以帮助你了解每个引脚的用途和配置方法。 5. 时钟配置:STM32C8T6具有多个时钟源和时钟分频器,你需要根据自己的需求配置正确的时钟时钟配置对于外设的正常工作非常重要。 6. 中断和定时器:STM32C8T6支持中断和定时器功能,这些功能可以帮助你实现各种任务和功能。你可以通过配置中断和定时器来实现外设的响应和定时操作。 7. 外设驱动:STM32C8T6具有丰富的外设,包括GPIO、UART、SPI、I2C等。你可以根据自己的需求选择合适的外设,并学习如何配置和驱动这些外设。 8. 调试和下载:在开发过程中,你可以使用STM32CubeIDE提供的调试功能来调试你的代码。一旦代码调试完成,你可以使用ST-Link或其他下载器将代码下载到STM32C8T6上运行。 希望以上笔记对你学习STM32C8T6有所帮助!如果你有任何进一步的问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值