功耗优化
﹀
﹀
﹀
设备的“高寿命”得益于对功耗的优化。目前功耗的优化,主要体现在两个方面:
1)主控芯片(MCU)周围电路,即硬件电路的优化;
2)软件可控的优化。
其次作为开关,它需要识别用户的物理按压。所以在不影响正常功能的前提下,硬件电路的设计应尽可能简单,以避免不必要的功耗损失。诸如开关此类,通常只需要在基本电路(芯片外接电源、地、晶振等)的基础上,添加按键识别部分即可,如下图所示。

当按键被按下,会改变连接管脚的电平状态,进而触发按键事件。对于普通智能开关,MCU基本电路加上图中的附加电路,硬件结构基本上就完成了。
硬件是基础,但真正意义上的功耗优化还是依赖软件端的实现。首先,我们需要知道所有芯片内部都是由复杂的电路构成,我们无法通过物理的方法改变电路的构造,只能通过软件编码的方式去控制。芯片的引脚实际上是芯片内部电路暴露出的硬件接口,开发者可以根据需求去设计相应的外部电路进行连接。所以,对于一个确定的电路构成,我们能做的就是通过软件去控制芯片内部的电路,包括对功耗的控制。
比如,在幻腾随心开关的研发上,我们做了如下工作来降低功耗:
⊙ 关闭所有无用外设,如UART。
⊙ 开关只连接芯片的一个通用I/O口,其他未被使用的通用I/O口需要对其进行初始化操作,即断开与内部电路的连接,防止功耗损失。
⊙ 使能芯片自带的DC/DC电源转化器取代LDO,可以节约40%功耗,主要体现在数据发送和接收上。
⊙ 开关内部需要用到定时器,采用RTC取代Timer,功耗上降了60~70uA。
⊙ 在意外中止调试情况下,需重置调试口,否则会引起10~20uA的增加。
⊙ 芯片工作离不开时钟信号,低频时钟信号可以通过内部RC振荡器或者外部晶振产生,经测量,使用外部晶振会降低0.4uA的系统功耗。
⊙ 通过上述优化,开关空闲的状态下,平均功耗为2.4uA。0dB下的发射电流为5.3mA,接收电流为5.4mA。将发射和接受功率增加+4dB,会产生2.2mA电流的增加。
5~8年
幻腾AI实验室的测量结果显示:幻腾开关在静默状态下每秒电流大小约为2.4uA。按一次开关,开关向外发送完数据后,会将自身状态由低功耗态切换至数据接收状态,整个过程持续时间约为30ms,平均电流为12mA。与此同时,按键也会触发开关广播,广播时长30s,平均电流50uA。
终端设备级分布式自动化系统(ELDA)是幻腾物联网边缘控制的精髓,幻腾通过该系统给设备下发自定义的规则配置文件,使得设备自身控制或受控能力得到最大限度地解放。
例如,在ELDA的帮助下,随心开关可以一键触发情景,实现对同样被ELDA所覆盖的投影仪、灯、幕布等设备的控制。
再比如,对于两个随心开关控一个灯的情形,假设两个开关当前状态按一下都是触发开灯指令,那么当一个开关按下之后,再按另一个开关,灯应该做怎样的响应?
从理论上说,灯收到另一个开关的指令也是开灯,灯自身无状态变化。但是从用户体验的角度,用户只想关掉灯而不管你是哪个随心开关,也不想为了关灯而多按一次。
所以这种情况下,就需要ELDA在开关触发之后添加灯与开关的数据交互。随着被控设备的增加,交互的数据量也会增加,这就意味着需要延长开关数据接收状态的时间,如从30ms提升至60ms。
该情形下,还是按照之前假设的条件一天按100次,功耗为:

支持使用时间为:

为了追求功耗的最佳实践,针对上述场景,我们还能继续优化。例如,按压开关会触发广播,广播一般用于手机直控设备或者配置设备入网,通常情况下操作频次不会太高。所以,可以通过长按开关5秒等方式触发设备广播,取消点触的触发方式。这部分的功耗相比于设备整个生命周期的功耗可以忽略不计。
在此情况下,被ELDA覆盖的开关优化后一天的功耗:

支持使用时间:

由此可见,功耗得到良好的优化。
当然,开关只是幻腾低功耗产品中代表性的一个,类似的低功耗产品还有人体探测传感设备、智能门磁等。这些设备适配幻腾生态,在物联网中扮演重要角色。而针对功能复杂带来的功耗提升,幻腾也在抽丝剥茧、层层优化,努力追寻功能与寿命的理想平衡点。随着产品更新换代,这样的工作会一直持续下去。
嵌入式软件开发高级工程师,负责完善幻腾无线通讯协议,多种协议的融合共存系统开发。曾任职于全球领先的移动安全解决方案公司捷德(Giesecke & Devrient GmbH),负责集团核心硬件电路与应用层功能的设计研发。


