历史上的今天
返回首页

历史上的今天

今天是:2024年12月24日(星期二)

正在发生

2021年12月24日 | STM32F10X-时钟树详细介绍

2021-12-24 来源:eefocus

RCC是reset clock control的简称(即复位和时钟控制器),本文将详细介绍时钟树的构成,通过理解时钟树我们可以更加的了解STM32的所有时钟来源和他们之间的关系。


如下图,是STM32的时钟树,非常重要,我们将对每个时钟进行讲解,读者理解后时钟树看起来将会变得很简单。


建议保存下图,边阅读本文边对照时钟树,可以达到事半功倍的效果。

1.HSE高速外部时钟

HSE是高速外部时钟新号,可以由有源晶振和无源晶振提供,频率范围4-16MHZ。使用有源晶振,时钟从OSC_IN引脚进入,OSC_out引脚悬空;当使用无源晶振是,时钟信号由OSC_IN和OSC_OUT进入,且需要谐振电容。


当确定PLL时钟来源为HSE时,可以选择HES不分频或者2分频作为PLL时钟源。


2.PLL时钟源

PLL时钟源有两个,一个是HSE,另外一个是HSI/2。HSI是高速内部时钟信号,频率为8M,该信号源会随着温度和环境会有所漂移,一般不作为PLL的时钟来源。


3.PLL时钟PLLCLK

通过设置PLL倍频因子,可以对PLLSRC进行倍频。72M是ST官方推荐的稳定运行时钟,最高为128M。


4.系统时钟SYSCLK

系统时钟来源可以是HSI、PLLCLK、HSE。


5.AHB总线时钟HCLK

SYSCLK经过AHB预分频之后得到时钟叫APB总线时钟,即HCLK。片上的绝大部分外设的时钟都是经过HCLK分频得到。


6.APB1总线时钟HCLK1

APB1总线时钟PCLK1由HCLK经过低速APB预分频器得到的。HCLK1属于低速总线时钟,最高为36M,低速片上外设就挂载到这条总线上,比如USART2/3/4/5、SPI2/3,、I2C1/2。


7.APB2总线时钟HCLK2

APB2总线时钟HCLK2由HCLK经过高速APB2预分频器得到的。HCLK2属于高速的总线时钟,片上高速外设就挂载到这条总线上,比如全部的GPIO、USART1、SPI1。


8.其他时钟

USB时钟

USB时钟是由PLLCLK经过USB预分频器得到,USB最高时钟是48M。USB对时钟要求比较高,所以PLLCLK只能是HSE倍频得到,不能使用HSI倍频。


Cortex时钟

Cortex系统时钟是由HCLK 8分频得到的,Cortex系统时钟用来驱动内核的系统定时器SYSTick,SysTick一般用于操作系统的时钟节拍,也可以做普通的定时。


ADC时钟

ADC时钟由PCLK2经过ADC预分频器得到,ADC最高时钟是14M。


RTC时钟、独立看门狗时钟

RTC时钟由HSE/128分频得到,也可以由低速外部时钟LSE提供,频率为23.768KHZ,也可以由低速外部时钟HSI提供。


独立看门狗的时钟只能由LSI提供,频率为30-60KHZ,一般取40KHZ。


MCO时钟输出

MCO是microcontroller clockoutput的缩写,是微控制器时钟输出引脚,主要作用是对外提供时钟,相当于一个有源晶振。MCO的时钟来源可以是PLLCLK/2,HSI,HSE,SYSCLK。


可以通过监控MCO引脚的时钟输出来验证我们的系统时钟是否配置正确。


9.HSI使用

当HSE作为PLL时钟来源时候,如果HSE发生故障,不仅HSE不能使用,PLL也会关闭,这个时候系统会自动切换HSI作为系统时钟,此时SYSCLK=HSI=8M,这个时候如果没有开启CSS和CSS中断时候,系统只能在低速率运行,跟瘫痪没什么区别。


如果HSE故障时候,CSS中断里采取补救措施,使用HSI,把系统时钟设置为更高,最高是64M,频率够用了,但是与原来频率(比如72M)不一致,外设时钟也跟着改变,那么外设工作也会被打乱,这时候我们设置HSI时钟时候也跟着改变各个分频因子,使得外设时钟跟故障之前一样,但是毕竟不能一直使用HSI,所以HSE故障时应该采取报警措施。

推荐阅读

史海拾趣

Danaher Corporation公司的发展小趣事

随着全球化趋势的加强,丹纳赫集团开始积极拓展国际市场。通过在全球各地设立研发中心、生产基地和销售网络,丹纳赫集团成功地将产品和服务推向了全球市场。同时,丹纳赫集团还加强了与国际知名企业的合作,共同开发新技术和产品,进一步巩固了其在电子行业中的领先地位。

以上五个故事梗概概述了丹纳赫集团在电子行业中的发展历程和关键节点。如需更详细的信息和故事背景,建议查阅丹纳赫集团的官方资料或相关新闻报道。

Hirose Electric公司的发展小趣事

自上世纪80年代起,丹纳赫集团通过一系列的战略并购,逐渐扩大其在电子行业的影响力。这些并购不仅为丹纳赫集团带来了先进的技术和产品,还增强了其在全球市场的竞争力。其中,对Leica显微系统公司的收购标志着丹纳赫集团正式涉足生命科学业务,为其在电子显微镜和生命科学仪器领域的发展奠定了基础。

Cicoil公司的发展小趣事

随着计算机技术的飞速发展,处理器成为了电子设备的核心部件。Cicoil公司看到了这一趋势,开始与处理器制造商展开合作。他们为处理器提供高质量的连接电缆,确保处理器能够稳定、高效地运行。这一合作使得Cicoil公司的电缆产品进一步深入到计算机领域,也为其带来了更多的商业机会。

Auris公司的发展小趣事

在Auris公司的发展历程中,2017年夏天的一次收购事件具有重要意义。Auris以8000万美元的价格收购了Hansen Medical,这是一家专门开发工具来操控导管的公司。这次收购不仅增强了Auris在手术机器人领域的技术实力,也为其后续的产品研发和市场拓展提供了更多可能性。

台湾致强(FORT)公司的发展小趣事

面对电子行业的快速发展和市场需求的不断变化,致强科技始终保持敏锐的市场洞察力。公司积极寻求与上下游企业的跨界合作,共同推动产业升级和技术创新。通过与知名电子厂商、科研机构及高校等建立紧密的合作关系,致强科技不断引入新技术、新工艺和新材料,为产品的升级换代提供了有力支持。同时,公司还积极拓展新业务领域,如车联网、物联网等新兴领域,为公司的未来发展开辟了更广阔的空间。

ELMOS公司的发展小趣事

ELMOS作为一家欧洲公司,在世界各地都设有研发和销售办事处。这种全球化的布局使得ELMOS能够更好地了解不同市场的需求,为客户提供更加贴近市场的产品和服务。同时,通过与全球各地的客户和合作伙伴的紧密合作,ELMOS不断拓展其国际市场份额,进一步提升了公司的国际影响力。

问答坊 | AI 解惑

传感器信号调理电路的噪声优化

精确的信号调理和高分辨率的测量不再局限于工业或仪器仪表应用,便携式消费类电子设备的设计人员也需要减小系统噪声,这相当具有挑战性,因为电池供电设备中的信号电压很小,系统的精度取决于其本底噪声。为了从信号调理电路中获取最低的本底噪声和 ...…

查看全部问答>

嵌入式linux下如何卸载内核已有的一些驱动?

最近做嵌入式开发,我的magicARM2410的ADC驱动总算自己写出来,但是目前又遇到一个问题,那就是,ADC驱动和magicARM2410 linux试验箱的TOUCHSCREEN触屏驱动有冲突,我要使用我的ADC驱动,那就必须卸载试验箱linux已有的触屏驱动, 我想问下各位大 ...…

查看全部问答>

怎么由逻辑的0和1,产生不同的物理信号?

大家好,最近在想一个问题: 我们通过键盘等物理工具,可以形成电流的通断/电压的高低; 然后由半导体的一些物理特性,将这些物理信号判决成逻辑的0或1 我想反过来,如何将逻辑的0或1转换成物理信号的? 比如说8个比特 1000 0001 表示将芯片的0 ...…

查看全部问答>

wince data abort问题求思路

双击目录,然后就出现如下情况了 Data Abort: Thread=83cfe400 Proc=821267c0 \'explorer.exe\' AKY=00000011 PC=03fb8cd8(coredll.dll+0x00048cd8) RA=03e81f04(commctrl.dll+0x00041f04) BVA=0a11ffff FSR=00000003 Prefetch Abort: Thread=83 ...…

查看全部问答>

怎么觉得heater resistor 不会工作呢

如图,怎么觉得heater resistor 不会工作呢。 R291为负温度系数热敏电阻,常温为22K,比较器LM311输出高电平,这样mos管闸断,heater没有电流流过。…

查看全部问答>

基于FPGA的秒表的设计

课程设计刚做完,发个秒表的程序分享下。实验版是Altera公司的ep2c5q208c8,晶振为50Mhz。功能为复位,启停,用6为数码管显示。精确到1/100s。程序为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_U ...…

查看全部问答>

关于FSMC,麻烦香版解疑恩,谢谢

https://bbs.eeworld.com.cn/upfiles/img/20092/200921591830577.jpg…

查看全部问答>

请教USART 与PC机通信

/*****************************************************************************\\ 文件名: main.c 描述;用于MSP430F149。 异步通讯。 版本:4.20.1 sun_seven \\********************************************** ...…

查看全部问答>

CORDIC算法基于FPGA的信号发生器设计。

我做一个CORDIC算法产生正弦波的程序,用Q2编写,但是modelsim能仿真出来正弦波波形,但是signaltap抓的波形是上下相反的,一直找不到原因,希望高手能帮帮忙,谢谢啦! 下面是我的程序: module NCO(clk,rst_n,ena,fre_chtr,pha_chtr,sin_out_r, ...…

查看全部问答>

CCS库函数

为什么我的CCS5.1的所有的自带的库函数都无法使用啊。求帮助啊 。。。我需要一个SQRT函数。。。但是编译的时候总是有问题,…

查看全部问答>