历史上的今天
返回首页

历史上的今天

今天是:2025年06月26日(星期四)

正在发生

2018年06月26日 | STM32F4xx时钟理解

2018-06-26 来源:eefocus

理解STM32的时钟是我们应用定时器等等的基础,根据最近的工作总结一下:

下面是STM32的时钟树:



1.首先注意的的是图中画绿色圈圈的两个,HSE和HSI分别表示外部时钟和内部时钟,其中HSE 是是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,HSE 也可以直接做为系统时钟或者 PLL 输入(从红圈4处可以看出),频率范围为 4MHz~26MHz。STM32默认为25Mhz,像原子的板子就是8Mhz的,所以移植时一定要格外注意。

2.注意红圈2代表的部分,这里是主锁相环倍频输出,用于产生系统需要的高速时钟信号,如图绿色箭头所示(STM32还有一个副锁相环,如红圈3)

主 PLL 时钟的时钟源要先经过一个分频系数为 M 的分频器,然后经过倍频系数为 N 的倍频器出来之后的时候还需要经过一个分频系数为 P(第一个输出 PLLP)或者 Q(第二个输出 PLLQ)的分频器分频之后,最后才生成最终的主 PLL 时钟。例如我们的外部晶振选择 8MHz。同时我们设置相应的分频器 M=8,倍频器倍频系数 N=336,分频器分频系数 P=2,那么主 PLL 生成的第一个输出高速时钟 PLLP 为:PLL=8MHz * N/ (M*P)=8MHz* 336 /(8*2) = 168MHz(来源:正点原子)


3.区分APB1和APB2

如红圈8表示的位置,STM32F4 很多外设的时钟来源,即两个总线桥: APB1 和 APB2,其中 APB1是低速总线(最高 42Mhz),APB2 是高速总线(最高 84Mhz)。另外定时器部分,如果所在总线( APB1/APB2)的分频系数为 1,那么就不倍频,如果不为 1(比如 2/4/8/16),那么就会 2 倍频( Fabpx*2)后,作为定时器时钟输入。

   简单点说,举个APB1的例子,系统时钟是168Mhz,APB1分频系数为4(system_stm32f4xx.c配置),则APB1速度为42Mhz,但是挂靠在在该总线上的定时器,由于分频系数4而不是1,因此定时器输入频率为42Mhz x 2 =84 Mhz


推荐阅读

史海拾趣

Aptina (ON Semiconductor)公司的发展小趣事

随着市场竞争的加剧和行业发展的需要,Aptina最终被半导体巨头ON Semiconductor收购。这一收购使得Aptina得以借助ON Semiconductor的资源和平台,实现更快速的发展。ON Semiconductor对Aptina的收购也进一步提升了其在图像传感器领域的市场地位,为公司未来的发展注入了新的动力。

Eureka Microelectronics Inc公司的发展小趣事

Eureka公司自1995年成立以来,一直致力于电子技术的研发和创新。在早期阶段,公司凭借一款具有创新性的液晶显示驱动IC产品,成功打入市场。随着技术的不断进步,Eureka逐步拓展了产品线,推出了包括类比-数位混合信号处理器、系统应用完整方案等一系列产品。这些产品的推出,不仅丰富了Eureka的产品线,也提升了公司在行业内的竞争力。

DLG Hanbit公司的发展小趣事

为了保证产品的品质,DLG Hanbit公司建立了严格的质量管理体系,并引进了国际先进的质量检测设备。公司还积极参与国际标准制定,与全球知名电子企业建立了合作关系。通过不断提升产品品质和服务水平,DLG Hanbit公司的产品在国际市场上获得了认可,公司也逐渐实现了国际化战略。

Dresden Elektronik公司的发展小趣事

在技术和产品的双重驱动下,Dresden Elektronik公司开始积极拓展市场。他们不仅在国内市场上取得了显著的成绩,还积极开拓国际市场。通过参加国际展会、与跨国企业合作等方式,公司的知名度和影响力逐渐提升,市场份额也不断扩大。

Comax Industrial Co Ltd公司的发展小趣事

随着公司的不断发展壮大,Comax Industrial Co Ltd公司开始积极拓展市场。公司不仅在国内市场取得了显著的成绩,还积极进军国际市场,与多个国家和地区的客户建立了稳定的合作关系。通过参加国际展会、建立海外分支机构等方式,公司的业务范围逐渐扩大,市场份额也持续提升。这种市场拓展的策略,使得Comax实现了跨越式的发展。

Crocus公司的发展小趣事

随着产品性能的不断提升和市场需求的持续增长,Crocus开始积极拓展市场。公司加强与全球知名企业的合作,共同推动TMR传感器技术在各个领域的应用。同时,Crocus还注重品牌建设,通过参加国际电子展览、发布技术论文等方式提升品牌知名度和影响力。

问答坊 | AI 解惑

如何在task的entry函数返回后,还能访问该task的一些info?

task退出后(请注意不是删除),会释放掉task stack和task control block task id其实就是指向TCB的指针,会在task退出后失效, 这样再掉一些要用到的task id的接口都失败。 我在考虑是不是能创建一种task,在退出时不释放相关的资源,只有在调用 ...…

查看全部问答>

NOR flash 启动问题!!

各位前辈好! 小弟最近在调试ARM启动的时候遇到了问题,都困扰了好几天了,恳请这方面的高手能指点一下啊. 是这样的: 我用的是ATMEL的AT91sam9261,外部是spansion的nor flash S29AL008D70TFI02接在cs0上,调试工具是IAR 5.2,通过wiggler下载程序, ...…

查看全部问答>

(高手解决)2410自带网卡下载镜像的问题???

我有一块2410的板子,8900的网卡,以前没有问题,最近用DNW下载WinCE的镜像文件就不好使了。换了一台机器第一次好使,以后就都不好使,再换一台机器还是第一次好使,以后都不好使,很是郁闷!希望高手能给予解决!谢谢! QQ:187150625 MSN:cxym ...…

查看全部问答>

关于功能驱动serial的问题!

我是菜鸟,想请各位大哥帮忙给指点一下。 我现在想在Wince下监测usb接口是否收到PC发送过来的数据,Wince作为Client端,我想利用功能驱动serial,但不知道在应用程序中该怎么调用,还望指点一下。…

查看全部问答>

GPRS的数据接收问题!赐教!

我调试的sim300c的GPRS能够给公网的PC机发数据,但是PC机给模块发数据就收不到!pc机上的软件用的是<TCP&UDP测试工具>,那位大侠指点一下,还有就是如果GPRS接收到的数据是不是就直接通过Tx脚传给单片机了?赐教…

查看全部问答>

大家都来观察一下.stm8下载调试次数多了.会是什么效果?

                                 我的一块板用的是stm8 105c6,烧写次数多得记不清了.应该差不多快10k次.最近几次发现I2C读写错误.用手指摸MCU,有点 ...…

查看全部问答>

版主请问ST的GUI的代码能发布么

看到TI的M3提供的图形库挺好看的,后来在ST网上看到AN3128文档中介绍了一个图形函数库的使用,界面也不输TI的,功能挺强的,每个函数介绍的也很详细的,可是官方网站上好像没有相应的下载链接啊,这个会发布么。…

查看全部问答>

ADS5545的输出时钟出不来

本人最近在调试5545,用的是内参考,输出为CMOS的2进制补码, 但是他的输出时钟时有时无,电压都符合要求,一开始我以为是虚焊所以又重新焊了一遍,但之后就一直出不来了,请求各位不吝赐教啊!…

查看全部问答>

STC89C52驱动PT2257的示例程序

    PT2257立体声电子音量控制IC,采用I2C总线控制。下面是STC89C52单片机控制PT2257的示例程序,注意PT2257上电后需等待200ms后才可送入I2C控制信号。本程序已测试通过,并应用于某品牌卡拉OK音响系统中。 ;--------------------- ...…

查看全部问答>