新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式应用中的能耗调试

嵌入式应用中的能耗调试

作者: 时间:2011-02-04 来源:网络 收藏

图1 由于可以对代码更改的作用进行实时监控,能耗调试得以简化


下面的这个例子将演示如何使用能耗概要分析并结合EFM32 MCU的特性以节省能耗。在图2中,使用了LEUART模块。它支持波特率高达9600的UART通信,同时将能耗保持在最小值。

图2 运行模式下的LEUART RX轮询(a),睡眠模式下触发的LEUART RX中断(b)

从接收缓冲区获取数据的一种常见方式是对其进行轮询,直到获得有效数据,然后读取缓冲区。要这样做,MCU必须处于运行模式,这会造成相对较高的电流使用量。


这一循环的剖析曲线如图2a所示,是3.33mA的恒定电流消耗量。通过单击图表,就能高亮显示造成电源消耗的函数。


void pollLEUARTRx(void)
{while ( !( LEUART0 -> STATUS LEUART_STATUS_RXDATAV ) );}
高亮显示的代码行是轮询循环,它会检查缓冲区是否接收到任何数据。剖析程序将显示每个函数以及各个函数对总能耗的贡献。在这里,代码中唯一的函数是pollLEUARTRx(),所有的能耗都是由它产生的(见图3)。



关键词:

评论


相关推荐

技术专区

关闭