尽管这看来就像是一场行销竞赛,但在供应商为了降低功耗而提升自家技术时,开发人员终将成为最后的赢家。
过去,低功耗MCU往往意味着低性能,但随着供应商不断为低功耗应用提供越来越强大的MCU,开始对这种关联性提出挑战。然而,开发人员却面临着如何衡量MCU产品的问题。例如面对装置提供多种功率状态时,包括mW/MHz的作业电流与睡眠模式的漏电流等传统规格,已经变得越来越难评估。同时,在工业领域中,对于低功耗作业特性的描述和规则也经常不一致。
此外,许多应用需要能快速回应事件的长休眠期MCU。在这一类应用中,包括唤醒时间和回到睡眠状态前执行响应所需的时间等参数,将严重影响到MCU实际应用的总功耗。在评估低功耗元件所宣称的准确度时,这些因素将产生重要影响。
ULPBench标准首先在2014年3月的EEMBC联盟发布,目标在于为开发人员提供能‘可靠与合理测量MCU能效’的方法。去年十月,ULPBench以及公开发布的标准硬体测量平台EnergyMonitor,共同成为MCU供应商如今不断宣传的新测试标准。
EEMBC主席MarcusLevy表示,“ULPBench是最严格的标准之一。这项标准可在1秒钟内对MCU执行2万次时脉周期作业,并在接下来的几秒内进入休眠。透过这种方法让每个处理器执行的工作量一样,从而使执行标准的环境相同。
最终的分数是每10个标准周期中,用1,000除以中间值,得出平均功耗,因此,数值越大就代表功耗越低。
利用EEMBC联盟的ULPBench工具,测量MCU核心处理器在一连串‘睡眠-处理-睡眠周期’期间所使用的功耗。
业界MCU供应商最近利用这项基准发布了一系列的测试结果,宣称超越其他公司并占据暂时的领先地位。一开始是意法半导体(ST)在2月中发布其STM32L4MCU系列。这款基于ARMCortex-M4处理器的产品在ULPBench基准测试中得到了123.5分。一周后,德州仪器(TI)发布其基于Cortex-M3的SimpleLinkC26xx无线MCU系列得到143.6分。
TI不久后又发布基于CortexM4F的MSP-432系列,它在ULPBench取得了167.4分,超越自家前不久保持的记录。然而,TI才刚向媒体简报这款产品时,爱特梅尔(Atmel)旋即悄悄地发布了一款经ULPBench测试得到185.5分的产品——基于CortexM0+的SAM-L21MCU。
然而,当AmbiqMicro发布其ApolloMCU测试评分后,上述所有的产品均黯然失色。这款基于Cortex-M4F核心的元件采用次阈值逻辑技术,而且利用逻辑水平比传统CMOS水平更小的电压浮动。Ambiq行销副总裁MikeSalas表示,相较于传统逻辑,电压浮动减少不仅可实现更快的开关转换,而且动态功耗比更低10倍。
低功耗比分超越竞赛看来还将持续一段时间,AtmelMCU业务部产品行销总监AndreasEieland表示:“低功耗是每家厂商倾注许多研发资源的领域,而且还用比以往更快速的步伐向前进展。也许我们现在的功耗是最低的,但你永远不知道竞争对手努力的目标。所以,我们也在寻求下一步进展。”
Levy表示,虽然暂停不断提高的低功耗标准竞赛十分吸引人,但对于开发人员来说,他们却可以从这些活动中得到实际的价值。透过像这样的测试基准工具以及一点市场竞争,才能让厂商瞭解如何改善自家产品。在基准范围内,他们将会思考如何得到更好的分数,以及学习如何最佳化编程,更快速地实现低功耗模式。
这样的经验同样适用于硬体设计领域,专门提供一连串的节能技术以及可让供应商传授给客户的软体诀窍。“同样的事情也发生在CoreMark,”Levy强调“供应商明白编译器的选择可改善性能,这些事自始至终都应该如此,而今却得透过竞争来刺激工具的导入。”
Benji’sLeap
ST产品行销经理StuartMcLaren表示:“我们学到的其中一件事是为我们的低功耗产品提供大量的弹性度。ULP基准只是低功耗的应用之一。其他的应用各不相同,而我们需要大量的可用模式供开发人员选择适合应用的元件。”
“我们还将为周边设备提供更智慧的多种选择,”ST应用工程师AlecBath说:“例如我们的I2C介面可执行位址匹配功能,当装置接收到讯息时才启动CPU。否则,它将忽略流量而让CPU进入休眠模式。我们还为ADC提供时脉源以及不需要CPU时脉的周边设备,使其可在CPU执行速度减缓或休眠时执行作业。此外,还有DMA可让周边设备直接传送资料至RAM,只在传输完成时才唤醒CPU。”
Eieland表示,低功耗最初的发展工作主要着重于改善CPU架构。“但是,仅仅最佳化CPU是不够的。”Eieland补充说,“因此,我们开始检查每个周边设备,并为其实现最佳化,观察产品的每颗电晶体。我们开始开发可让周边设备独立运转所需的时脉特点与逻辑,利用最小的电路板完成所需的任务,甚至建立多种电源域,以便能关闭未使用的电路,同时排除其漏电流。”
对于低功耗的追求,也为软体开启了更多机会。开发人员可以利用软体连结各种事件,在无需CPU介入的情况下启动另一个周边设备。Eieland说:“此外,透过平行中断分层,则可分别为CPU和周边设备建立一个IRQ执行绪。”
Eieland补充说,低功耗作业可能不会影响开发人员如何编写其主回圈,但是,他们应该寻求利用休眠模式和智慧周边设备成为其优势的机会。Salas则表示“当今的程式设计人员对能耗不够重视,但是,软体对电源设计至关重要,所以我们将花费大量的时间来寻找合适的软体。例如,我们拆解了一个蓝牙堆叠来研究功耗元件所在,并发现重新正确组合元件可以实现节能。”
无疑地,基准得分记录将继续被刷新。但所有人都认为,这些分数只是开发人员为其设计追求低功耗元件的起点。“ULP基准并非100%公平,但也没有哪一种标准可以达到这个理想。不过,它在低功耗方面的许多市场行销,可让开发人员用来比较以及选择适用元件。