在嵌入式系统开发过程中,优先考虑降低功耗迫使工程人员必须在性能和功耗之间寻求平衡,达到这种平衡意味着需要在产品性能和可靠性之间进行取舍。其中,有三个领域将影响性能:模拟感应、通讯和算法处理。具有模拟电容感应输入的设计缺乏稳固的抗干扰或抗潮湿能力,这是因为传感器的扫描时间受限于低功耗要求;串行通讯接口需要繁琐的协议修改,以弥补单片机(MCU)在深度休眠模式时的“死区(dead time)”通讯故障。同时,由于电流消耗限制要求减少工作模式处理时间,所以某些算法特性比较缺乏。
通过为高性能、低功耗应用选择合适的32位MCU,工程人员可以缓解以上问题带来的影响甚至完全避免这些影响。此外,工程人员通过利用MCU能力的特定固件优化来降低电流消耗,以保证性能和可靠性。
嵌入式设计示例:基于红外线(IR)的遥控器
在低功耗优化的嵌入式系统中,具备以下特征的遥控器即是一个好范例。
● 串行接口,具有板级IR收发器;
● 用户接口,包含4个电容感应按键;
● “适应未来”的设计原则,可用于产品重用、特性扩展。
创建电量预算
低功耗应用中运行的MCU遵循一些基本原则(见图1)。
● 尽可能使MCU处于其最低功耗、深度休眠模式;
● 当执行任务时,固件应处于最低功耗操作状态;
● 处理相关的任务,例如执行数字滤波算法,应当使用最快时钟速率,以满足所有其他设计需求;
● 时间相关的任务,例如以预定义的波特率通过串口接收数据字节,在设计中使用最慢时钟速率。
图1 MCU低功耗运行示例
设计人员应当打破系统固件的体系结构,划分成功能模块,并设法确定哪些模块是处理相关,哪些模块是时间相关。此外,设法评估每个固件模块执行时间和频率是有益的,基于这些评估值,设计人员能够生成平均电流消耗的粗略估计。
创建初步的功耗预算可从下面几个关键方面帮助设计人员。
● 帮助设计人员选择适合设计需求的电池型号或类型,这将有助于硬件设计,并可在开发过程中节省硬件修订工作。
● 制定对电流消耗需求的准确估计使设计人员能够做出明智决定,为设计选择最合适的MCU。
遥控器应用示例的功能框图如下,如图2所示。
● IR串行接口-时间相关的任务,串行接口将运行在既定的波特率下。
● IR命令分析器-处理相关的解释器算法。
● 电容传感器检测感应电极上的触控-时间相关的任务,电容传感模块需要在特定的时间或某时间范围内采样。
● 稳固性增强的算法过滤电容感应输出并防止错误的触摸判别-处理相关的任务,需要MCU工作循环和资源去完成。
图2 基于IR的遥控器的基本功能模块