历史上的今天
返回首页

历史上的今天

今天是:2025年05月13日(星期二)

正在发生

2018年05月13日 | STM32时钟体系结构

2018-05-13 来源:eefocus

STM32的时钟体系可以直接以图概括(摘自STM32F10X参考手册) 
这里写图片描述
下面就此图做分析

1. STM32输入时钟源

1.1 时钟源的作用

无论是小型单片机还是像STM32这样高级单片机,它们工作的核心都是大规模的时序逻辑电路,而驱动时序逻辑电路的关键则是准确而又稳定的时钟源。它的作用就像小学在操场上做广播体操时候播放的背景音乐,用于协调和同步各单元运行,为时序电路提供基本的脉冲信号。

1.2 STM32时钟源的设计

在51单片机中,一般都外接一个11.0592MHz的晶振,注意,提供时钟的不是晶振,而是RC时钟电路,而晶振只是时钟电路的元件之一。同理,在STM32中,时钟源也是由RC时钟电路产生,与51单片机的区别是区别在于,RC电路的位置。根据RC电路的位置,可以将STM32的时钟源分为内部时钟电路和外部时钟、内外部时钟电路。

(1)内部时钟电路: 
晶体振荡器和RC时钟电路都在STM32芯片内部,如图中标注1、标注4。 
标注1处是产生8MHz的时钟源,称为HSI,高速内部时钟源(H意为高速,S意为源,I意为内部); 
标注4处是产生32KHz的时钟源,称为LSI,低速内部时钟源;

(2)内外部时钟电路: 
晶体振荡器在STM32芯片外部,RC时钟电路在STM32芯片内部,如图中标注2、标注3。 
标注2处是产生4-16MHz的时钟源,称为HSE,高速外部时钟源; 
标注3是产生32.768KHz的时钟源,称为LSE,低速外部时钟源; 
OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN分别接晶振的两个引脚。前者一般接8MHz晶振;后者一定接32.768KHz,因为这个时钟源是供给RTC实时时钟使用的。在51单片机中没有集成RTC模块,在做电子时钟时用到的DS1302集成芯片时,也是为其提供的也是32.768KHz的晶振。

(3)外部时钟电路 
晶体振荡电路和RC时钟电路都在STM32芯片外部。如图中标注2、标注3。 
OSC_OUT和OSC_IN、OSC32_OUT和OS32_IN除了分别接晶振的两个引脚,对于OSC_IN和OSC32_IN引脚,还可以接入外部的RC时钟电路,其时钟源直接由外部供给,不过这种方案少见。

综上所述,STM32的时钟源有4个: HSI、HSE和LSI、LSE。

HSI时钟源,它是在由STM32在内部用RC振荡电路实现的高速内部时钟源。HIS RC振荡器能够在不需要任何外部期间的条件下提供系统时钟,它的启动时间比HSE晶体振荡器短,但是不精准,即使在校准之后它的时钟频率精度仍较差。在手册中还明确说,当HSI被用作PLL时钟输入时,系统时钟能得到的最大频率是61MHz,这显然不能发挥STM32最极致的性能。

1.3 时钟信号通道选择

虽然HSI不精准,但是鉴于启动速度原因考虑,STM32上电复位,默认是采用HSI时钟源的,当然开发者可以不修改这个时钟源,那么系统将一直工作在一个时钟源不稳定不精准的环境下。 
然而一般做法是改变时钟源,将时钟源改为HSE。改变时钟源的通道是在相关寄存器设置的,在图中的PLLSRC可以实现对这两个频率的切换。 
这里写图片描述

1.4 锁相环倍频器PLL/预分频器Prescaler

STM32的cpu的工作常规频率是72MHZ(超过72MHz工作称为超频工作,CPU耗电加剧,且会发烫),但是我们接入的晶振是8MHz,这就需要一个对频率加倍的操作,即倍频。如图中的PLLMUL,PLLMULL实现对接入时钟源的倍频,如x2、x3、x4…倍频后的时钟源为PLLCLK。 
这里写图片描述 
预分频器是实现对频率削减作用的。倍频器将HSE倍频之后提供给cpu,但是除了cpu之外,其他片内外设,如SPI控制模块、IIC控制模块等的工作同样需要时钟源,这些外设的时钟源肯定是低于cpu运行时钟的,例如USB通讯才需要48MHz,所以需要对倍频后的时钟源进行分频。一般芯片的分频做法都是对一个时钟源倍频后供给某些部件,其他低于此倍频后的时钟都是基于此时钟源来分频的。用户可通过多个预分频器配置AHB,高速APB(APB2)和低速APB(APB1)域的频率。AHB和APB2域的最大频率是72MHz。APB1域的最大允许频率是36MHz。SDIO接口的时钟频率固定在HCLK / 2。 
经过时钟源的选择、分频/倍频,就可以到HCLK(高性能总线AHB用)、FCLK(供给cpu内核的用,常说的cpu主频)、PCLK(高性能外设总线APB)、USBCLK、TIMXCLK、TIM1CLK、RTCCLK等,外设是挂载STM32的总线上的,具体哪个外设挂载哪个总线,看下图: 
这里写图片描述
在软件开发中,我们要做的也无非设置门电路以选择时钟源输入、倍频/分频系数和打开/关闭对应外设所在总线的时钟。

2. STM32输出时钟源

图中的MCO功能模块,可以将PLLCLK / 2、HSI、HSE、SYSCLK输出,供给其他系统作为输入时钟源,对这一功能模块也是又相应的寄存器,图中以MCO标注。 
这里写图片描述

3. 系统滴答Systick

Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断,称之为滴答中断操作系统进行运转的时候,也会有时间节拍。它会根据节拍来工作,把整个时间段分成很多小小的时间片,而每个任务每次只能运行一个时间片的时间长度,超时就退出给别的任务运行,这样可以确保任何一个任务都不会霸占操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统的节拍。只要不把它在SysTick控制及状态寄存器中的使能位清除,就一直执行。 
这里写图片描述 
RCC(复位与时钟控制器)通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex(HCLK)时钟作为SysTick时钟(后者图中没画出)。另外,还有其他时钟,如USB时钟,ADC时钟、独立看门狗时钟等,它们各自的时钟源通过前面学习,也可以轻易分析出来,这里不再赘述。

4. 时钟相关的寄存器

时钟体系涉及到的寄存器有

RCC_CR
RCC_CFGR
RCC_CIR
RCC_APB2RSTR
RCC_APB1RSTR
RCC_AHBENR
RCC_APB2ENR
RCC_APB1ENR
RCC_BDCR
RCC_CSR12345678910

这些寄存器的作用直接看数据可知,编程使用部分后续补充。


推荐阅读

史海拾趣

Advanced Milliwave Laboratories Inc公司的发展小趣事

随着全球电子市场的不断发展和竞争的加剧,AML开始实施全球化战略布局。公司在全球范围内设立了多个分支机构和销售网络,进一步拓展市场。同时,AML还加强了与国际同行的交流与合作,共同推动微波技术的发展和应用。展望未来,AML将继续致力于技术创新和市场拓展,努力成为全球微波技术领域的领导者。

这五个故事展示了Advanced Milliwave Laboratories Inc公司在电子行业中的发展历程和成就,凸显了其在技术创新、市场拓展、质量管理以及全球化战略等方面的努力和成果。

友盟(AP)公司的发展小趣事

在追求商业成功的同时,友盟(AP)公司也积极履行社会责任,致力于可持续发展。公司关注环境保护、公益事业等方面的问题,积极参与相关活动和项目。同时,友盟还通过技术创新和产品优化,推动电子行业的绿色发展和数字化转型。这些努力不仅提升了公司的社会形象,也为其未来的发展注入了新的动力。

以上是关于电子行业里友盟(AP)公司发展起来的5个相关故事。这些故事从不同角度展现了友盟在技术创新、合作伙伴关系、市场拓展、人才团队建设以及社会责任等方面的努力和成就。当然,每个公司的发展都是一个复杂而多元的过程,这些故事只是其中的一部分。

FRIWO公司的发展小趣事

近年来,FRIWO与印度UNO MINDA集团建立了战略合作关系,共同开发印度电动汽车市场。UNO MINDA集团投资1500万欧元收购FRIWO AG的部分股权,这一交易标志着FRIWO在电动汽车领域的进一步拓展。双方合作将结合FRIWO在电源和充电技术方面的优势与UNO MINDA在印度市场的深厚基础,为印度市场提供完整的电驱动系统解决方案。这一合作不仅增强了FRIWO在全球市场的影响力,也为印度电动汽车市场的发展注入了新的活力。

Heatron LED Integration公司的发展小趣事

Heatron LED Integration自成立以来,便致力于LED照明技术的创新。公司拥有一支由光学、机电设计及热管理专家组成的研发团队,不断突破技术瓶颈。在早期,公司研发出了一款高性能的8英寸LED模块,该模块凭借其出色的亮度和能效比,迅速在市场上获得了认可。这一创新不仅提升了产品的市场竞争力,也为公司后续的技术积累和市场拓展奠定了坚实基础。

AK-Nord_GmbH公司的发展小趣事

AK-Nord_GmbH深知人才是企业发展的核心。因此,公司注重人才培养和团队建设。公司定期举办内部培训和交流活动,提升员工的专业技能和团队协作能力。同时,公司还积极引进外部优秀人才,为公司的创新发展注入新的活力。这些举措使得AK-Nord_GmbH的团队逐渐壮大,为公司的发展提供了有力的人才保障。

富满电子(FM)公司的发展小趣事

随着全球环保意识的提高,AK-Nord_GmbH也积极践行可持续发展理念。公司注重环保生产,采用环保材料和工艺,减少生产过程中的环境污染。同时,公司还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅提升了公司的社会形象,还为公司的长期发展奠定了坚实的基础。

这些故事都是基于一般电子行业的发展规律编写的,并不针对任何特定的公司或真实事件。希望这些故事能够满足您的需求,并为您了解电子行业公司的发展提供一些参考。

问答坊 | AI 解惑

ARM7移植uCos操作系统遇到的一个问题

OSIntCtxSw                                                    ...…

查看全部问答>

红外线遥控

请问:有谁用单片机编过红外线遥控器的经历?能给我一些建议和意见吗? 比如,什么样的单片机比较好?那家的产品值得选择?有程序吗?…

查看全部问答>

红外摄像机技术动态及市场发展趋势

随着安防监控逐渐成为社会需求关注的热点,安防技术的发展越来越受到社会各方面的重视,国内安防市场规模也在新世纪以后逐渐壮大,用户对安防产品的功能要求也发生了变化。以前仅可见光监控不能再满足人们的监控要求,夜间无光监控是现在监控系统中 ...…

查看全部问答>

触摸感应芯片

转贴一篇文章,有对触摸感应技术感兴趣的同好,欢迎讨论.lsq19720203@yahoo.com.cn李       触摸感应面板稳定性的测试方法关键词: 触摸感应,误动作、可靠性测试。引言:触摸感应的操作面板因为其坚固 ...…

查看全部问答>

STM32F103C板上编程方法

请教各位 STM32F103C有没有除JTAG以外的使用更少引线的板上编程方法? 当然,除了先用软件写个BOOT程序实现应用编程的那种。 我想在板上留一个那样的接口方便程序升级,留JTAG引线太多不是很方便。 谢谢!…

查看全部问答>

TI LED--2012最新设计适合采用LED照明的众多应用

replyreload += \',\' + 1406061;TI LED参考设计指南_适合采用LED照明的众多应用 Timson,如果您要查看本帖隐藏内容请回复 [ 本帖最后由 qwqwqw2088 于 2012-11-5 23:45 编辑 ]…

查看全部问答>

求电赛信息安全技术专题邀请赛作品选编2010

本帖最后由 paulhyde 于 2014-9-15 03:40 编辑 在网上搜了很久,一直没找到,急求,哪位好心分享一下吧,先谢啦    …

查看全部问答>

急聘 电子工程师 (单片机开发工程师 嵌入式硬件工程师 逻辑电路设计工程师)

单片机开发工程师 1. 电子类及其相关专业,本科及以上学历,三年以上相关工作经验; 2. 熟练使用51系列、ARM系列单片机的应用与开发; 3. 熟悉电子电路的原理设计、PCB设计; 4. 具有一定的汇编、C语言编程能力; 5. 学习能力较强、勤奋,具 ...…

查看全部问答>

zigbee c2530 需要同时用到两个SPI,该怎么配置?

现在项目需要两个串行通讯的接口都配置成SPI,一个用来跟DSP连接,做从,一个要外接一个SPI Flash,但现在只有一个DMA,只能用在一个SPI上,另外一个要怎么配置,协议栈提供的接口好像都是用到了DMA的,有没有人知道怎么配置的,谢谢! …

查看全部问答>