微控论坛义工翻译文章
如何选择超低功耗微处理器
翻译: 钟胜河 南方医科大学 整理: DC版主
原文: Texas Instruments SLAA207.pdf 原作者: Mike Mitchell
此翻译只供参考, 一切以原文为准. 最后更新日期2010.117.
此报告描述了如何比较超低功耗的微处理器(MCU )。该文讨论了流行超低功耗微处理器之间的关键不同点。此外还介绍了如何理解它们的特性和规范,以及将它们应用到实际需求中。
●介绍
电池操作应用的当今世界,嵌入式微处理器的功率消耗已经变的越来越重要了。大部分微处理器芯片供应商都已经有低功耗产品,但是选择一款最适合你应用的MCU 比你在数据手册的第一页比较句子还困难。在我们决定选用哪款MCU 之前,我们需要详细的比较MCU 的特性。这些特性应该包括低功耗模式,时钟模式,事件驱动能力,片内外设,掉电检测和保护能力,引脚漏电流,以及执行效率。
●平均电流消耗
在低功耗的设计中,平均电流消耗决定了电池的寿命。假如一个应用实例中使用的电池容量为400mAh ,欲使其寿命为1年,则我们需要保持应用模块的平均电流在400mAh/8760h=45.7uA以下。图1是应用模块在某一短暂时间内需要一个很大的电流,同时它的平均电流消耗仍在我们的目标范围内。
●掉电模式
掉电模式是使得MCU 达到电流预算目的最重要的特证之一。低功耗MCU 在不同的掉电模式提供不同水平的功能。例如,在LPM1和LPM2模式下部分时钟模块被关闭。LPM3模式是最常用的低功耗模式,在该模式下只有低频时钟晶体在运行,部分外设使用该时钟。LPM3经常被称作实时时钟模式,因为它允许定时器在低功率32768Hz 时钟源下运行,电流大小不超过1uA ,同时可以定时唤醒系统。LPM4关闭在设备上的所有时钟源,因此关闭了那些自动使用时钟的外设。假如模拟外设没有活动,LPM4模式的电流消耗只有100nA ,这电流还包括涮新RAM 的电流。
●时钟系统
时钟系统是MCU 功率消耗的关键。应用中1秒可能进入和退出各种低功耗模式几次甚至几千次。进入和退出低功耗模式并迅速处理数据的能力是至关重要的,因为电流在CPU 等待时钟稳定的过程中是被浪费掉。大部分时钟系统都能在10~20us内为CPU 准备好稳定的时钟源,但是重要的是要知道哪些时钟能够瞬间启动。有些MCU 分两步完成,在高频时钟稳定之前先用低频(通常是32768Hz )唤醒CPU ,这样将花费数毫秒甚至更久。在这些设备中,CPU 操作的时间约为15us ,但运行在一个低效率的低频或是不正确的高速频率。假如现在需要执行的是一小段的指令,例如是25条,使用32768Hz 的时钟源将使用大约763us 。这样的话CPU 在低频工作消耗的电流比在高频时更少,但这不足于抵消低频执行指令需要更长时间所消耗的电流。另外一种选择是CPU 选择工作在错误的高频下,这样的话,应用就不能依赖时钟源作为精确的
Page 1 of 3
如何选择超低功耗处理器
定时器。万一需要精确定时,CPU 必须等待时钟源稳定。
MSP430能在6us (通常更快)内提供一个稳定的高频时钟源,同样是执行25条指令只需要9us (6us 唤醒+25条指令的执行速率为0.125us )。同时能瞬间启动高速并行通信,并提供精确的定
时时钟源。下图是8Mhz 时钟瞬间启动的状态。只需要292ns 就达到完全的稳定。
另外,假如MCU 为外设提供多个时钟源,外设就可以在CPU 处于休眠状态下运作。例如,A/D转换器可能需要一个高速时钟,假如MCU 时钟系统中有独立于CPU 的高速时钟源,这样的话,CPU 就可以在A/D转换的过程中处于休眠状态。从而达到降低CPU 电路消耗的目的。
●中断
事件驱动与时钟系统有着紧密相连和灵活性。中断使得MCU 脱离低功耗模式,所以MCU 拥有越多的中断它就能更多的减少CPU 定时访问浪费的电流,同时减少功率的消耗。定时访问是降低功耗与否的重要区别,因为如果定时访问的话会浪费CPU 的频宽(CPU的使用资源) ,并需要额外的电流来等待事件的发生。一个好的低功耗MCU 应该有较强的中断能力,所有的外围和部分片内外设都应该有中断。有些外围像定时器A ,定时器B 和ADC12转换器为了能够灵活处理常有多个中断。
下面我们以按钮或按键为例来说明外围中断在应用中的益处。没有中断的MCU 需要定时检测按键或按钮,这样才能知道它们是否被按下。不仅仅是定时检测需要电流,同时控制定时需要定时器,这也要消耗电流。相反,使用中断的话CPU 只需要在按钮按下时被唤醒而在其它时间都处于休眠状态。
●外设
在选择一款低功耗的MCU 时,外围功率消耗和功率管理应该给予充分的考虑。有些低功耗MCU 是20~30年前模式的改进,它们的外围是没有低功耗模式的。MSP430在起初就为外围设计了低功耗模式。我们期望的是当需要时MCU 有使能或关闭某些外设的能力,甚至是外设能自动使能或关闭。MSP430中的ADC12就是这样的一个智能外设,如果不进行转换,它不花费的电流。并且它能自动关闭一些内部晶振和数字电路。在收到转换的触发信号时,它能自动重新使能一些电路。
交互性是外设能提供的另外一个好处。例如,MSP430的ADC12模块能够被定时器A 或定时
Page 2 of 3
如何选择超低功耗处理器
器B 触发。这给ADC 采样提供了直接和精确的时间,同时这也允许采样器不在CPU 的作用下直接自动触发。此外CPU 也可以不用被唤醒去初始化ADC 。定时器能控制采样频率和初始化转换器。ADC12能够在转化完成之后唤醒CPU 。
有些MSP430设备包括直接存储器存取(DMA )能够在CPU 不介入的情况下自动完成数据的操作。使用直接存储器存取控制器能够增加数据操作的能力,更重要的是这样能够降低功率的消耗。例如,可以允许CPU 在休眠的状态下,使用DMA 自动传送模数转换器转换完成的数据到RAM 。只需要在所有想要转换完成之后唤醒CPU 。
2 外围时钟控制是减少系统电流消耗的另一个特性。MSP430的I C 是直接被系统的时钟控制
2的。这意味着I C 模块只需要一个时钟,它便可以不在CPU 的作用下就能自动使能该模块工作。
2这样更可让CPU 处于休眠状态更久的时间, 从而在不唤醒CPU 的状态下能够识别到新来的I C 的
地址。
●掉电保护
许多的MCU 都集成了掉电保护功能,当供电电源低于正常操作范围时MCU 能自动复位。对于大部分MCU 来说,掉电保护需要一个10~70uA的附加操作电流。虽然为了降低功耗MCU 经常是有使能和关闭掉电保护的功能的,但由于掉电是不可预测的,我们一般都是让它一直工作。这样做就直接增加了掉电保护功率消耗的低线。
MSP430的掉电保护功能不能被关闭,但它的附加电流是0uA 。这一点可以在特定的功耗模式数据手册中了解到。
●引脚的漏电流
在选择低功耗MCU 是引脚漏电流有时会被忽略,但大部分应用中我们应该考虑漏电流。大部分低功耗MCU 指定的漏电流为1uA 。那么20个引脚输入的总电流为20uA 。同样是20个引脚输入MSP430的总电流为50nA~1uA。
●执行效率
最后,我们常常会误解执行效率。我们常认为16位的MCU 需要的存储器是8位MCU 的两倍,但事实上是比起8位模式来16位MCU 需要更少的代码,并且16位MCU 的执行速度更快。例如,10位A/D转换应用中8位MCU 需要重复对数据进行处理,又例如16位数据的数学计算时,16位MCU 有绝对的优势。表格1分别是MSP430和8位模式MCU 移动10位A/D
24us 。
Page 3 of 3
如何选择超低功耗处理器
微控论坛义工翻译文章
如何选择超低功耗微处理器
翻译: 钟胜河 南方医科大学 整理: DC版主
原文: Texas Instruments SLAA207.pdf 原作者: Mike Mitchell
此翻译只供参考, 一切以原文为准. 最后更新日期2010.117.
此报告描述了如何比较超低功耗的微处理器(MCU )。该文讨论了流行超低功耗微处理器之间的关键不同点。此外还介绍了如何理解它们的特性和规范,以及将它们应用到实际需求中。
●介绍
电池操作应用的当今世界,嵌入式微处理器的功率消耗已经变的越来越重要了。大部分微处理器芯片供应商都已经有低功耗产品,但是选择一款最适合你应用的MCU 比你在数据手册的第一页比较句子还困难。在我们决定选用哪款MCU 之前,我们需要详细的比较MCU 的特性。这些特性应该包括低功耗模式,时钟模式,事件驱动能力,片内外设,掉电检测和保护能力,引脚漏电流,以及执行效率。
●平均电流消耗
在低功耗的设计中,平均电流消耗决定了电池的寿命。假如一个应用实例中使用的电池容量为400mAh ,欲使其寿命为1年,则我们需要保持应用模块的平均电流在400mAh/8760h=45.7uA以下。图1是应用模块在某一短暂时间内需要一个很大的电流,同时它的平均电流消耗仍在我们的目标范围内。
●掉电模式
掉电模式是使得MCU 达到电流预算目的最重要的特证之一。低功耗MCU 在不同的掉电模式提供不同水平的功能。例如,在LPM1和LPM2模式下部分时钟模块被关闭。LPM3模式是最常用的低功耗模式,在该模式下只有低频时钟晶体在运行,部分外设使用该时钟。LPM3经常被称作实时时钟模式,因为它允许定时器在低功率32768Hz 时钟源下运行,电流大小不超过1uA ,同时可以定时唤醒系统。LPM4关闭在设备上的所有时钟源,因此关闭了那些自动使用时钟的外设。假如模拟外设没有活动,LPM4模式的电流消耗只有100nA ,这电流还包括涮新RAM 的电流。
●时钟系统
时钟系统是MCU 功率消耗的关键。应用中1秒可能进入和退出各种低功耗模式几次甚至几千次。进入和退出低功耗模式并迅速处理数据的能力是至关重要的,因为电流在CPU 等待时钟稳定的过程中是被浪费掉。大部分时钟系统都能在10~20us内为CPU 准备好稳定的时钟源,但是重要的是要知道哪些时钟能够瞬间启动。有些MCU 分两步完成,在高频时钟稳定之前先用低频(通常是32768Hz )唤醒CPU ,这样将花费数毫秒甚至更久。在这些设备中,CPU 操作的时间约为15us ,但运行在一个低效率的低频或是不正确的高速频率。假如现在需要执行的是一小段的指令,例如是25条,使用32768Hz 的时钟源将使用大约763us 。这样的话CPU 在低频工作消耗的电流比在高频时更少,但这不足于抵消低频执行指令需要更长时间所消耗的电流。另外一种选择是CPU 选择工作在错误的高频下,这样的话,应用就不能依赖时钟源作为精确的
Page 1 of 3
如何选择超低功耗处理器
定时器。万一需要精确定时,CPU 必须等待时钟源稳定。
MSP430能在6us (通常更快)内提供一个稳定的高频时钟源,同样是执行25条指令只需要9us (6us 唤醒+25条指令的执行速率为0.125us )。同时能瞬间启动高速并行通信,并提供精确的定
时时钟源。下图是8Mhz 时钟瞬间启动的状态。只需要292ns 就达到完全的稳定。
另外,假如MCU 为外设提供多个时钟源,外设就可以在CPU 处于休眠状态下运作。例如,A/D转换器可能需要一个高速时钟,假如MCU 时钟系统中有独立于CPU 的高速时钟源,这样的话,CPU 就可以在A/D转换的过程中处于休眠状态。从而达到降低CPU 电路消耗的目的。
●中断
事件驱动与时钟系统有着紧密相连和灵活性。中断使得MCU 脱离低功耗模式,所以MCU 拥有越多的中断它就能更多的减少CPU 定时访问浪费的电流,同时减少功率的消耗。定时访问是降低功耗与否的重要区别,因为如果定时访问的话会浪费CPU 的频宽(CPU的使用资源) ,并需要额外的电流来等待事件的发生。一个好的低功耗MCU 应该有较强的中断能力,所有的外围和部分片内外设都应该有中断。有些外围像定时器A ,定时器B 和ADC12转换器为了能够灵活处理常有多个中断。
下面我们以按钮或按键为例来说明外围中断在应用中的益处。没有中断的MCU 需要定时检测按键或按钮,这样才能知道它们是否被按下。不仅仅是定时检测需要电流,同时控制定时需要定时器,这也要消耗电流。相反,使用中断的话CPU 只需要在按钮按下时被唤醒而在其它时间都处于休眠状态。
●外设
在选择一款低功耗的MCU 时,外围功率消耗和功率管理应该给予充分的考虑。有些低功耗MCU 是20~30年前模式的改进,它们的外围是没有低功耗模式的。MSP430在起初就为外围设计了低功耗模式。我们期望的是当需要时MCU 有使能或关闭某些外设的能力,甚至是外设能自动使能或关闭。MSP430中的ADC12就是这样的一个智能外设,如果不进行转换,它不花费的电流。并且它能自动关闭一些内部晶振和数字电路。在收到转换的触发信号时,它能自动重新使能一些电路。
交互性是外设能提供的另外一个好处。例如,MSP430的ADC12模块能够被定时器A 或定时
Page 2 of 3
如何选择超低功耗处理器
器B 触发。这给ADC 采样提供了直接和精确的时间,同时这也允许采样器不在CPU 的作用下直接自动触发。此外CPU 也可以不用被唤醒去初始化ADC 。定时器能控制采样频率和初始化转换器。ADC12能够在转化完成之后唤醒CPU 。
有些MSP430设备包括直接存储器存取(DMA )能够在CPU 不介入的情况下自动完成数据的操作。使用直接存储器存取控制器能够增加数据操作的能力,更重要的是这样能够降低功率的消耗。例如,可以允许CPU 在休眠的状态下,使用DMA 自动传送模数转换器转换完成的数据到RAM 。只需要在所有想要转换完成之后唤醒CPU 。
2 外围时钟控制是减少系统电流消耗的另一个特性。MSP430的I C 是直接被系统的时钟控制
2的。这意味着I C 模块只需要一个时钟,它便可以不在CPU 的作用下就能自动使能该模块工作。
2这样更可让CPU 处于休眠状态更久的时间, 从而在不唤醒CPU 的状态下能够识别到新来的I C 的
地址。
●掉电保护
许多的MCU 都集成了掉电保护功能,当供电电源低于正常操作范围时MCU 能自动复位。对于大部分MCU 来说,掉电保护需要一个10~70uA的附加操作电流。虽然为了降低功耗MCU 经常是有使能和关闭掉电保护的功能的,但由于掉电是不可预测的,我们一般都是让它一直工作。这样做就直接增加了掉电保护功率消耗的低线。
MSP430的掉电保护功能不能被关闭,但它的附加电流是0uA 。这一点可以在特定的功耗模式数据手册中了解到。
●引脚的漏电流
在选择低功耗MCU 是引脚漏电流有时会被忽略,但大部分应用中我们应该考虑漏电流。大部分低功耗MCU 指定的漏电流为1uA 。那么20个引脚输入的总电流为20uA 。同样是20个引脚输入MSP430的总电流为50nA~1uA。
●执行效率
最后,我们常常会误解执行效率。我们常认为16位的MCU 需要的存储器是8位MCU 的两倍,但事实上是比起8位模式来16位MCU 需要更少的代码,并且16位MCU 的执行速度更快。例如,10位A/D转换应用中8位MCU 需要重复对数据进行处理,又例如16位数据的数学计算时,16位MCU 有绝对的优势。表格1分别是MSP430和8位模式MCU 移动10位A/D
24us 。
Page 3 of 3
如何选择超低功耗处理器