在设计电池供电产品时,人们显然希望电池寿命应该尽可能长些。作为一个快速发展的设备种类,从单电池发展起来的应用不仅仅停留在规格上:而是以整个产品的概念为中心。能源敏感的产品应用大致分为能源计量系统、家庭与楼宇自动化、安全和医疗系统(图1)。这些产品通常会围绕一个微控制器(MCU),必须用单一的原电池运作很长时间。在某些应用中,要想更换电池是很难的甚至不可能的:在其它应用中,最终用户不愿意支付更换电池的成本。
图1:人们期望新一代的计量产品能定期报告其读数给计费和资源管理人员,同时在二十年里其运行无人看管。 在这样的应用中采用的是占空比非常低的很活跃的微处理器,在“深度睡眠”状态下时间可能占了99% - 甚至更高,达到99.9%也不罕见。微处理器在一个周期循环或在回应某些刺激时被“唤醒”,执行操作,并返回到睡眠状态中。由于它们花了这么多时间去睡觉,很明显,获得最长电池寿命的关键参数是在掉电状态下的电流消耗。不过,同一节电池的使用寿命为三或四年与超过10年,延长至20年,甚至更长时间的区别在于要密切注意这个任务如何使用MCU资源的每个方面,以及MCU本身是如何设计以各种方式减少能源消耗的。 一节单电池用20年
CR2032纽扣电池广泛用于小型MCU如远程环境传感器中,这是一种锂/二氧化锰3V原电池。典型的供应商 - 例如,柯达(参考1) -评定230 mAh到2V的终点电压能力为 5.6 k (约有0.5 mA). 如果是那样的话,电池寿命将为400小时,相比之下,能源敏感的应用能使使用寿命达到20万小时。这种特殊的电池具有很好的货架寿命或自放电率,数据表显示10年之后其容量达90%。非常相似的是,这相当于连续充电约0.25 A, 如果能够达到10-20年的电池寿命, 应用的一般要求就会满足。
伴随电池寿命的是数量有限的电荷,设计者必须在MCU运行的所有阶段减少产品的电流和时间,不仅要减少每微安的数量,也要减少每个动作的每个微秒。
为了减少深度睡眠模式下消耗的电流,在能源敏感应用的MCU中采用8位(或16位)内核已很普遍。其理由是,8位内核—即使在最新版本中也常常采用这样的设计 - -很小,门控相对较少,静电或泄露电流低。但是,许多现在的应用都需要比8位内核更大的处理功率。在其它MCU应用领域,用户往往选择从一个8位升级到一个32位环境。在低功耗的情况下,人们一直假定32位内核在其掉电模式状态时使用的电流一定是高得令人无法接受的。随着全套低功耗设计技术的出现,今天的IC设计师们已经可能让一个32位ARM内核提供不同的低功耗模式了,与其8位的竞争对手一样好,甚至更好,而且还能实现快速唤醒时间。 32位处理器更高的处理性能也使MCU可以更快完成任务,从而能够在这些低功耗模式中花更多时间来进一步降低平均功耗。
低功耗外围设备功能
要优化最低耗用功率的MCU睡眠状态功耗需要整体的设计方法。除了内核,MCU里的其它模块在待机设备、稳压器、偏置电流发生器,欠压检测比较仪、加电复位电路中会继续吸引一些电流 。在几乎所有情况下,简单的交替换位都适用; 掉电状态越深,就越多外围设备的功能被完全切断,芯片准备好实施处理任务的唤醒时间越长。由于应用的差别很大,MCU设计师提供一种灵活的断电状态下的扩展套件形式就显得很重要了,这样产品设计人员就可以很好地为他个人的项目进行待机功率和响应能力的交替换位。
图2:节能MCU内核通过完整的唤醒/操作/回到睡眠周期在多个不同区域节省能源。蓝色区域表示一个更强大的32位内核完成任务所节省的能量,所需的周期比一个8位内核需要的少,在活跃和睡眠模式下消耗的电流也较少。 设计实施ARM内核以实现在nanoamp区最深睡眠状态的电流水平只是低能源战略的一个步骤。能够提供一个32位内核的处理能力为控制能源使用开辟了新途径, 在任何时候,它是MCU供电图下面的区域,随着时间的推移,它表示从电池里取走的电荷(图2)。就是这样,在具体配置中电流消耗的大标题数字越多,设计人员就必须密切注意要最大限度地延长电池的使用寿命。在EFM32微控制器的开发工具包中,这种测量是很清楚的;
这个工具包的基本功能部分是其先进能源监控器(图3)。该设施在填充MCU内核的电流轨中不断测量电流;一个从模拟到数字的转换器(ADC)通过电阻器采集电压,而开发工具包软件集成其读数来精确测量不同时间的功率。
图3 先进能源监控跟踪该MCU通过其嵌入代码的完整操作周期从电池中吸收的总充电量。 一个32位的内核比能力较小的MCU花更少的时间去积极完成一项相同的任务:同时,该内核在运行时使用的功率也应尽可能低。集中于低功耗的IC设计师们得到了许多精致的设计来实现其目标。例子包括优化所有芯片同步逻辑的时钟门控结构,并组织总线系统和内存 –SRAM和闪存- 在任何特定处理中的最小开关 -。采用全套低功耗设计方法会在闪存中产生一个运行典型代码的ARM Cortex - M3内核,而使用少到180μA/MHz的能量。认真使用这些相同的技术可以保证数字测量准确,减少到低时钟速率,而不仅是一个最佳性能数字。一旦MCU被唤醒并执行应用代码,M3内核使用Thumb2指令集也有助于减少“活跃时间”。有了这样的紧凑型16位指令的双取指令功能,Thumb2ISA的效率非常好。
在减少电流乘微秒产品时,MCU设计师有很多更好的策略要部署。一个是不仅减少内核在实际处理应用代码时所花的时间,而且缩短唤醒刺激之间的解决时间 - 无论是定时生成或事件驱动 - 并且CPU正在准备做“真正的工作”。一条线路是最大限度地减少启动时间以及内核的时钟信号供应。众所周知,当一个晶体振荡器从关闭状态中启动时,在作为一个系统时钟使用之前,它需要一些时间来稳定其输出。相反,一个RC振荡器作为MCU必须完成的所有任务的时基可能不够准确,但会在开机后的几乎一瞬间产生有规则的输出。部分解决方案是缩短同时提供信号的时间; CPU在开机的同时就开始运行,用RC振荡器调整时钟,而一个小控制电路等它一稳定下来就将时钟源传到一个晶体振荡器上。RC振荡器输出中任何频率精度的不足都不很重要,因为使用它的周期较短。
简单的任务不需要MCU内核
尽管设计师十分注意要用一个有能力的处理内核来提供功率,并且在尽可能短的时间内实现了这个目标, 对芯片设计师和系统设计师有用的是要问问给定任务是否需要这样的内核:如果唤醒它只是执行简单任务的话,即使是最节能的内核也会浪费电池的电荷。我们再用环境传感器的应用作个例子 –它可能需要定期测量,但只需在不频繁的时间间隔内将测量结果报告到中央数据记录器里。运行通信接口的软件堆栈一定会要求唤醒MCU内核,但会更频繁地打开模拟到数字的转换器,指挥A / D转换,并以低功耗内存积累结果,如果只要求外围设备设置在互连矩阵(图4)的控制下自主运作的话,消耗的功率会很少。由于应用的差别很大,选择哪些功能模块来供电以及它们如何连接的高度灵活性对充分利用这一概念非常重要。
图4使用一个互连矩阵或外围设备反射系统可以执行简单的任务如开始数据转换和存储结果,完全无需唤醒32位处理器内核。
在电源预算中加密码
众所周知,在现代CMOS半导体工艺中,为硬连接块IC增加功能的硅区成本相对较低。这产生了轻微的与直觉不一致的结果,为了把功耗降到最低,最有效的选择往往是增加门控数。有了先进的钟树设计、时钟门控和线路板电源开关, IC设计人员可以随时随地很容易地完全切断电源。这种方法的一个突出功能就是加密。即使是看似平常的数据现在也通过例行的加密来保证安全,通常已知的算法为AES。这对一个32位MCU内核而言不是一项具有挑战性的任务,但它确实占用了大量的处理器周期,延长了总的微安倍乘总微秒。大多数这些周期花在了执行一些内部循环中的算法上; 增加一个AES加速器硬件模块会使MCU停止AES算法,转向专用硬件,并与其它处理器和睦相处,以更少的周期得到加密(或解密)结果。
迅速扩大的能源敏感应用类别 - 由少数高端类别如智能电能计量领导 - 重新界定了用电池驱动一个产品的意思:这些产品必须在一个单电池的驱动下提供服务,并比较电池本身的货架期,在电池制造商指定的最大时间间隔的相同范围内:达到,甚至超过20年。只有一个高度集成的单芯片的微控制器能为这样的设计提供一个现实的解决办法。IC设计师们十分注重低功耗芯片设计的每个方面,现在可以提供现代、功能强大的32位处理器内核给产品设计师了,而同时尽可能地降低了功率要求。