MCU被用作几乎所有可想象的应用程序的主要控制元件。它们的力量和灵活性使它们成为大多数设计的核心部件。使用MCU创建高效设计的关键常常依赖于在功率和性能之间做出智能权衡。许多MCU提供了几种供MCU供电的选项,可以限制MCU时钟速率,从而限制MCU的性能。了解操作电压和操作时钟速率之间的共同关系对于获得下一个MCU设计最重要。
本文将快速回顾一些供MCU供电的常见选项,并讨论可能导致的性能限制。在运行时修改操作电压以获得性能和功率效率的最佳组合的常用技术将被探讨,以帮助您选择和实现下一个基于MCU的设计。
频率与工作电压——关键性能考虑
性能和功率之间最基本的关系之一是MCU工作的电压。操作电源与操作电压直接相关(由于定义为功率等于电压倍电流),所以在决定您将用于设计的MCU时,操作电源显然是一个关键的考虑因素。你可能会认为这意味着你应该总是使用最低功率的MCU,但是如果性能在你的设计中是一个问题,你也需要考虑操作频率作为一个关键元素,并且MCU的工作频率经常受到它的工作电压的限制。
许多MCU制造商理解操作电压、操作频率、MCU性能和MCU操作功率之间的关系的重要性,并且它们提供不同级别的操作功率和操作频率,以便更容易地优化设计以最适合于YO。UR系统要求。作为一个例子,瑞萨RL78 MCU有四个不同的工作电压范围,每个都支持不同的工作频率,如下面的图1所示。在1.6 V和1.8 V之间,RL78可以在1 MHz和4 MHz之间的任何地方运行。在2.7 V和5.5 V之间,它可以在最大20 MHz下运行。因此,如果使用2.7 V而不是1.8 V,则RL78可以运行五倍的速度,只有50%的工作电压增加。
瑞萨RL78单片机的电压-频率图像
图1:瑞萨RL78 MCU的电压频率图。
以上描述的在较高电压下工作时提高功率效率的关系在许多MCU中是常见的,并且是理解当电源效率是您的设计中的关键要求时最重要的关系之一。在许多情况下,将MCU保持在尽可能低的功率状态,也许是低睡眠模式,并在需要进行一些处理时唤醒它(可能是采样传感器以查看是否需要采取进一步的行动),这是非常有效的。当需要处理时,通常以更快的频率运行,以使高功率状态下的时间最小化,功率效率更高。如果处理可以做五倍的快速,并且它只需要50%的操作功率增加,(如在RL78的情况下),您可以清楚地看到,所需的总能量将少得多,因此它将是一个更为省电的设计。
时钟控制
MCU的操作频率由时钟控制块管理;许多时钟控制块具有可用于选择、控制和管理CPU、存储器、外围设备和模拟块的时钟源的特征。通过控制这些块的时钟频率,甚至关闭时钟到某些处理例程中未被使用的特征,可以调整动态电流的量(改变信号或存储元件的电压电平所需的电流),从而使用电流。最有效的方式。(注意,基于电池的应用,特别是,目前最有意识的设计,因为它是从电池提供的总电流,通常是最关键的约束。)
许多最常用和最有用的时钟控制功能包含在微芯片PIC32 MX MCU时钟控制块中,如图2所示。大多数时钟控制模块的起始点是时钟源,并且通过具有多个源,它可以独立地优化多个模块的时钟。例如,PIC32 MX具有低功率的内部RC振荡器(图2底部附近的LPRC),当非常低的速度操作是可接受的时,它可以使用。它源于看门狗定时器(WDT),使得即使在非常低的功率模式下,这种关键定时器仍然可以使用。主振荡器(POSC)使用外部晶体来产生由设备的最高性能部分使用的精确高速时钟源,并馈送系统和USB PLL(在图的顶部)。注意,单独的PLL也意味着USB操作可以独立于系统时钟,提供额外级别的时钟优化和潜在的功率节省。快速RC振荡器(FRC)提供了一个8 MHz的时钟源,如果不需要外部振荡器,节省电路板空间,元件数量,并可能节省功率时,最高频率和精度不需要。最后,次级振荡器可用于来自外部32 kHz晶体的低功率操作。
PIC32 MX1XX系列芯片的图像
图2:微芯片PIC32 MX1XX系列中的时钟控制块。
这种丰富的时钟源可以被选择并进一步通过后缩放器、预缩放器和两个主PLL来划分,以产生设备的各个子区段所需的频率。16块的固定除法和可选择的FRC后标除法器(由FRCdIV输入控制)为CPU和外围设备(SysCLK)创建主时钟。外围时钟可以通过附加的后定标器进一步划分,以优化外围时钟速度,最小化在这些功能中产生的动态电流。图2中显示的许多时钟选项可以通过配置寄存器来控制,或者根据程序员期望的性能级别自动选择。现代MCU通过简单的应用程序接口(API)调用使操作更复杂,即使是最复杂的时钟管理器,在配置这些块时,可以简化和减少潜在的冲突。图形向导、代码示例和参考设计以简化设计过程。
闪存性能与时钟频率
选择MCU时经常忽略的一个方面是代码闪存的性能。一些MCU具有快速的CPU周期时间,但是这些快速操作速度可能受限于代码或存储在闪存中的数据的访问时间。例如,在ATMEL AT32 UC MCU中,闪存周期时间与工作频率有关,如下面的图3所示。闪存等待状态(FWS)的数目在33 MHz工作时为零,因此读取访问时间仅需要一个周期。在66 MHz的工作频率下,闪存插入FWS,因此访问时间需要两个周期。因此,您可能期望以33 MHz的有效工作频率结束,即使在运行66 MHz时钟时也是如此。MCU制造商已经开发了几种方法来减轻等待状态的插入,因此,通常您支付的开销远小于整个开销。
ATMEL ** R AT32 UC单片机的图像
图3:Atmel ** R AT32 UC MCU的闪存等待状态。
一种减轻闪存等待状态的方法是流水线Flash接口,这是在ATMEL AT32 UC MCU中采取的方法。这种流水线方法允许从顺序存储器位置读取突发信息(到目前为止,绝大多数代码存储器访问都是连续的,因为通常只需继续执行下一个指令)而不需要读取惩罚。这导致在有效周期时间内平均开销只有15%,而不是您预期的全部100%。减轻慢速闪存访问的另一种常见方法是使用本地内存缓存,以便重复访问可以使用已获取的数据,而不需要对较慢的闪存块进行完全读取。在设计中,您应该仔细查看闪存访问和总体处理性能之间的相互作用,以确定您选择的时钟速度对整体处理性能的影响。
把它关掉
MCU的最省电的操作模式之一是将设备完全关闭,导致零功耗。MCU的性能也是有效的零,所以这可能不是一个非常有用的方法,如果你需要确保一定数量的操作总是发生。例如,即使设备关闭,您也可能需要实时时钟来保持准确的时间记录。幸运的是,一些MCU可以在电池备份模式下运行,这样即使在设备的其余部分关机时,简单的操作也可以继续。
德克萨斯仪器提供了这样的能力在MSP430X5XX/6xx单片机系列。如下面的图4所示,如果主电源(DVCC)发生故障,电池备用块从次级电源(VBAT)提供子系统。备份提供的子系统通常包含一个实时时钟模块(连同所需的LF晶体振荡器)和一个备用RAM。块的各种操作由寄存器位控制(带有BAK前缀的信号),使得充电、选择和ADC操作都可以由处理器来管理。当需要RTC和备用SRAM时,它们可以耗尽电池电压,RTC甚至可以用来“开启”其余的MCU进行周期性操作。这节省了最大的功率量,并创建了一个非常空间有效和功率有效的控制系统,完全关闭(以零频率运行)CPU,同时耗散非常小(实际上为零)的系统功率,也许是最终的功率性能折衷。
德克萨斯仪器MSP430X5XX/6XX单片机的图像
图4:德克萨斯仪器MSP430X5X/6XX单片机系列的电池备份子系统。
总结
使用MCU创建高效设计的关键常常依赖于在功率和性能之间做出智能权衡。许多MCU提供了几种供MCU供电的选项,它们可以限制MCU时钟速率,从而限制性能。管理时钟,选择正确的操作电压电平,以及理解电压电平和闪存性能之间的关系对于创建最有效率的MCU设计来说都是至关重要的。