【经验】如何配置EFM32 低功耗32位单片机的时钟系统?
SILICON LABS EFM32系列32位单片机,以超低功耗著称,被广泛应用在可穿戴、气表、水表等需要电池供电的低功耗产品中。其时钟系统对于EFM32单片机来说,有如其心脏,它的正确、可靠运行,直接影响单片机系统运行的速度及稳定性,更重要的,它的配置还对单片机功耗影响很大。
那么,该如何配置时钟系统呢?本文将带你详细了解。
一、时钟系统是什么?
在会配置EFM32时钟之前,首先要了解EFM32时钟系统。
1、 时钟系统结构:
如下图1所示,是以EFM32HG系列为例的EFM32单片机时钟系统结构框图,从左到右,大概分为时钟源、时钟分支、时钟使用者三类。
图1 EFM32时钟结构框图(以EFM32HG为例)
图2 EFM32时钟系统抽象图
2、时钟源
对于EFM32单片机来说,时钟源一般包含7类,详细解释如下;
1、 HFRCO: 【1-28 MHz】,High Frequency RC Oscillator (HG及ZG系列,此最大值为21MHz);
2、 HFXO: 【4-32 MHz】,High Frequency Crystal Oscillator;
3、 LFRCO: 【32.768 kHz】,Low Frequency RC Oscillator;
4、 LFXO: 【32.768 kHz】,Low Frequency Crystal Oscillator;
5、 USHFRCO: 【48/24 MHz】,Universal Serial High Frequency RC Oscillator (HG only);
6、 AUXCLK : 【14 MHz】,RC Oscillator,used for flash programming and SWO debug
7、 ULFRCO : 【1 kHz】a RC Oscillator, as clock source only for the Watchdog Timer (WDOG) only
3、时钟分支
在EFM32系统中,“时钟使用者”众多,能使用相同时钟源的,则被归为同一时钟分支(branch)。以EFM32HG系列单片机为例,时钟分支包含如下:
1) USB:专门给USB使用
2) HFCLK:专门给高速外设及高速内核使用;
3) LFA:低速外设A系列;
4) LFB:低速外设B系列;
5) WDOG:看门狗
6) SW:给调试接口用的;
7) FLASH:给FLASH编程使用;
4、时钟使用单元
最终使用时钟的,是时钟使用者,比如GPIO, ADC, DAC, Timer,MSC等。对于即将配置或使用的外设,首先需要配置它的时钟系统,只有当该外设时钟配置好了,才可以对它操作。而对于不使用的外设,为节约功耗,也可以将它的时钟关掉。
二、配置时钟系统的方法。
以上介绍EFM32单片机的时钟结构,接下来将介绍操作,即如何配置时钟系统。
1、 开启时钟源:
即使能振荡器源,可以使用silicon labs提供的库函数:
CMU_OscillatorEnable (CMU_Osc_TypeDef osc, bool enable, bool wait);
2、 为时钟分支选择时钟源:
对于每个时钟分支,可以使用多个时钟,但每次,只能使用其中一个,可以使用silicon labs提供的库函数操作:
CMU_ClockSelectSet (CMU_Clock_TypeDef clock, CMU_Select_TypeDef ref);
另,需要说明的是,复位后,HF分支由HFRCO以14 MHz计时,两个低频分支都选择LFRCO作为时钟源。 LFRCO在复位时禁用,因此需要在使用低频外设之前启用它。
3、 设置时钟分频:;
由图2 可以看出,从时钟源到被“时钟使用者”使用,可被两次分频,而此处分频系数是可以设的,具体设置办法,可以使用silicon labs提供的库函数操作:
CMU_ClockDivSet (CMU_Clock_TypeDef clock, CMU_ClkDiv_TypeDef div);
另,对于HFRCO,它有band选择设置,最高频率band为28MHz(EFM32HG及ZG系列,最高频率是21MHz),设为不同band,可以得到不同的频率,效果类似分频,它可以使用silicon labs提供的库函数操作:
CMU_HFRCOBandSet (CMU_HFRCOBand_TypeDef band);
需要指出的是,该函数,不仅选择了band,而且,还设置了该band下,正确的HFRCO校准值。
三、时钟频率验证
当时钟配置好后,如果想确认时钟的真是频率,可通过将时钟分配到管脚上输出,并通过示波器测试。具体操作方法,通过参考下文操作。
https://www.sekorm.com/news/20024773.html
《在调试或开发EFM32单片机系统时,如何将EFM32时钟分配到管脚上输出?》
时钟系统,直接决定了单片机运行的速度及可靠性,而且,对于SiliconLabs 低功耗32位单片机EFM32来说,更重要的,它对功耗影响也非常大。通过上述阅读,读者不仅可以了解EFM32时钟系统的结构,还能掌握具体配置及时钟频率验证的方法。
- |
- +1 赞 0
- 收藏
- 评论 4
本文由风起云扬提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
评论
全部评论(4)
-
用户_9686 Lv8 2019-06-09丰富的时钟功能,给低功耗设计带来了方便!
-
用户43545295 Lv3. 高级工程师 2018-12-31学习了,世强专业的!
-
用户31714282 Lv4. 资深工程师 2018-10-20厉害了
-
pandy Lv4. 资深工程师 2018-07-26不错,学习中
相关推荐
【经验】从低功耗角度比较32位单片机EFM32和STM32
Silicon Labs 32位单片机EFM32是世界上功耗最低的单片机之一,比目前市场上所有通用MCU的功耗都要低,本文通过跟目前最流行的MCU之一由ST推出的STM32L系列低功耗MCU进行比较,来向读者展示EFM32系列32位MCU的低功耗性能。
设计经验 发布时间 : 2018-11-14
一文教你解决EFM32 32位低功耗单片机EM2模式唤醒时会复位问题
Silicon Labs 32位低功耗单片机EFM32系列,其优越的低功耗特性,被广泛应用于电池供电产品中,如智能锁、无线探测器、IoT传感器等等。最近有工程师反应,使用EFM32LG系列32位单片机开发时,遇到从EM2模式唤醒设备后芯片就会复位的问题。如果设备主频配置成外部时钟源HFXO时,EM2模式唤醒后芯片就会复位,而主频选择内部HFRCO的话,则可以正常唤醒,不会复位。本文讲述其解决办法。
设计经验 发布时间 : 2018-06-15
基于32位单片机的超声波物位计的研制
在一些需要非接触式精准测量的环境下就需要用到超声波物位计,本文探讨的是如何完成一款基于EFM32单片机的超声波物位计。
设计经验 发布时间 : 2019-09-05
【应用】芯科科技的超低功耗32位单片机助力物联网燃气表,降低电池成本
Silicon Labs32位单片机EFM32TG11B520F128GM80,具有优秀的系统低功耗特性,在同等使用时间长度内,可大大减少燃气表配套锂电容量、降低配套电池所需成本,再加之它集成了丰富的片上资源,非常适宜用于物联网燃气表。
应用方案 发布时间 : 2021-07-06
32bit低功耗单片机EFM32系列产品,怎么实现Bootloader,如何进入Bootloader程序?
查看文档an0003_efm32_uart_bootloader,将binaries文件夹里面的bootloader-tinygecko.bin文件通过J-FLASH烧录进芯片。将SWDCLK引脚接高,复位芯片后就进入了bootloader。
技术问答 发布时间 : 2017-05-05
【经验】如何正确实现EFM32系列32位单片机调试接口电路设计?
Silicon Labs EFM32系列32位单片机,具有功耗低、集成度高、模拟性能好等优点。在调试接口上,EFM32全系列支持串行线调试 (SWD) 接口,部分支持JTAG接口。本文将为你详细解读如何实现这两种调试接口的设计。
设计经验 发布时间 : 2019-11-27
【应用】带TFT控制器的EFM32GG系列32位单片机在智能商用集中式控制面板中的应用
Silicon Labs推出的EFM32GG系列32位单片机,它基于ARM Cortex-M3核,在TFT控制上,它具有高速、无闪烁、无撕裂、超低功耗等特性,非常适合应用在TFT的控制上,可以给终端用户提供流畅、优质的显示画面。
应用方案 发布时间 : 2019-01-04
如何在IAR中更改Silicon Labs 32位单片机EFM32的stack/heap大小?
点击 Project > Options.找到Runtime Checking > Linker > Config > Linker configuration file选中 Override default点Edit按钮并选择“Stack/Heap Sized”,改变CSTACK,HEAP的 值,通常设置CSTACK=0X400,HEAP=0X200,也可以根据实际情况进行修改。
技术问答 发布时间 : 2018-11-14
低功耗电容触控开关方案,让智能家电控制界面更酷炫
针对EFM32的低功耗特性以及LESENSE接口的应用特色,本文将详细阐述基于Silicon Labs的32位单片机EFM32的电容式触开关方案。
新应用 发布时间 : 2019-07-29
单片机EFM32HG309F32配置好USART发送和接收时,测试TX和RX都没有数据,是什么原因?
1、检查是否使能外设时钟; 2、通过状态寄存器判断是否使能UART发送和接收; 3、检查IO配置是否正确。电路中TX和RX对应的是PB7和PB8,配置中引脚分配错误,将USARTn_ROUTE寄存器中LOCATION配置LOC4即可。
技术问答 发布时间 : 2017-05-05
带有USB功能的EFM32系列单片机是否可以实现USB HUB功能?
带有USB功能的EFM32系列单片机不可以实现USB HUB功能,可以实现USB Host、USB Device和USB OTG功能。
技术问答 发布时间 : 2017-05-05
【方案】带有LEM的超低功耗MCU,让温室控制系统更稳定可靠
EFM32HG210F64,是对于功耗敏感类应用的最佳解决方案。
方案 发布时间 : 2019-07-15
【经验】 EFM8&EFM32系列单片机如何在Keil软件中实现编译?
本文介绍了在编程时遇到EFM8&EFM32系列IC没法进行编译,然后出现无效IC的解决方法。
设计经验 发布时间 : 2017-11-22
32位单片机EFM32 Gemstone系列(EFM32JG/PG)的LETIMER和RTCC的时钟源可以使用HFCLKLE吗?
与Classic系列EFM32不同,Silicon Labs 低功耗32位MCU EFM32JG/PG上HFCLKLE不能用作LETIMER和RTCC的时钟源。LETIMER和RTCC可以使用LFRCO,LFXO或者ULFRCO作为时钟源。
技术问答 发布时间 : 2017-09-28
【经验】如何基于LFXO校准HFRCO使低功耗单片机EFM32实现精确、高速UART通信?
客户选用了Silicon Labs低功耗32位单片机EFM32HG210做一设备,需要精确高速串口通信,但在他们硬件系统设计中仅有高精度的LFXO(外置、32.768kHz晶体),怎么办?本文介绍了一种基于LFXO校准HFRCO的方法,可使低功耗单片机EFM32实现精确、高速UART通信。
设计经验 发布时间 : 2019-05-28
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
提供全面表征产品器件耗电特征及功耗波形、快速瞬态效应、电源优化、表征和仿真测试服务,使用直流电源分析仪测量精度达50µV,8nA,波形发生器带宽100kHz,输出功率300W,示波器200kHz,512 kpts
实验室地址: 深圳/苏州 提交需求>
可定制变压器支持60W-600W范围,额定电流最高10A,漏感稳定度最小3%;支持开关变压器、电流感测变压器、栅极驱动变压器、LLC谐振变压器、PoE变压器等产品定制。SPQ为5K。
提交需求>
登录 | 立即注册
提交评论