*=============================================================================
* Supported STM32F42xxx/43xxx devices
*-----------------------------------------------------------------------------
* System Clock source | PLL (HSE)
*-----------------------------------------------------------------------------
* SYSCLK(Hz) | 180000000
*-----------------------------------------------------------------------------
* HCLK(Hz) | 180000000
*-----------------------------------------------------------------------------
* AHB Prescaler | 1
*-----------------------------------------------------------------------------
* APB1 Prescaler | 4
*-----------------------------------------------------------------------------
* APB2 Prescaler | 2
*-----------------------------------------------------------------------------
* HSE Frequency(Hz) | 25000000
*-----------------------------------------------------------------------------
* PLL_M | 25
*-----------------------------------------------------------------------------
* PLL_N | 360
*-----------------------------------------------------------------------------
* PLL_P | 2
*-----------------------------------------------------------------------------
* PLL_Q | 7
*-----------------------------------------------------------------------------
* PLLI2S_N | NA
*-----------------------------------------------------------------------------
* PLLI2S_R | NA
*-----------------------------------------------------------------------------
* I2S input clock | NA
*-----------------------------------------------------------------------------
* VDD(V) | 3.3
*-----------------------------------------------------------------------------
* Main regulator output voltage | Scale1 mode
*-----------------------------------------------------------------------------
* Flash Latency(WS) | 5
*-----------------------------------------------------------------------------
* Prefetch Buffer | ON
*-----------------------------------------------------------------------------
* Instruction cache | ON
*-----------------------------------------------------------------------------
* Data cache | ON
*-----------------------------------------------------------------------------
* Require 48MHz for USB OTG FS, | Disabled
* SDIO and RNG clock |
*-----------------------------------------------------------------------------
*=============================================================================
STM32芯片(所有型号)的时钟包含4类:
HSE(High Speed External)高速外部时钟
来源:有源晶振(1-50M)、无源晶振(4-26M)
控制:RCC_CR 时钟控制寄存器的位16:HSEON控制
HSI(High Speed Internal)高速内部时钟
来源:芯片内部,大小为16M,当HSE故障时,系统时钟会自
动切换到HSI,直到HSE启动成功。
控制: RCC_CR 时钟控制寄存器的位0:HSION控制
LSE(Low Speed External)低速外部时钟
LSI(Low Speed Internal)低速内部时钟
锁相环时钟:PLLCLK
来源:HSI、HSE。由PLLSRC位配置。
HSE或者HSI先经过一个分频因子M进行分频,然后再经过一个倍频因子N,然后再经过一个分频因子P,最后成为锁相环时钟PLLCLK = (HSE/M) * N / P = 25/25 * 360 / 2 = 180M
F407:(8/8)*336/2=168M
控制: RCC_PLLCFGR :RCC PLL 配置寄存器
系统时钟:SYSCLK
缩写:SYSCLK,F429最高为180M,F407最高为168M。
来源:HSI、HSE,PLLCLK。
控制: RCC_CFGR 时钟配置寄存器的SW位
AHB,是Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”。
AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。APB,是Advanced
Peripheral Bus的缩写,这是一种外围总线。
APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。再往下,APB2负责AD,I/O,高级TIM,串口1;APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。