无线传感器节点可通过缩减传感器尺寸、简化维护问题和延长电池续航时间而降低实施成本。事实上,如果把重点集中在无电池的设计上,将能实现更大的成本效益。
设计无电池设备的最好方法是通过用于通信和能量采集的低功耗蓝牙(BLE)等技术来降低无线传感器系统的平均功耗
图1为微型无线传感器的架构图。该传感器使用具有集成BLE射频的微控制器(MCU)而创建,可以完全使用能量采集电源管理集成电路(IC)所提供的电源运行。
[图1 | 微型无线传感器使用具有集成BLE射频的微控制器(MCU)而创建,经优化后仅用能量采集电源管理IC所提供的电源运行。图中为完整的无线传感器 -- CYALKIT-E02太阳能供电BLE传感器参考设计套件(RDK)。]
BLE的优化
为了做到只用能量采集IC所提供的电源运行,传感器必须优化其BLE系统以降低功耗。首先,设计人员必须了解BLE子系统的详情。接下来,需要编写固件代码以满足每种运行/功率模式的要求。然后,设计人员必须分析实际功耗以确认各种假设来进一步提升系统的能效。
降低功耗技术的说明可参考赛普拉斯(Cypress) CYALKIT-E02太阳能供电BLE传感器参考设计套件(RDK)。该RDK包含一个CypressPSoC4 BLE与S6AE10xA能量采集电源管理IC(PMIC)。
简单、无功率优化的BLE设计要首先把BLE射频配置为处于不可连接广播模式的信标。BLE信标是每隔一定时间向外进行广播的单向通信方法。它包含一些较小的数据包(30字节),而这些数据包构成一个广播数据包发送出去。想信标被发现可在各类智能手机或计算机应用中推送消息、app操作及提示。
图2显示了广播通道数据包格式的BLE链路层格式。BLE链路层拥有“Preamble”(前导码)、“Access Address”(接入地址)、“Protocol Data Unit(PDU)”(协议数据单元)和“Cyclic Redundancy Code(CRC)”(循环冗余码)。请注意,以下信息仅适用于广播通道数据包格式,不含“数据通道数据包”。
“Preamble”必须设置为“10101010b”
“Access Address”必须设置为“10001110100010011011111011010110b(0x8E89BED6)”
“PDU”包含“报头”和“净载荷”
BLE信标的数据包结构属于“净载荷”中的“广播数据”。
[图2 | 广播通道数据包格式的BLE链路层格式]
[图3 | BLE信标数据包格式]
表1列出了设置值。
可以使用电压和电流波形计算平均消耗电流以确定BLE设计的高效。图4显示了无功率优化设计的功耗结果。
[图4 | 无功率优化的BLE设计的电流消耗]
平均电流约为5 mA,从启动到待机的总功耗为34.76 mJ。为了做到使用环境能量运行,我们需要降低消耗电流。
通过优化固件实现低功耗
通过优化以下4个功能以降低BLE设计的平均电流消耗:
1. 低功率启动
2. 深度睡眠
3. IMO时钟设置
4. 调试选择
当系统处于低功耗模式时,则需要利用看门狗定时器(WDT)来唤醒系统。
低功率启动
通电复位(POR)后,BLE系统通过调用不同组件的启动功能对这些组件进行初始化。初始化时通过执行以下步骤实现低功耗运行:
1. 在32.768-kHz watch晶体振荡器(WCO)启动时,关闭24-MHz外部晶体振荡器(ECO)以降低功耗。
2. 500 ms后(WCO启动时间),启用WDT以唤醒系统。
3. 将MCU配置成在500 ms WCO启动时间内处于深度睡眠模式。
4. WCO启用后,重启ECO以启用BLE子系统(BLESS)接口。
5. 把WCO置于低功耗模式,并将低频时钟(LFCLK)源从32‐kHz内部低速振荡器(ILO)改为WCO。
6. 启用WDT以唤醒系统。
7. 将MCU置于深度睡眠模式。
[图5 | 低功耗启动波形]
深度睡眠
用户设计应管理系统时钟、系统功率模式和BLESS功率模式,以实现BLE MCU的低功耗运行。
在BLE事件间隔期间,建议通过执行以下步骤实现深度睡眠:
1. 关闭ECO以降低功耗。
2. 1.5s后(BLE事件间隔),启用WDT以唤醒系统。
3. 将MCU置于深度睡眠模式。
4. 1.5s后,重启ECO以启用BLE子系统(BLESS)接口。
5. 发送BLE广播数据。
6. 从步骤1开始重复。
[图6 | 深度睡眠波形]
IMO时钟设置
3-MHz到48-MHz内部主振荡器(IMO)是主要的内部时钟源。IMO的默认频率是48 MHz,可在3 MHz到48 MHz范围内以1 MHz的步长调节。在默认的校准设置下,IMO与本例中RDK的公差为±2%。图7显示了改变IMO频率后的总功耗示例。
[图7 | IMO DC规格和示例总功耗]
调试选择
串行线调试(SWD)引脚用于开发阶段的运行时固件调试。将SWD引脚配置为调试模式会增加电流消耗。因此,这些引脚应在最终版本时切换到通用输入输出(GPIO)模式,让它们在芯片复位时仍可用于设备编程。
我们可以使用电压和电流波形计算BLE设计的平均消耗电流,以确认设计上的优化程度。图8显示了功率优化设计的功耗结果。
[图8 | 功率优化的BLE设计的电流消耗]
平均电流约为1.5 µA,从启动到待机的总功耗为0.106 mJ。
采用能量采集技术运行
在这平均电流和总功耗水平上,需要确认系统能够采用能量采集技术运行。图9显示了能量采集系统的框图。该系统采用了S6AE10xA Energy Harvesting(EH)PMIC系列,可使用CYALKIT-E04 S6AE102A和S6AE103A EVK 以及CY8CKIT-042-BLE BLEPioneer Kit运行一整天。
[图9 | 能量采集系统框图]
图10中的框图显示了基于S6AE102A和S6AE103APSoC电路板的PSoC 4 BLE的能量采集过程。
Wave1显示了基于太阳能的BLE运行,Wave2显示了发送时的BLE电流消耗。PMIC首先将太阳能存储到VSTORE1(VST1)上的一个300-μF陶瓷电容器上, 。当VST1达到VVOUTH时,能量被发送到MCU用于BLE运行。
[图10 | 简单的能量采集]
但是,这种简单的能量采集过程,在没有备用电容器的情况下(例如,没有光线的期间)不能持续运行一整天。
图11中的框图和波形显示了混合储能控制功能。用于运行系统的能量存储在VST1中,其余能量用于对VSTORE2(VST2)进行充电。当没有环境光线时,VST2中能持续为系统提供能量。
[图11 | 混合储能控制功能]
图12中的波形显示将能量存储到VSTORE2时的充电曲线。S6AE10xA将能量存储到VSTORE1(小电容器)和VSTORE2(大电容器)中。存储在VSTORE1中的能量用于系统运行,其余能量用于VSTORE2(VST2)的子储能器件充电。VSTORE2中持续为系统提供能量,因此,即使在没有环境光线的情况下,系统也能继续运行一段时间。
[图12 | 存储多余能量的波形]
图13中的框图显示了混合电源输入控制模式。Wave1显示的是PMIC如何控制两个电源(太阳能和电池)。PMIC通过转换这两个电源在不同场景下驱动系统。环境光线通常是持续的,但某些地方可能没有持续的光线。PMIC能够自动转换这两个电源,在没有光线的情况下继续供电。
[图13 | 混合电源输入控制]
S6AE10xA根据VSTORE1的电压自动更换电源。如果VSOTRE1的电压达到VVOUTL,将从VBAT电源供电,以便在无环境光线的情况继续供电。
以下是是如何实现不同应用的例子。
4 | 需要运行一整天的小巧的太阳能无线传感器]
[图15 | 需要短时/频繁操作的小巧的太阳能门传感器]
[图16 | 太阳能无源红外传感器]