嵌入式软件的能耗优化 -----劳特巴赫TRACE32工具 的新技术创新
苏州劳特巴赫技术有限公司 贺凌林
技术动力:
开发由电池供电的设备,尤其是对设备的待机或操作时间要求比较严格的系统,例如移动电话,降低系统整体的能耗变得越来越重要。 因此采取全面的措施来降低电池能量的消耗是设计电池供电设备的重要部分。
典型的节能措施包括:
1 选择有节能属性的元件
2 提高系统集成度
3 调整CPU主频
4 调整电源供给
5 选择带节能属性的、高速缓冲存储器和片上内存的微控制器
然而,只有通过软件全程的控制各个消耗电池能量的组件,充分的发挥其硬件的节能属性,才能达到最佳的节能效果。能耗是电流,电压和时间的乘积,控制软件对这几个参数都有很大的影响。因此,软件工程师需要经常不断的尝试确定这三个参数在不同的操作模式下的最佳配置,以达到最佳的节能目的。例如工程师可能会问自己如下的问题:
1 微处理器是否工作在正确的节能模式
2 程序变更会如何影响系统的能耗
3 是否会出现任何未预料的能耗峰值
回答诸如此类的问题,需要一个测试装置。该装置需要可以测量、记录和分析控制软件的程序和数据流程,以及电流和电压梯度。同时也可以以一种简单的方式把所有的记录信息相互关联起来。 在2007年嵌入式世界年会上,作为全球第一款嵌入式软件能耗分析工具生产厂商,劳特巴赫展示了一个强有力且易用的解决方案成功的解决了上述的所有问题。
技术要求:
为了可以定位出每行代码的能耗量,需要收集如下的数据信息:
1 控制软件的程序流,可以采用带有实时跟踪能力的调试器(PowerDebug)来采集该信息
2 程序运行时的电流和电压梯度,带有模拟/数字探头的逻辑分析设备是比较适合此目的的测量设备。
有了这些数据,主要的任务就在于如何才能把程序流、电流和电压梯度的信息关联起来。但是如果使用来自不同设备生产厂商的设备,即使可以把相关信息关联起来,实际操作也将是十分复杂的,综合数据的分析和统计同样也是相当困难。
劳特巴赫嵌入式软件能耗分析技术的创新核心就是提供上述问题的解决方案,并且开发出了适当的,易用的信息显示和分析方法。
解决方案:
劳特巴赫嵌入式软件能耗测量方案,包括一个调试器模块(PowerDebug)、实时跟踪模块(PowerTrace)和一个逻辑分析模块(PowerIntergrator),每个模块都集成了一个精确的时间计数器,所有模块的记数器在程序开始时进行同步。每个模块的记录都有对应时间戳,因此各个模块的记录都可以通过时间戳关联起来。这样,就可以确定每行代码的能耗。
为了获取电流和电压梯度数据,TRACE32 PowerTrace II (跟踪模块) 或者 PowerIntegrator(逻辑分析模块) 可以通过新型的Trace32 AnalogProbe 模块扩展实现如下功能:
1 实时记录4条电压通道和3条电流通道信息
2 针对电流、电压或能耗的限制值和测量范围实时生成触发事件
为了测量电流,在被测电路上需要一个分流电阻。该电阻上的压降取决于电阻的大小和通过该电阻的电流。Trace32 AnalogProbe 可以测量/记录分流电阻上的电压值。这是一种种被许多评估平台普遍采用和支持的测量方式。
{{分页}}
电流、电压和分流电阻阻值都可以通过如下用户界面进行控制。由电流和电压计算得出的能耗也可以在该用户窗口进行控制,另外,用户可以将电压设置为固定值进行计算。
电流,电压和能耗可以以表格和基于时间的曲线图表示出来。所有基于时间的信息(程序流,图表,电流,电压,能耗)都能通过跟踪信息同步起来。如果在其中一个窗口中选中/标记某一位置,其他所有窗口都自动的刷新窗口内容,相应时间位置信息也被选中/标记出来。
在如下实例中,8 LEDs 被依次点亮,然后产生一个正弦电压。如下面的电流-时间曲线图(1)绘制出了电流值随时间变化的波形,正弦电压曲线如图(2)所示。如果在电流图(1)、电压图(2)或程序流图(3)中,用黑色的垂直跟踪线选中/标记函数“LED3_on“,系统会自动更新“Trace.List“窗口(4)中信息,显示出相对应的记录,并且就通过蓝色水平条标记出来。
每次程序中止后,Trace32 软件会自动对记录信息进行统计分析,统计各个执行函数消耗能量的最小值,最大值和平均值。以及每个函数绝对能耗及其占总能耗的百分比。通过这些统计数据,可以方便地定位出耗能最大的程序代码/函数。
数据统计分析可以显示出每个函数运行时的耗能量。如下图(5)可以清楚地看出函数“LED8_on“运行(所有LEDs都被点亮)时系统耗能量最大。
作为附加的功能,劳特巴赫还提供了触发单元,可以通过定义电流、电压或能量的限制值或范围来定义触发事件。这些触发事件可以被触发单元用来启动和中止跟踪记录(Selective trace)的控制,或者用这些触发信号中止程序的运行。这样工程师可以方便快速的定位出相关参数出现峰值的原因。
总结:
劳特巴赫完整的嵌入式软件能耗分析测量方案为研发工程师检测/定位程序代码和系统电流/能耗之间的相互关系提供了一个强有力的、易用的工具。上述的新特性都已经集成在当前的软件环境中。相关的分析硬件也可以方便地在原有工具上通过扩展实现。同全球重要移动电话生产厂商长期紧密的合作,确保了劳特巴赫工具的实际应用效果。通过集成新的创新方案,劳特巴赫再一次在嵌入式处理器开发工具领域证实了其创新能力。Trace32 AnalogProbe作为新型的解决方案扩展模块,可集成于既有的劳特巴赫模块化开发工具的系统中,为客户现有的TRACE32工具增添了新的价值。
评论