为低功耗边缘设备选择集成wifi MCU时要考虑哪些因素?


17

这个问题的动机来自一个事实,即我不久前使用微控制器和CC3100 Wifi网络处理器创建了一个简单的概念证明(PoC)IoT边缘设备。该原型的问题之一是该配置需要相当大的功率。因此,它无法克服现有低功率设备的优势,该优势可能会持续2到10年以上,具体取决于电池和使用频率的选择。

根据应用,当前产品使用6V DC电池,容量在1400 mAh和2400 mAh之间。该装置具有低功率感测元件和致动机构。有效负载很可能约为100个字节。在高峰活动期间,交流的频率大约为每两分钟一次。随着物联网和市场需求的发展,该PoC受到了一些关注。

根据少数物联网平台提供商的建议,我看的是德州仪器(TI)的CC3200无线MCU,主要是因为它是CC3100的后继产品。在不使用的系统级别,可以完全关闭CC3100的电源。对于系统级别的低功耗而言,这是一个显着的优势。当检测到活动时,传感元件将通过中断唤醒微控制器。还有其他集成的wifi MCU,例如ESP8266BCM43362ATWINC1500B88MC200等。我使用ULPBench分数对低功耗微控制器进行一阶分析,然后进行分析,如如何为低功耗应用选择微控制器? 帮助选择低功耗微控制器。我使用了各种参数,例如每个频率的活动模式电流消耗以及电流消耗不同的低功耗模式来做出明智的选择。因此,为了维持低功耗选项并增加IoT功能,选择集成的wifi MCU时我应该密切注意哪些关键参数(可能与无线通信有关)?

参考文献:


3
我不确定我是否理解正确,您指的是什么组件(假设CC3200由应用微控制器,Wi-Fi网络处理器和电源管理子系统组成-似乎已经包含了您所需要的大多数)。
加尼玛'16

1
@Ghanima,泰克有一个如何选择您的Wi-Fi模块的方法?指南。是否有任何如何选择Integrated Wifi模块指南的信息。我能找到任何东西。其他供应商已经集成了wifi模块,在撰写本文时,我还没有研究CC3200。成为这个社区的一部分的好处是反弹问题并互相学习经验。简而言之,对于低功耗IOT应用,是什么使A在IOT应用上优于B。有没有比wifi更好的东西,例如sigfox或lora?
Mahendra Gunawardena

3
这对我来说似乎太笼统了。作为测试,我们如何从可能的方法中找出一个好的答案?
肖恩·霍利哈内

2
我已经读过几次您的问题,但我仍然不明白您在问什么。您的用户故事很好,但是您要询问设置的哪一部分?您所谈论的只是低功耗,那么除了低功耗之外,您还需要哪些“关键参数”?我敢肯定,这里有一个很好的问题,但其中一半仍然只是在您的脑海中。
吉尔斯(Gilles)“所以,别再邪恶了”

2
每条指令的能量是否与您的用例相关?有了您问题中的信息,这还不是很清楚。如果您不进行大量计算,那么闲置电源(尤其是无线电)可能会使它相形见war。
吉尔(Gilles)'所以

Answers:


8

由于您最重要的约束条件是低功耗,因此我认为您已经在注意两个最重要的参数:每个频率的活动模式电流消耗以及不同低功耗模式下的电流消耗。

保持通信恒定(即相同的通信协议和EM频率),然后选择最佳的MCU只是正确地汇总这两个参数的问题。这就是我将如何创建一个可以在所有选项之间进行比较的数值的方法:

  1. 在一段时间(例如一周)内为设备创建计划的活动配置文件(它多久进行一次通信以及持续多长时间)。
  2. 计算处于活动状态的选定时间段内所用时间的EM频率上的电流消耗-例如,在一周内以1000 x的活动在2 s的时间内持续10 uA的消耗(@ 900 MHz频率)将意味着20,000 uA-s /周。
  3. 当设备处于默认低功耗模式时,计算选定时间段内的电流消耗,即在[7天x 24小时x 60分钟x 60 s-1000 x 2 s活动]时10 nA的消耗将意味着6,028 uA -s /周。
  4. 将这两个假设的MCU的电流相加得出2,则每周消耗电流26,028 uA-s。
  5. 然后可以比较所有MCU的每周计算得出的电流消耗。

我知道这是一种非常简单的查看MCU活动的方式-即仅考虑2个状态:空闲和通信...但是我相信其他任何状态都将对这2个状态中的一个做出比例和较小的贡献。用于计算的指令周期可以与通信状态捆绑在一起,并且与通信子系统相比,在功率方面的贡献很小。关键是,查看这两个状态对于选择过程就足够了。


5

没有神奇的子弹,所以我认为建议会很痛苦。首先开始减少最大的电力消耗者。

您是否真的在闲置时关闭所有芯片和电路的电源?我知道有些爱好者板和护板并不总是完全关闭您期望的所有功能。

如果是执行器,可以使用更轻便的电动机,还是可以减少传动系统中的摩擦?更大的前景,您是否可以重新设计驱动负载以减轻质量或达到更好的平衡?

如果是通讯,请先查看通讯频率。哪些因素推动了现有的“两分钟”决定?您可以牺牲来减少交流吗?您是否可以切换到发布订阅模型,并在条件允许的情况下以较少的字节数进行响应?

重新评估协议。您剃除的每个字节代表您当前RF功率预算节省了1%。发送任何布尔值?使用位标志,而不是ASCII“ Y”或“ N”。确保您使用的是最小的容器-如果该数字的允许范围仅为0-99,则不要传输16位整数。大多数电池供电的协议都试图将其尽可能缩小。例如,如果要报告5x5的元素数组,则地址仅需要是5位字段,而不是8位字节。将CPU周期用于与压缩相关的逻辑会导致总功耗大大低于传输不需要的位。

如果最大的消耗是CPU(可疑,但可能),那么您可以做一些技巧,例如预先计算的查找表,甚至将一些工作分流到远程服务吗?


4

您没有一个确定的参数集可用于选择这样的集成设备,但我认为,作为第一近似值,新设计的设备可能比几年前的设备要好得多。尽管这个概念不是什么新鲜事物,但是这种集成水平以及激进的电源目标使这成为一个不断发展的市场。

从整个系统的角度(调节器,振荡器,传感器信号调理)来看,请密切注意所提供的电源状态。与正常运行状态相比,您的2分钟活跃状态有可能(不太可能)受益于深度睡眠较少。

最低功耗有用状态占您能耗的大部分。究竟为您提供这种服务的方式取决于诸如是否可以在没有稳压器的情况下直接通过电源工作,最低工作电压等情况。

对于活动状态,请考虑使用最多的RAM或计算量大的操作,并使用最接近的等效现成零件(基于CPU,速度和内存体系结构)对它们进行基准测试。在您的应用程序中,准备有效负载和加密似乎很简单,但是总的来说,这并不是一个显而易见的假设。保留状态可能允许传感器集成,例如没有状态保存/恢复。

使时钟速度和架构与您的应用程序需求相匹配。在睡眠状态下,可以节省泄漏功率。器件的较低目标时钟速度可能意味着它需要长时间保持在活动状态,而且还会导致设计实现更好的泄漏性能(以及可能会降低工作电压)。

除非您迭代了多个设计,否则您将不知道绝对最佳的设计-参数太多(此时,您的产品将开始老化),因此设计流程的更高层次仍然存在重要。如果您可以优化架构以将唤醒事件减少5%,则电池寿命应该很明显。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.