历史上的今天
今天是:2025年01月15日(星期三)
2019年01月15日 | STM32的时钟系统体系结构
2019-01-15 来源:eefocus
一、STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。
①HSI振荡器(RC振荡器)时钟是高速内部时钟,一般很少使用,因为精度没有外部高速时钟(晶振)那么高
②HSE是高速外部时钟接石英/陶瓷谐振器,或接外部时钟源,频率范围为4MHz~26MHz,M4开发板是8M
③LSI是低速内部时钟,RC振荡器,频率为32kHz提供低功耗时钟。主要供独立看门狗和自动唤醒单元使用。
④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。用于驱动 RTC 时钟 (RTCCLK)
⑤PLL为锁相环倍频输出(倍频时钟)。STM32F4有两个PLL:
1、主PLL(PLL)由HSE或者HSI提供时钟信号,并具有两个不同的输出时钟。
第一个输出PLLP用于生成高速的系统时钟(最高168MHz)
第二个输出PLLQ用于生成USBOTG FS的时钟(48MHz),随机数发生器的时钟和SDIO时钟。
2、专用PLL(PLLI2S)用于生成精确时钟,从而在I2S接口实现高品质音频性能。
------------------------------------------------------------------------------------------------------------------------------------------------------
二、系统时钟SYSCLK可来源于三个时钟源:
①、HSI振荡器时钟
②、HSE振荡器时钟
③、PLL时钟
------------------------------------------------------------------------------------------------------------------------------------------------------
三、时钟树


------------------------------------------------------------------------------------------------------------------------------------------------------
四、开发板与系统时钟频率不匹配,如何修改?
1.查看汇编文件 startup_stm32f40_41xxx.s的第177行
Reset_Handler PROC // 复位中断执行
EXPORT Reset_Handler [WEAK] // 复位中断执行
IMPORT SystemInit // 系统时钟初始化的入口
IMPORT __main
LDR R0, =SystemInit // 系统时钟初始化
BLX R0
LDR R0, =__main // 启动main
BX R0
ENDP
2.查看system_stm32f4xx.c的第252行开始
PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
PLL_VCO = (8000000 / 8) * 336
计算公式:SYSCLK = PLL_VCO / PLL_P = 336*1000000 / 2 == 168000000 == 168000KHz == 168MHz
------------------------------------------------------------------------------------------------------------------------------------------------------
修改:system_stm32f4xx.c第254行
#define PLL_M 25
修改为:
#define PLL_M 8
修改 stm32f4xx.h第127行
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
修改为:
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz *
(如遇到无法修改:权限问题:)点击名字那里能看到路径,找到.h修改权限

----------------------------------------------------------------------------------------------------------------------------------
根据文档了解我们的开发板的总线时钟频率:
系统时钟频率:标准频率为168MHz
AHB时钟频率:168MHz
APB1时钟频率:42MHz
APB2时钟频率:84MHz
超频:提高cpu运行的时钟频率。
调节PLL_N为432;
降频:降低CPU运行的时钟频率。
调节PLL_N为168;
史海拾趣
|
双绞线是将一对或一对以上的双绞线封装在一个绝缘外套中而形成的一种传输介质。 同轴电缆是由一根空心的外圆柱导体(铜网)和一根位于中心轴线的内导线(电缆铜芯)组成,并且内导线和圆柱导体及圆柱导体和外界之间都是用绝缘材料隔开。 ...… 查看全部问答> |
|
TI公司新出了Piccolo系列的C2000 DSC,大家觉得怎么样啊? 高效率32位CPU(TMS320C28xTM核) 具有40MHz/60MHz主频; 单周期执行一次32×32或两次16×16乘加(MAC); 改进型哈佛总线结构; 原子操作; 快速中断响应与处理; 统一的存储器设 ...… 查看全部问答> |
|
现在在职工作一年了,从事软件开发,经常和硬件打交道!算是一个嵌入式门口的程序员!发现在自己的能力增加到一定之后,对应用层代码的兴趣就没那么高啦。可是公司的产品很成熟,底层驱动都很稳定,不需要改动,所以平时也没有机会学到那方面知识, ...… 查看全部问答> |
|
AN900 ADI-DSP仿真器 - 支持BF561/BF54x/BF52x等ADI全系列DSP的仿真器 AnalogCN安诺电子 - http://www.analogcn.com 国内唯一专门针对ADI应用的中文技术网站 AN900 ADI-DSP仿真器 - 支持BF561/BF54x/BF52x等ADI全系列DSP的仿真器 http://www.analogcn.com/Shop/shop1/200801/20080102025545.html AN900 ADI-DSP仿真 ...… 查看全部问答> |
|
我毕业快要两年了,我们公司是工业仪表的计量产品的,我现在是做硬件,但是感觉基本上没我什么事可以做。PCB和软件搞定后才给我们了,我就是硬件调试和测试及维修工作,我现在基本和软件不沾边。数字芯片类的电路不比纯模拟电路,电路不用自己怎么 ...… 查看全部问答> |




