STM32基础知识储备①-时钟

摘自正点原子PPT

三种不同的时钟源可被用来驱动系统时钟(SYSCLK):
● HSI振荡器时钟
● HSE振荡器时钟
● PLL时钟
这些设备有以下2种二级时钟源:
● 40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/
待机模式下自动唤醒系统。
● 32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。
当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。
在这里插入图片描述
摘自正点原子PPT
这个时钟图感觉相当重要,但是确实也很有意思。

1.HSE时钟(高速外部时钟信号)
产生方式:

  1. HSE外部晶体/陶瓷谐振器
  2. HSE用户外部时钟
    一般stm32最小系统搭载的是8MHz的晶振。

2 HSI时钟

HSI时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输入。
HSI RC振荡器能够在不需要任何外部器件的条件下提供系统时钟。它的启动时间比HSE晶体振
荡器短。然而,即使在校准之后它的时钟频率精度仍较差。
如果HSE晶体振荡器失效,HSI时钟会被作为备用时钟源。

3 PLL

内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟、
PLL的设置(选择HIS振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子)必须在其被激
活前完成。一旦PLL被激活,这些参数就不能被改动。
如果PLL中断在时钟中断寄存器里被允许,当PLL准备就绪时,可产生中断申请。

4 LSE时钟

LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供
一个低功耗且精确的时钟源。
LSE晶体通过在备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭。 在备份域控制寄存器(RCC_BDCR)里的LSERDY指示LSE晶体振荡是否稳定。在启动阶段,直到这个位被硬件置’1’后,LSE时钟信号才被释放出来。如果在时钟中断寄存器里被允许,可产生中断申请。 外部时钟源(LSE旁路) 在这个模式里必须提供一个32.768kHz频率的外部时钟源。你可以通过设置在备份域控制寄存器
(RCC_BDCR)里的LSEBYP和LSEON位来选择这个模式。具有50%占空比的外部时钟信号(方波、正弦波或三角波)必须连到OSC32_IN引脚,同时保证OSC32_OUT引脚悬空 。

5 LSI时钟

LSI RC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看门狗和
自动唤醒单元提供时钟。LSI时钟频率大约40kHz(在30kHz和60kHz之间)。
LSI RC可以通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭。
在控制/状态寄存器(RCC_CSR)里的LSIRDY位指示低速内部振荡器是否稳定。在启动阶段,直到这个位被硬件设置为’1’后,此时钟才被释放。如果在时钟中断寄存器(RCC_CIR)里被允许,将产生LSI中断申请。
LSI校准步骤如下:

  1. 打开TIM5,设置通道4为输入捕获模式;
  2. 设置AFIO_MAPR的TIM5_CH4_IREMAP位为’1’,在内部把LSI连接到TIM5的通道4;
  3. 通过TIM5的捕获/比较4事件或者中断来测量LSI时钟频率;
  4. 根据测量结果和期望的RTC时间基数和独立看门狗的超时时间,设置20位预分频器。

6 系统时钟(SYSCLK)选择

系统复位后,HSI振荡器被选为系统时钟。当时钟源被直接或通过PLL间接作为系统时钟时,它
将不能被停止。
只有当目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),从一个时钟源到另一个时
钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标时钟
源就绪,才发生切换。
在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统
时钟。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32是由ST公司生产的一系列微控制器单片机(MCU),采用ARM的CPU架构。它包括多个系列,如STM32F10x、STM32F2xx、STM32F3xx、STM32F4xx和STM32F7xx,根据FLASH容量的不同可以分为大容量、中容量和小容量。\[1\] 学习STM32的资料包括中文参考手册、STM32F103ZET数据手册和Cortex-M3权威指南。中文参考手册主要讲解寄存器说明和各个模块的框图,STM32F103ZET数据手册则介绍了电气特性和资源信息。Cortex-M3权威指南则详细介绍了内核的结构和寄存器。此外,还可以参考ST官方网站www.stmcu.com获取更多资料。\[1\] STM32外部管脚命名方式与51单片机不同。51单片机使用P0-P3端口名和P0.x管脚名称,而STM32使用PA-PG端口名和PA.x管脚名称。\[1\] STM32具有强大的中断支持,支持256个中断,其中包括16个内核中断和240个外部中断。但实际上,STM32并没有使用CM3内核的全部功能,而是只用了一部分。STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。在STM32F103系列上,可屏蔽中断数量为60个。\[2\] STM32的芯片由两部分组成,即Cortex-M3微控制器内核和ST公司开发的片上外设。Cortex-M3微控制器内核是ARM公司推出的基于ARMv7架构的32位微控制器内核,而ST公司则在此基础上开发了STM32单片机的片上外设。\[3\] 以上是关于STM32基础知识的入门介绍。如果您有更具体的问题,我可以为您提供更详细的解答。 #### 引用[.reference_title] - *1* [STM32入门之基础知识](https://blog.csdn.net/qq_41174320/article/details/80717363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32开发基础知识入门](https://blog.csdn.net/weixin_44918105/article/details/129690074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32入门基础知识点](https://blog.csdn.net/STM89C56/article/details/105937019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值