【经验】如何使用EFM32 MCU低功耗传感器接口LESENSE来进行电阻测量?
电阻式传感广泛应用于各种生产过程自动化中,可以将位移,力,压力,加速度,扭矩等非电物理量转化为电阻值,电压,电流的变化,是构建无线传感器网络不可或缺的一部分。EFM32是SILICON LABS公司推出的高性能系列32位MCU,具备杰出的低功耗特性。EFM32配置了一个特有的低功耗传感器接口(LESENSE)模块,当MCU处于深度睡眠模式下,LESENSE仍然可以检测外部输入。本文将讲解,如何使用LESENSE来测量电阻传感器,EFM32的低功耗优势,当工作在EM2模式下,消耗电流低于2μA。
图1.广泛应用的传感器
LESENSE低功耗传感器接口由ACMP,DAC,Sequencer,count,compare,RAM等模块组成,如图2所示。其中模拟比较器(ACMP)和DAC用来接收传感器信号。LESENSE在芯片深度休眠的时候也可以检测出外部输入,主要是通过计数器和比较模块对ACMP输出的脉冲进行计数,当数值达到触发的阈值时,才会唤醒MCU至EM0(运行状态),这种做法大大节省了功耗。
图2.LENSENSE的架构组成
一般MCU测量电阻传感器的方法如图3所示,传感器接两个管脚。EFM32支持一种特别的单引脚测量方法,如图4所示。将传感器与一电容并联,一端接地,一端接ACMPn_CHx引脚,电容在测量阶段通过传感器放电,传感器阻值不同,电容放电的曲线也就不同,基于这个原理巧妙地完成单引脚测量。
图3.双引脚测量连接方式
图4.单引脚测量连接方式
软件方面,在初始化LESENSE时需要对Core,计时器,外围设备,Decoder进行配置。关键的Core和外围部分代码如下,笔者对部分代码做了解读,可供读者快速上手。
.coreCtrl =
{
.scanStart = lesenseScanStartPeriodic, // 选择scan的触发模式
.prsSel = lesensePRSCh0, // 选择需要启动的prs源
.scanConfSel = lesenseScanConfDirMap, // 选择配置的寄存器
.invACMP0 = false, // 是否反向输出ACMP0
.invACMP1 = false,
.dualSample = false, // 同时扫描ACMPS
.storeScanRes = false, // 每次扫描后将结果存在RAM中
.bufOverWr = true, // 在Buffer满了之后仍然写入
.bufTrigLevel = lesenseBufTrigHalf, // 使用中断和DMA
.wakeupOnDMA = lesenseDMAWakeUpDisable, // 在从EM2状态苏醒后配置DMA
.biasMode = lesenseBiasModeDutyCycle, // Bias 模式
.debugRun = false // 在Debug模式仍然运行LESENSE
},
.perCtrl =
{
.dacCh0Data = lesenseDACIfData, // 控制DAC ch0的数值
.dacCh0ConvMode = lesenseDACConvModeDisable, // 配置ch0转换模式
.dacCh0OutMode = lesenseDACOutModeDisable, // 配置ch0输出模式
.dacCh1Data = lesenseDACIfData, // 控制DAC ch1的数值
.dacCh1ConvMode = lesenseDACConvModeDisable, // 配置ch1转换模式
.dacCh1OutMode = lesenseDACOutModeDisable, // 配置ch1输出模式
.dacPresc = 0, // 配置prescaling参数
.dacRef = lesenseDACRefBandGap, // 配置DAC参考值
.acmp0Mode = lesenseACMPModeMuxThres, // 通过ACMP0来控制LESENSE
.acmp1Mode = lesenseACMPModeMuxThres, // 通过ACMP1开控制LESENSE
.warmupMode = lesenseWarmupModeNormal // 在idle模式下控制ACMPs和DAC的苏醒模式
},
- |
- +1 赞 0
- 收藏
- 评论 1
本文由微电子Chensir提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何基于J-FLASH对32位MCU EFM32 进行批量烧写?
Silicon Labs 32位MCU EFM32,以低功耗、高性能等著称,被广泛应用在电池供电等需要低功耗的领域。因应用广泛,在批量烧写上,也得到多家软件支持。本文将详细描述名基于SEGGER的J-Flash软件对EFM32烧写FLASH的方法及步骤。
设计经验 发布时间 : 2018-09-17
【经验】32位MCU EFM32在Simplicity studio中通过leuart实现printf打印功能的操作步骤
在嵌入式开发的过程中,我们经常要使用printf功能进行调试。在产品生产过程中,下线检测也要经常通过uart的打印功能进行产品测试。本文以EFM32HG322F64为例,分享如何在Simplicity Studio的GNU Arm环境下通过leuart实现printf功能,其他uart口的printf功能与此类似,可参考本篇文章进行配置。
设计经验 发布时间 : 2020-01-15
【经验】Silicon Labs 32位MCU EFM32在静电测试时的故障排查
本文介绍Silicon Labs 32位MCU EFM32在做静电测试时,出现复位、死机情况时如何去查找原因
设计经验 发布时间 : 2019-06-11
【IC】芯科科技新款32位MCU EFM32和EFM8功能升级,电流可低至1.03µA,小尺寸满足微型设备需求
芯科科技近期发布的新款32位MCU EFM32PG23和8位MCU EFM8BB50产品旨在通过更优化的设计架构来帮助开发人员加速产品原型设计。PG23和BB50不仅进一步扩大了Silicon Labs的MCU产品组合,并且利用小尺寸和低功耗设计满足各种微型、电池设备和物联网应用的需求。
新产品 发布时间 : 2023-04-13
【经验】32位MCU EFM32系列中断分组及优先级设置方式
Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。中断是一个MCU中比较核心的部分,在实时性要求比较高、功耗低的场合经常需要中断的配合,中断优先级是根据中断事件的重要性和紧迫程度做出的一个设置,系统先响应优先级高的中断请求,再响应优先级低的中断请求。
设计经验 发布时间 : 2019-12-24
【应用】芯科单路电源1.98~3.8V的32位MCU助力消毒柜温湿度探头设计,主频24MHz
最近有一个客户是做温湿度探头的,最近他在找一款MCU是用来作为温湿度探头上面的主控,要求低功耗,性能好,在停止模式(EM3)下电流为0.5μA,32位的MCU,内置12位ADC和比较器,32kb的Flash和4kb的RAM,根据需求推荐芯科32位MCU EFM32ZG110F32-B-QFN24R,该MCU主频在24MHz。
应用方案 发布时间 : 2023-03-29
【经验】Silicon Labs 32位MCU EFM32PG12复位引脚在SWD接口中的重要性
在使用Silicon Labs 32位MCU EFM32PG12时,通常要在PCBA上保留SWD接口以方便程序的下载、调试功能,但为了节省空间,有些用用户不接RESET引脚,这会有潜在的风险。借测试说明复位引脚在SWD接口中的重要性。
设计经验 发布时间 : 2022-06-24
【经验】EFM32系列32位MCU常量定位问题的解决方法
Silicon Labs的32位MCU EFM32系列具有低功耗、集成度高的优势,在电池供电类的应用中具有非常明显的优势。开发EFM32的软件一般都是在Simplicty Studio软件下完成。介绍EFM32程序中的常量定位到FLASH的固定地址的方法。
设计经验 发布时间 : 2019-01-27
【应用】芯科科技提供内置16位ADC的低功耗32位MCU助力蓝牙耳机,主频高达80MHz
蓝牙耳机的系统设计需要选型一款MCU,要求尺寸小,效率高,待机功耗低。本文推荐SILICON LABS推出的低功耗32位MCU EFM32PG23B210F256IM48-C,主频高达80MHz,具有DSP指令和浮点单元,具有性能灵活的16位的数转换器。
应用方案 发布时间 : 2023-03-14
【技术】8位MCU与32位MCU的区别
对某类应用做产品定义和规划时,首要任务之一就是选择理想的处理器/控制器,但开发人员往往难以选择合适的MCU。本文是关于微控制器的技术文章,该文从基本差异、基准性能、应用适用性等角度详细地对8位和32位MCU进行了分析。
技术探讨 发布时间 : 2016-07-01
【经验】32位MCU EFM32系列在Keil中接收SWO信息的配置步骤
Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。在研发过程中会有很多繁杂的调试过程,本文主要介绍如何将Jlink的SWO接口上输出的调试信息在Keil中显示出来。
设计经验 发布时间 : 2019-10-16
【经验】芯科科技32位MCU EFM32PG12 DAC输出引脚的分配设置
我们在使用Silicon Labs(芯科科技)32位MCU EFM32PG12的VDAC时会遇到不了解DAC的输出引脚要如何分配的问题,从EFM32PG12参考手册的VDAC章节很难找到VDAC输出引脚的分配。本文将介绍芯片的内部结构及输出功能的分配。
设计经验 发布时间 : 2022-07-25
【经验】32位MCU EFM32系列printf()函数开启浮点数打印支持
Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。在通过串口输出一些调试信息或者运行信息时,一般会把串口重映射到printf(),就可以方便的输出各种格式的文本信息,但是新建的工程一般是不支持ptintf()打印浮点数的,需要通过以下方式使能。
设计经验 发布时间 : 2020-01-09
【经验】32位MCU EFM32调试技巧之如何将函数printf()重映射到SWO接口
Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。在研发过程中会有很多繁杂的调试过程,本文就主要介绍如何将printf()函数映射到Jlink的SWO接口上并输出调试信息。
设计经验 发布时间 : 2019-10-14
【经验】如何使用芯科科技EFM32PG12系列32位MCU出厂默认引导程序
芯科科技EFM32PG12系列32位MCU在出厂时已经烧录了基于UART的引导程序,这个引导程序位于芯片的BOOTLOADER区,不占用用户FLASH空间。本文将介绍EFM32PG12系列32位MCU出厂默认引导程序的使用方法。
设计经验 发布时间 : 2022-06-29
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论