管理无线物联网设备中的能耗
扫描二维码
随时随地手机看文章
随着物联网的发展并在现场部署了更多的边缘设备,无疑将在这些设备中很大一部分电池操作。电池操作的无线边缘节点很方便且具有成本效益,因为它们不需要访问电气基础设施,并且可以轻松部署。电池操作的设备的潜在问题是,当开发人员在枪支下构建设备并在门外时,电池寿命是他们脑海中的最后一件事。开发人员在整个开发周期中可以做几件事,以确保他们能够正确管理设备的能耗。
首先,当开发人员设计自己的硬件时,他们需要将硬件分解为子系统,并提供添加当前的分流电阻器以测量每个子系统的当前消耗的能力。开发人员应考虑将当前的分流电阻添加到电路和子系统中,例如:
· 微控制器
· 无线控制器
· 传感器阵列
· 电源输入和输出
· 以及任何可能吸引大电流的特定子系统
能够监视这些系统中的电流将使开发人员能够确定能源在哪里消耗,并设计方法以最大程度地减少消费。这些目前的分流器的好处是,在生产中,它们可以被零欧姆电阻替换,或者可以将其在数字转换的机上微控制器的类似物中连接到它们,以便可以远程监控能源消耗。
接下来,开发人员仅根据他们为嵌入式控制器编写的软件而对能源消耗进行大量控制。微控制器不仅可以管理自己的能源消耗,还可以管理无线控制器和其他机上电路。例如,具有ARM Cortex-M处理器的开发人员可以将其系统置于低功率模式,并等待中断以唤醒系统。实施这种行为的代码就像编写几行代码一样简单:
while(true){_wfi();}
从字面上看,这意味着“等待中断”,并使系统处于低功率状态。该中断可能来自无线控制器,告诉微控制器有数据要处理,或者可以从系统中的任何其他事件中都可以被认为很重要以唤醒系统。不要忘记,应该构建电池供电的设备,以便将活动驱动,否则将大部分时间睡觉等待发生事件。
可以帮助管理能源消耗的另一种最喜欢的方法是在ARM Cortex-M处理器的出口功能上使用睡眠。这实质上告诉处理器,要跳过中断时和结束时发生的上下文开关,因为预计相同的中断会再次发射。这可以从软件执行中刮掉数十个时钟循环,这些循环可以在数周和几个月的时间内显着加起来。通常通过在系统控制块中启用睡眠式功能来启用此功能:如下:
SCB-> SCR = SCB | 0x2U; while(true){_wfi();}
现在,这些最后两种技术是可以在软件中完成的简单事情,以帮助最大程度地减少微控制器的能耗。尽管在物联网设备中管理能源消耗的真正秘诀在于,您必须测量能耗并将其与正在执行的代码相关联。没有进行测量,就无法理解中断是否过于发射。意识到特定功能是否执行比预期的更长;或确定系统中的能量在哪里。一旦执行了测量,开发人员就可以智能地挖掘并确定系统的最佳优化,然后可以导致精心调整和高效的无线物联网节点。
在无线物联网设备中优化和管理能源消耗通常是开发人员将产品推出门之前的最后一件事。在某些情况下,上市,然后进行调整和更新更为重要。尽管如此,如果开发人员没有考虑问题并确保可以轻松更新系统或监视其现场行为,那么管理能源消耗将很困难。我们已经研究了一些简单的想法,可以使您今天开始,这至少可以确保您有一些基本的起点来管理自己的系统的能耗。