在stm32中,有五个时钟源,为hsi、hse、lsi、lse、pll。
①、hsi是高速内部时钟,rc振荡器,频率为8mhz。
②、hse是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4mhz~16mhz。
③、lsi是低速内部时钟,rc振荡器,频率为40khz。
④、lse是低速外部时钟,接频率为32.768khz的石英晶体。
⑤、pll为锁相环倍频输出,其时钟输入源可选择为hsi/2、hse或者hse/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72mhz。
图1 hse/lse时钟源
其中40khz的lsi供独立看门狗iwdg使用,另外它还可以被选择为实时时钟rtc的时钟源。另外,实时时钟rtc的时钟源还可以选择lse,或者是hse的128分频。rtc的时钟源通过rtcsel[1:0]来选择。
stm32中有一个全速功能的usb模块,其串行接口引擎需要一个频率为48mhz的时钟源。该时钟源只能从pll输出端获取,可以选择为1.5分频或者1分频,也就是,当需要使用usb模块时,pll必须使能,并且时钟频率配置为48mhz或72mhz。
另外,stm32还可以选择一个时钟信号输出到mco脚(pa8)上,可以选择为pll输出的2分频、hsi、hse、或者系统时钟。
系统时钟sysclk,它是供stm32中绝大部分部件工作的时钟源。系统时钟可选择为pll输出、hsi或者hse。系统时钟最大频率为72mhz,它通过ahb分频器分频后送给各模块使用,ahb分频器可选择1、2、4、8、16、64、128、256、512分频。其中ahb分频器输出的时钟送给5大模块使用:
①、送给ahb总线、内核、内存和dma使用的hclk时钟。
②、通过8分频后送给cortex的系统定时器时钟。
③、直接送给cortex的空闲运行时钟fclk。
④、送给apb1分频器。apb1分频器可选择1、2、4、8、16分频,其输出一路供apb1外设使用(pclk1,最大频率36mhz),另一路送给定时器(timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用。
⑤、送给apb2分频器。apb2分频器可选择1、2、4、8、16分频,其输出一路供apb2外设使用(pclk2,最大频率72mhz),另一路送给定时器(timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器1使用。另外,apb2分频器还有一路输出供adc分频器使用,分频后送给adc模块使用。adc分频器可选择为2、4、6、8分频。
在以上的时钟输出中,有很多是带使能控制的,例如ahb总线时钟、内核时钟、各种apb1外设、apb2外设等等。当需要使用某模块时,记得一定要先使能对应的时钟。
需要注意的是定时器的倍频器,当apb的分频为1时,它的倍频值为1,否则它的倍频值就为2。连接在apb1(低速外设)上的设备有:电源接口、备份接口、can、usb、i2c1、i2c2、uart2、uart3、spi2、窗口看门狗、timer2、timer3、timer4。注意usb模块虽然需要一个单独的48mhz时钟信号,但它应该不是供usb模块工作的时钟,而只是提供给串行接口引擎(sie)使用的时钟。usb模块工作的时钟应该是由apb1提供的。连接在apb2(高速外设)上的设备有:uart1、spi1、timer1、adc1、adc2、所有普通io口(pa~pe)、第二功能io口。
下图是stm32用户手册中的时钟系统结构图,通过该图可以从总体上掌握stm32的时钟系统。
图2 stm32系统时钟框图
stm32/stm8
意法半导体/st/stm
一种采用FPGA/DSP的灵巧干扰平台设计与实现
普源精电RIGOL示波器电流探头PCA1150的测量步骤详解
基于STM8L15xxx设计的超低功耗8位MCU开发方案
荣耀10评测 到底怎么样
西井科技发布全球首款全时无人驾驶电动重卡
STM32的时钟系统分析
BBC第一次尝试VR喜剧 表明VR可以搭配任何类型的作品
气体传感器在果蔬存储过程中气氛控制的重要应用
1553B总线如何通过FPGA编程实现远程终端通信设计
通电逆变电源机房环境与安全要注意哪些?
采用数据集中器设计为智能电网提供电力线通信
基于深度学习的智能机器人导航和感知
机械工程:用户和AI技术的放大效应
家电网购渗透率显著提高,预计2020年有望超过50%
基于光端机传输的收费站全光纤传输系统改造设计
苹果A14处理器将基于台积电5nm工艺制造 且总产量将比A13高出约50%到60%
【新品发布】泰酷辣!BGA封装核心板,你见过吗?
如何解决RTC意外恢复到初始值问题
信音电子创业板IPO提交注册!主打笔记本电脑连接器,募资5.11亿扩产
总线的定义于分类和传输的基本原理