工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->在超低功耗睡眠模式下实现对外部模拟事件的检测

在超低功耗睡眠模式下实现对外部模拟事件的检测

作者:angelazhang时间:2015-11-22浏览次数:2633

概述

由于采用了低功耗传感器接口(LESENSE),使得EFM32单片机具备了能够在低功耗深度睡眠模式下监测各种模拟传感器的功能,在一些需要使用外部事件,如触摸感应、金属感应或电阻式传感器来进行MCU唤醒的应用中,能够将整体的电流消耗降低至1.2uA以下。


LESENSE 能够适应多种传感器应用,从简单的热敏电阻、电感或电容传感器,到更复杂的模拟传感器,在很多应用中,这些传感器被用来感应外部模拟量并传输给MCU。由 于系统的功耗和电池寿命变的越来越重要,需要MCU以较低的功耗来进行传感器的监测,为了达到这个目的,最好的方法就是让MCU尽可能多的处在深度睡眠模 式。该文将展示使用LESENSE接口来实现对三种不同测量原理的传感器的监测,包括电容、电感和电阻式传感器,并提供相关的应用实例。

低功耗模拟信号监测的挑战

使 MCU尽可能多的处于睡眠模式,在不附加一些不必要的耗能电路的情况下,对外部模拟信号进行快速和可靠的必要的监测是目前低功耗传感器应用面临的主要挑 战。直到目前,很多应用通常都是采用周期性唤醒MCU的方式来进行对传感器的监测(如图1),对于一个基于MCU的小系统,MCU在运行模式下的功耗要比 睡眠模式下的功耗大的多,这就意味着,减少MCU在运行模式下的时间是减少MCU功耗的最佳途径之一。尽管如此,MCU对传感器的监测还需要特殊的触发及 采样模式,有可能需要复杂的唤醒条件和很高的采样频率。

图1 传统模式下,MCU周期性唤醒对模拟事件进行测量


解决方案

使 传感器测量系统在睡眠模式下进行自动操作是降低功耗的解决方案之一。这种自动模式需能够针对不同的外部器件或者传感器进行配置,适应不同测量原理,并且具 备低功耗的校准功能。这一切如何能够自主实现,节省更多的能源来让MCU处理真正需要耗能的复杂任务?答案就是LESENSE,低功耗传感器接口。


LESENSE 接口包含一个高度可配置的时序器和解码器并利用EMF32内部一些其他的超低功耗外设来达到监测模拟传感器的目的,这些资源处在一个更高效的工作循环下, 能够以更低的功耗来对外部传感器进行监测(如图2)。此外,设备可以被设置为只有在监测到特定的事件发生时才被唤醒,这些事件可以是简单的手指触摸电容式 按键事件,也可以是复杂的,在设备被唤醒之前,通过解码器对传感器采样值进行滤波转换之后的一个事件。无论是哪种事件,利用低功耗传感器接口,MCU都可 以实现在超低功耗模式下感知外部世界。


图2 利用LESENSE接口,在特定的外部事件发生时唤醒MCU降低系统功耗


更 特殊的是,LESENSE接口包含了一个电压比较器和一个能够被超低功耗时序器模块控制的DAC,这个时序器在32KHz时钟源驱动下的操作电流低至 1uA,而电压比较器的输出能够被计数、计数值比较或者直接作为中断信号,为了精确测量,DAC可以被选作比较器的参考或者外部传感器触发源。


时 序器控制着哪些管脚连接至比较器、比较器的运行时间以及何时对比较器的输出进行计数并对计数值进行比较。一些传感器的运行需要触发信号, 触发信号可以通过DAC输出或者GOIO在比较器运行之前或者运行中发出。测量完成后,计数器或者比较器的输出被暂存起来用于以后的处理。


每一次扫描测量完成后,结果将被传送至解码器里,解码器作为LESENSE的一部分,当前状态下的解码器配置有下一个状态及触发条件,这使得解码器能够理解一些列的传感器采样值,随着时间推移,当解码器内一些列的采样值达到预设的条件时唤醒MCU(如图3)。


图3 基于特定条件的模拟事件的唤醒


由 于传感器检测结果可以适用于PRS(外围反射系统),因为可以输送至其他一些低功耗外设,如串口或计数器。例如,脉冲计数器能够采集PRS信号并在正交计 数模式下对其计数,这样允许系统在一定的事件周期后再被唤醒。试想一个采用旋转叶片的水表,旋转事件可以使用LESENSE进行测量,并使用正交计数器进 行计数,然后MCU可以在比如10转以后被唤醒,并进行显示更新和使用流量统计,传统的情况下,MCU需要介入到每一转的计数并控制采集值比较器,而采用 EFM32,这些工作都由LESENSE进行处理,并允许EFM32处在睡眠模式下。


由 于大部分的应用都需要处理并适应不同的环境条件,持续或周期性的传感器阀值校准以及测量时序通常称为影响系统性能的关键因素。而LESENSE把一些列的 检测结果自动存储在内存中,MCU不需要总是被唤醒去获取检测结果,并且这些检测结果可以用来进行周期性的校准,更新触发阀值和测量时序。


电阻传感器监测

模拟传感器被广泛用于各种应用中,用于测量连续的模拟信号,不同于产生离散值(不连续)来表示信息的数字传感器。模拟传感器的一些类型包括:
•    湿度传感器
•    温度传感器
•    光传感器
•    压力传感器
•    应力传感器
•    电位器


很多应用通常不需要持续的对传感器进行监测,这完全可以通过以一定频率对传感器进行采样并在采样值达到了设定的窗口值之后再进行处理来完成。LESENSE是专门为实现这种模拟传感器监测的方式而设计。


图4 利用电阻式传感器监测光亮度,在“无光”时唤醒MCU


通 常对模拟传感器检测值的读取流程包括以下事件序列:提供一定的供电(触发)电压(取决于传感器特性),等待传感器输出稳定,读取传感器输出的与被测物理量 具有一定数学关系的电压或电流(如图4)。一个信号调节电路通常会耦合到传感器来对传感器的输出电信号进行调节转换,以便信号能够被MCU使用。因此在传 感器信号被读取处理之后,由于LESENSE控制着这部分模拟电路的供电电压,包括信号调节电路在内的整个传感器部分可以被断电,同时使MCU处在睡眠模 式来降低整个系统的功耗。


条件性唤醒

LESENSE 还包含了一个功能齐全并且可配置的解码器,可以实现很多不同MCU唤醒触发条件。利用编码器可以实现只有当几个传感器条件同时满足是才唤醒MCU,也可以 连续跟踪测量,只有当出现特定的阀值越界的事件序列时才发出MCU唤醒信号。例如当一个温度传感器和湿度传感器都已经达到特定的阀值或者例如压力传感器采 样值连续越界10次则产生MCU唤醒信号。


由于解码器的输入也可以连接至外围反射系统,几乎所有的外设都可以与它交互,这就使得能够使用多个GPIO的组合逻辑来触发MCU唤醒,或者利用解码器来解码串行传输数据。一个完全可配置的解码器带来的永无止境的可能性。

应用实例:转轮计数

通 过将其他低功耗的外设与LESENSE配合,可以实现以非常低的功耗来完成持续跟踪转轮转动并计数,为了产生条件唤醒或者跟踪旋转,传感器的检测结果被自 动送入解码器或者通过PRS传输至正交计数器。这个过程如图5所描述,两个电阻式传感器,如光感,被放置于一个转盘附近,该转盘的一半是由黑色不透光材料 做成,LESENSE以足够快的速度对每个光感进行采样,能够捕获到光感通过转盘黑色区域的过程,每个光感的采样结果都通过PRS系统传输至正交计数器, 当在同一方向,计数器计数值达到5时,计数器产生一个中断信号。


图5利用LESENSE和脉冲计数器模块实现的转轮计数功能


校准

传 感器系统通常处于各种不同环境条件下,因此要保证能够在各种参数,如温度,湿度,供电电压,磁导率和电导率,不断变换的情况下可靠的运行。通常很难确定传 感器读出的数据的变化是由于所监测的物理量的变化还是设备周围环境的变化引起的。对于电阻式光感,很重要的一点就是能够跟踪并过滤出随时间推移而变化的环 境光水平。LESENSE接口能够最多缓存16个从传感器连续采样的结果,这样就允许设备能够周期性的醒来并根据缓存的数据来调整传感器阀值。


总结

归 功于低功耗传感器接口(LESENSE),使得EFM32能够在深度睡眠模式下对多种不同的模拟传感器进行监测,低频时钟驱动下的LESENSE能够在睡 眠模式下以低至1uA以下的电流消耗来监测多达16个外部传感器,典型的电流消耗是1.2uA左右,应用范围包括各种电容、电感或电阻式传感器、旋转计 数、GPIO状态解码等类似功能的应用。LESENSE包含一个完全可配置的解码器用来解码传感器输出,该解码器能够评估传感器状态并在随着时间推移而出 现特定的传感器输出或状态组合时唤醒MCU。结合内建于LESENSE的解码器,可能性的限制因素只有设计师的想象力了。



评论

技术专区