STM32之RCC原理
来源:互联网 发布:手机捉鬼软件 编辑:程序博客网 时间:2024/05/22 14:46
1、时钟源
在STM32 中,一共有5 个时钟源,分别是HSI 、HSE 、LSI 、LSE 、PLL 。
①HSI是高速内部时钟,RC 振荡器,频率为8MHz ;
②HSE是高速外部时钟,可接石英/ 陶瓷谐振器,或者接外部时钟源,频率范围是4MHz – 16MHz ;
③LSI是低速内部时钟,RC 振荡器,频率为40KHz ;
④LSE是低速外部时钟,接频率为32.768KHz 的石英晶体;
⑤PLL为锁相环倍频输出,严格的来说并不算一个独立的时钟源,PLL 的输入可以接HSI/2 、HSE 或者HSE/2 。PLL倍频可选择为 2 – 16 倍,但是其输出频率最大不得超过72MHz 。
其中,40kHz的 LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE,或者是 HSE的 128分频。
STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL端获取,可以选择为1.5分频或者 1分频,也就是,当需使用到USB模块时, PLL必须使能,并且时钟配置为48MHz或 72MHz。
另外STM32还可以选择一个时钟信号输出到MCO脚 (PA.8)上,可以选择为PLL输出的 2分频、 HSI、 HSE或者系统时钟。
系统时钟SYSCLK,它是提供STM32中绝大部分部件工作的时钟源。系统时钟可以选择为PLL输出、 HSI、 HSE。系系统时钟最大频率为72MHz,它通过 AHB分频器分频后送给各个模块使用,AHB分频器可以选择1、2、4、8、16、64、128、256、512分频,AHB分频器输出的时钟送给5大模块使用:
①送给AHB总线、内核、内存和DMA使用的 HCLK时钟;
②通过8分频后送给Cortex的系统定时器时钟STCLK;
③直接送给Cortex的空闲运行时钟FCLK;
④送给APB1分频器。 APB1分频器可以选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、 3、 4倍频器使用。该倍频器根据PCLK1的分频值自动选择1或者 2倍频,时钟输出供定时器2、 3、 4使用。
⑤送给APB2分频器。 APB2分频器可以选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另外一路送给定时器(Timer)1倍频使用。该倍频器根据PCLK2的分频值自动选择1或 2倍频,时钟输出供定时器1使用。另外APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。
需要注意的是定时器的倍频器,当APB的分频为1时,它的倍频值为1,否则它的倍频值就为2。
2、APB1和APB2连接的模块
①连接在APB1(低速外设 )上的设备有:电源接口、备份接口、CAN、 USB、 I2C1、 I2C2、 UART2、 UART3、 SPI2、窗口看门狗、Timer2、 Timer3、 Timer4。注意USB模块虽然需要一个单独的48MHz的时钟信号,但是它应该不是供USB模块工作的时钟,而只是提供给串行接口引擎(SIE)使用的时钟。USB模块的工作时钟应该是由APB1提供的。
②连接在APB2(高速外设)上的设备有:UART1、 SPI1、 Timer1、 ADC1、 ADC2、 GPIOx(PA~PE)、第二功能IO 口。
- STM32之RCC原理
- STM32之RCC原理
- STM32之RCC
- STM32之RCC
- STM32之RCC
- STM32之RCC
- STM32之RCC
- STM32之RCC配置
- STM32之RCC配置
- STM32之RCC的配置
- STM32学习之路-RCC
- stm32之RCC学习笔记
- STM32之RCC函数一览
- STM32->RCC
- STM32学习笔记之RCC篇
- 第一课之2-STM32-RCC
- STM32之RCC库函数介绍以及应用
- STM32之RCC库函数介绍2
- 翻译连载 | JavaScript轻量级函数式编程-第 8 章:列表操作 |《你不知道的JS》姊妹篇
- 仿造 google 日历
- 2013年1月到5月的总结 摘选自卡尔-临江仙
- 学习一个Cena和Lemon的SPJ
- springBoot中@Scheduled执行原理解析
- STM32之RCC原理
- Node入门
- 选择排序
- MySQL中函数CONCAT及GROUP_CONCAT
- java.lang.RuntimeException: Unable to instantiate application
- 360加固脱壳过程(老版本和新版本)
- 初识php
- 微信二维码生成所需jar(core.jar,QRCode.jar,zxing.jar)
- 在linux和windows下安装python爬虫框架scrapy