近日一系列的新品发布,为我们展示出微控制器产业的最新发展趋势,即迎合与物联网领域紧密联系并飞速发展的电源产业和移动设备市场。基于EEMBC协会去年提出的ULPBench 电能标准,MCU厂商已经踊跃的投身于这场跃进游戏,新产品不断刷新测试结果,行业的领导地位也在不停的交替。
这一系列的反应,很像一场市场游戏,当厂商需要提高自身技术用以节省功耗时,开发者将会成为最后的赢家。
在过去,低功耗的MCU往往意味着低性能,但各厂商正努力通过提供越来越强大的MCU来适应低功耗应用,进而对这种关系发起挑战。但是对开发者而言,却面临着如何评价MCU厂商的成果的问题。传统的规格,例如在mW/MHz情况下的工作电流,和睡眠模式下的漏电流,以及在设备有多种功率状态情况下,这类评测却显得捉襟见肘。同时在工业领域中,对低功耗操作的描述和规则也通常不一致。
此外,许多应用需要能快速响应的长休眠期MCU。这样的设备,其参数,例如唤醒时间,和在回到睡眠状态之前执行响应所需要的时间,将严重影响到实际应用中总能耗。这些因素在对测试低功耗元件功耗的准确性方面,将产生严重影响。
ULPBench标准在2014年3月的EEMBC协会上首次发布,其一贯目标是为开发者提供能可靠及合理的MCU能效测量方法。去年十月,ULPBench和标准硬件测量平台EnergyMonitor经过公开的研讨,随后两者合并成为MCU开发商一直在宣传的新测试标准。
EEMBC主席Marcus Levy在接受记者采访时说,“ULPBench标准是迄今为止最精确的标准之一。”此标准会在一秒钟内对MCU进行2万次时钟圈工作,并在剩下的时间进入休眠。这种方法使得每个处理器执行的工作量一样,从而使执行标准的环境相同。
最终的分数表示为,在每10个标准循环中,用1000除以中间值,最后得出平均电量消耗,因此数值越大就代表功耗越低。
利用EEMBC协会的ULPBench电量值是通过对MCU核心处理器在一系列
睡眠-处理-睡眠的周期中进行测量
最近,MCU厂商基于这个标准,陆续开始公布一系列测试结果,并交替占据暂时的领先地位。这一切都始于意法半导体公司在2月中旬发布旗下STM32L4微控制器家族产品。一周后,这款基于ARM Cortex-M4处理器的产品,在ULPBench标准测试中得到123.5分,TI随后公布其基于Cortex-M3的SimpleLink C26xx无线MCU产品并得到143.6分。
这周,TI公司基于Cortex M4F 的MSP-432系列产品成功超越其公司前不久保持的记录,并得到167.4分。然而,当TI公司正在准备新闻发布会时,Atmel公司快速发布了一款经ULPBench测试,得到185.5分的产品。这是一款在去年宣传,计划今年发布的基于Cortex M0+的 SAM-L21 MCU产品。我们非常期待这款产品所正式公布的分数和其有效性。
但是,当Ambiq Micro公司发布其Apollo MCU(阿波罗)测试的评分后, 以上所有的测试结果都黯然失色了。基于Cortex-M4F核的器件基于亚阈值逻辑技术,而且利用逻辑水平比传统的CMOS水平小得多的电压浮动。Ambiq公司的市场副总裁Mike Salas表示,这种浮动的减少,相比于传统领域,不仅加快了开关转换,而且动态功耗为原来的1/10。
低功耗跃进游戏看样子将持续一段时间,Atmel公司MCU商业产品市场主管Andreas Eieland对记者表示:“每个厂商都在低功耗领域投入了很多研发力量,并用比以前快得多的速度在前进。我知道我们现在的功耗是最低的,但是你从来不知道竞争对手努力的方向。所以,我们也在寻求下一步的发展。”
胜利者是……你!
EEMBC协会的Levy表示,停止不断提升的所谓的低能耗标准的盼望,是很诱人的,但是开发者可以从这些活动中得到实际的价值。
标准的制定和小范围竞争的开展,可以促进开发者提高他们的产品。在指定的标准范围内,他们会思考如何能得到更好的分数,并且不会投机取巧。他们要做的是学习怎样优化代码,并使低功耗设备的运行速度更快。
这样的经验同样适用于硬件设计领域,即偏向提供范围更好的节能技术。就像软件开发者从倾向于厂商转变为更倾向于消费者一样。“同样的事情在CoreMark也在发生,”Levy说到“厂商明白编程人员的元件选择可以提升设备的表现,他们自始至终都应该是这样的,但是现在却通过产生的竞争来刺激这一行为。”
意法半导体公司产品营销经理Stuart McLaren表示:“我们学到的其中一件事,是大量提高我们在低功耗模型上的灵活性。ULP标准只是低功耗的应用之一。其他的应用各不相同,我们需要大量的可用模型供开发者选择适合他们应用的元件。”
“我们也将为外围设备提供大量的更智能的选择,”意法半导体公司应用工程师Alec Bath说:“例如我们的I2C接口的地址匹配功能,当设备收到一条信息时,CPU才能被激活。否则,它将忽视运行规则,并让CPU进入休眠模式。我们还为ADC提供时钟源和不需要CPU时钟的外围设备,当CPU运行速度减缓或者休眠时,它们就可以介入工作。还有DMAs能让外围设备直接为RAM传送数据,只在传输完成时才唤醒CPU。”
Atmel公司的Eieland提醒到,低功耗最初的发展工作集中在改善CPU的架构上。“但是,仅仅优化CPU是不够的。” Eieland补充说到,“我们要开始优化每个外围设备,审视产品的每个晶体管。我们正在开发研究时钟需求的特点,其逻辑可以使外围设备独立运转,利用最小的电路板去完成它所需的工作。我们去掉计时器,甚至建立多样的电源范围,就可以关闭没有使用的电路,甚至排除它们的漏电流。”
对低功耗的追求,为软件提供了更多机会。开发者可以利用软件联系所有项目,并在没有CPU参与工作的情况下,来激活另一个外围设备。
Eieland说:“还有另外一个优势,即分别为CPU和外围设备创建一个IRQ线索,这样分层中断就能实现了。”
低功耗的运行可能不会影响开发者编写它们的主循环,Eieland补充到,但是,他们应该寻求利用休眠方式和精巧的外围设备来改进的机会。
“如今的编程人员对能耗并不在意,但是,软件对电源的设计有着至关重要的作用,所以我们将花费大量的时间用来寻找合适的软件。例如,我们拆分了一个蓝牙模块,去研究消耗电能的元件在哪,我们发现重新正确组合元件可以节省电量。”Ambiq公司的Salas表示。
只有一个数据点
同时,毋庸置疑标准分数将继续被改写。但是,所有人都认为,这些分数只是开发者在进行设计时,追求低功耗的起点。“ULP 标准不是百分百的公平,没有一个标准可以做到。” Eieland还说到:“但是,它做了很多关于低功耗的市场营销,开发者可以进行比较来选择适用的零件。”
EEMBC 协会ULPBench的部分处理器,但是单独使用同样可行,
电量监控面板能对工作状态的MCU提供准确的能耗指标。
“利用ULP基准得出的单独数据,可以做为很好的估算起始点。” 意法半导体公司的Stuart说到:“但是你需要判断自己的应用,每个低功耗应用的表达方式,在睡眠模式所用时间或者高速和低速时钟下的速度,都是不一样的,你需要清楚自己的应用配置。”
EEMBC协会的Levy补充到,开发者只单纯地集中在“赢得最高分”会迷失掉目标。“总归是要做出权衡的选择,所以,我们鼓励人们不管他们的等级如何,都把所得的分数公布出来。”所公布的最后数值,可以帮助开发者来决定哪种结果更适用于他们自己的方案。
厂商也会帮助开发者改进他们的设计工艺,达到超过一般标准的目的。例如意法半导体公司为开发者提供STM32 Cube MX功率模拟器,来估算所使用的意法MCU 在执行代码时的功率。 德州仪器公司为估算旗下MCU能耗的使用情况,提供他们自己的能量追踪技术 EnergyTrace+。另外EEMBC协会的能量监控,可以像在执行ULPBench电能标准一样,被开发者用来描绘他们程序的电量使用情况。
同时,电能标准也将不断的发展,据Levy说:“现阶段,执行标准集中在CPU和RTC领域,我们所从事的改良工作将围绕在更多的外围活动上,例如ADC和PWM领域。”标准会分为两个部分执行,而且TI公司主席Stefan Schauer也对另外的参与者表示欢迎。感兴趣的团队可以给EEMBC协会的ULPBench 标准工作组的邮箱info@eembc.org发邮件,了解更多详情。