STM32之RCC原理

发布者:幸福梦想最新更新时间:2019-03-08 来源: eefocus关键字:STM32  RCC原理 手机看文章 扫描二维码
随时随地手机看文章

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__main代码分析

推荐阅读最新更新时间:2024-03-16 16:25

STM32控制WS2812B灯
单片机源程序如下: #include WS2812B.h /* Buffer that holds one complete DMA transmission * * Ensure that this buffer is big enough to hold * all data bytes that need to be sent * * The buffer size can be calculated as follows: * number of LEDs * 24 bytes + 42 bytes * * This leaves us with a maximum string length of * (2^16 by
[单片机]
毕业设计| 两轮自平衡小车
# 硬件介绍 # 主控芯片:100脚的STM32F103VET6; 陀螺仪:MPU6050; 电机驱动:TB6612; 蓝牙:汇承的HC05邮票孔封装的; WIFI:济南有人科技的USR-WIFI232-S; 小车底盘:平衡小车之家的某一款带编码器的(不是我买的,同学的); 电池:一节7.2的镍镉电池; 液晶屏:中景园电子1.3寸IIC接口的OLED; 5V降压:ASM1117-5.0; 3.3V降压:SP6203; 开关:三脚纽子开关; 电池接口:T插; 其他器件还有:拨码开关用的是4P贴片式2.54mm角距的,电阻电容这些用的基本上是0603封装按键是两脚贴片,microusb接口用的是5针 7.2四脚插板牛角母座,超声波是
[单片机]
毕业设计| 两轮自平衡小车
STM32 VCP PC端安装驱动失败的问题解决----试了解决了问题
STM32,使用USB VCP功能,即虚拟串口功能时,选择USB_OTG_FS Device_Only,如上图。cube自动生成工程,不作修改。将USB插入电脑,WIN10或WIN7系统设备管理器中端口项中都能成功出现STMicroelecronics Virtual COM Port(COM4),但驱动前显示黄色叹号,表示设备安装存在问题的警告。 问题: usbd_cdc.c文件中,USBD_CDC_Init函数中存在一个USBD_malloc,可在此打断点调试,pdev- pClassData为NULL。可知malloc并没有申请到空间。 解决方法: malloc没有申请到空间,并不是USBD_malloc函数有问题,而是系统
[单片机]
STM32+FreeRTOS+CUBEMX_学习笔记(六)PWM终极总结
PWM输出 cubemx配置: 配置时钟和输出PWM模式: 注意,使用tim4时,这里要勾选使用内部时钟 配置PWM频率和极性: 这里讲解一下: PWM频率 = 时钟频率/(分频系数 (prescaler)* 计数周期(counter period)) 这里我的时钟是72M: 那么频率就是 : 72000000除以 (7199+1),再除以(99+1)。结果为100HZ。 配置PWM时钟: 先打开RCC中的高速时钟 设置HCLk时钟频率为72M,注意我们只需要设置hclk,别的时钟就会自动设置 启动PWM和设置占空比: 位置: 下面是我们启动pwm和设置pwm占空比的函数: __HAL_TIM_SET_
[单片机]
STM32+FreeRTOS+CUBEMX_学习笔记(六)PWM终极总结
ST和Arduino联手扩宽创客社区使用STM32微控制器和传感器的途径
2016年6月30日,致力于为创客提供更多创造空间,横跨多重电子应用领域、全球领先的半导体供应商意法半导体 (STMicroelectronics,简称ST)和教育、创客和物联网市场最大的开源生态系统Arduino公司,宣布了一项合作协议,让业界领先的STM32系列微控制器(MCU)以及意法半导体的传感器、功率器件和通信连接技术走近Arduino创客社区。STAR (ST和Arduino的前两个字母组合)开发项目的首款产品基于STM32F469的STAR Otto基板于近日向公众展出。现在,物联网开发人员和创客可以在他们的智能硬件内创建高性能图形功能,使用容易上手的软硬件开发好用的触屏和声控以及媒体流功能,改进他们的应用设计。
[物联网]
ST和Arduino联手扩宽创客社区使用<font color='red'>STM32</font>微控制器和传感器的途径
STM32学习笔记——SPI介绍及配置
SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上定义的。SPI 接口主要应用在 EEPROM,FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,STM32 也有 SPI 接口。下面我们看看 SPI 的内部简明图(图 29.1.1): SPI 接口一般使用 4 条线通信: MISO
[单片机]
<font color='red'>STM32</font>学习笔记——SPI介绍及配置
stm32-esp8266驱动程序
esp8266模块是串口通讯,通讯的协议是AT指令,要正确的配置对应的AT指令模块才可以工作,这里就需要知道AT指令有没有配置成功,这个比较容易实现,一般发送AT指令配置成功的话,芯片都会返回至少一个OK,当然还有其它数据,我们只需要去解析有没有接收到OK就知道指令发送是否成功了。我这里是作为TCP客服端,所以只需要以下一些指令即可: 1 发送 ATrn 返回 OK 以上操作确保芯片连接正常,工作正常 2 发送 ATE0rn 返回 OK 关闭回显 3 发送 AT+CWMODE=1rn 返回 OK 设置成客服端模式 4 发送 AT+CIPSTATUS 返回 2 3 4 5 2
[单片机]
stm32-esp8266驱动程序
STM32之SD卡驱动
很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有U盘,FLASH芯片,SD卡等。他们各有优点,综合比较,最适合单片机系统的莫过于SD卡了,它不仅容量可以做到很大(32Gb以上),而且支持SPI接口,方便移动,并且有几种体积的尺寸可供选择(标准的SD卡尺寸,以及TF卡尺寸等),能满足不同应用的要求。 只需要4个IO口即可外扩一个最大达32GB以上的外部存储器,容量从几十M到几十G选择尺度很大,更换也很方便,编程也简单,是单片机大容量外部存储器的首选。 ALIENTKE 战舰STM32开发板自带了标准的SD卡接口,可使用STM32自带的SPI/SDIO接口驱动(通过跳线帽选择驱动方式),本章我们使用SPI驱动,最高通信速
[单片机]
<font color='red'>STM32</font>之SD卡驱动
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved