许多应用依靠微控制器来提供高性能,同时最大限度地降低功耗。微控制器的总体功耗取决于设备的功能和设计师对如何利用设备功能的理解。本文简要介绍影响功耗的硅技术元素,提供如何在普通设计中利用硅技术的指南,最后详细介绍如何利用飞思卡尔S12XE双核微控制器的特殊功能来优化功耗。
2. 功耗模式
嵌入式应用的运行行为可以分为两大运行状态,即所谓的“运行模式”和“低功耗模式”。在运行模式中,应用全面运行,并从电源获取电流来执行其功能。在低功耗模式中,应用通常处于修面状态,将功率降到尽可能低的水平。
集成电路设计的两个不同特征会影响两种不同运行状态。对这种根本影响的全面了解可能会对应用的最终功率要求产生极大影响。
3. 集成电路工作
图1显示了CMOS设计中常用的一种简化的逆变电路。该电路依赖两个根据输入信号开启或关闭的MOSFET。在稳态情况下,图中显示的T1处于打开状态,T2处于关闭状态。从理论上讲,电流不会通过T2,但实际上会有少量电流漏过此门。这被称为阈下或信道漏电,其具体数值取决于晶体管的设计,尤其是晶体管的工作电压。该门内有寄生二极管产生的次要影响,寄生二极管位于晶体管和晶体管所在的底板之间。
通过合理的设计和生产流程可以最大限度地减少这种影响导致的漏电。然而,由于漏电的本质特点,具体电流强度在温度变化时是高度非线性的。在周围环境温度较低的情况下,停止电流(stop current)可能非常小——微控制器约为20–30 μA。然而,在温度为125 °C时,电流可能会比这高20倍。
图1. CMOS门内的运行模式电流。 |
在门的瞬时行为中,功率要求是由于MOSFET的开关导致的,见图2。门的开关是根据输入变化进行的,所以晶体管T3和T4的状态会从开变为关(T3)或从关变为开(T4)。这种状态变化需要的时间很有限(通常是几百PS秒),但在转换过程中两个晶体管都是通电的,因此电流会直接从VDD电线流到VSS线。门每一次开关,都会消耗相同的电量,因此根据通用时钟信号运行的微控制器等设备的电流需求会有升降变化,具体取决于时钟频率。这种影响大部分是线性的,因此时钟频率翻倍通常会引起所需电力的翻倍。
图2. CMOS门中的运行模式电流。 |
MCU的功率要求取决于它的运行模式和环境条件。在运行模式下,总线速度越快,耗费的电流就越多;而在停止模式,主要影响因素很可能是温度。对于大多数CMOS电路而言,运行模式下所需的电流通常是低功耗模式下所需电流的好几倍。
根据对CMOS行为的理解,我们可以为多种电子设计提出几条建议。
在运行模式下,电路以最低的可接受时钟速度运行时功率最低。通过控制PLL电路,我们通常可以动态地改变应用的运行速度。这样,我们就可以通过将应用性能与其要求相匹配来降低平均功率要求。
可能时从运行模式切换到低功耗模式可以进一步降低系统的功率要求。很多微控制器在低功耗模式下有不同的运行水平。我们应始终确保所选的低功耗模式使应用可以正确应对系统状态的变化。
4. 常用I/O 建议
大多数情况下,低功耗模式不会改变输入/输出针脚的状态,这有可能对应用的功率要求产生巨大影响。例如,驱动LED的输出针脚在开启状态下会继续耗用电源,即使是在低功耗模式运行时也是如此,因此在进入低功耗模式之前将所有输出针脚设置为适当状态非常重要。同样,在进入低功耗模式之前还必须认真考虑输入针脚的状态。正如我们在图2中所见,晶体管上有输入电压,这使两个晶体管都处于打开状态。开关门时,这可能会在短时间内造成这种状态。很多标准输入端口都采用与这种门类似的设计,并会以相同的方式消耗电源。主要区别在于,输入电压不是由芯片电源而是由外部电压提供,因此不受MCU的控制。因此,我们可以为输入线路接通中等电压,使门将电流直接从VDD电线传导到VSS线路。因此,对任何数字输入针脚来说,只接通数字电压电平非常重要。
输入针脚的另一个特点是输入电阻通常非常高。这样就会导致小电荷在输入线路上累积并影响门的行为。实际上,这些电荷有可能会进入稳态,使门电压处于中等范围内,这样门又会消耗电流。因此,我们应对输入针脚进行认真分析,并在必要时强制它们进入已知状态。
该建议还适用于不允许所有I/O针脚连接到外面的封包中的MCU。在这种情况下,输入针脚仍然存在,但不会在物理上连接到任何其他硬件上。这些针脚必须通过采用内部牵引设备或修改为输出的方法设置为已知状态。如果不能正确处理这种浮动输入针脚,可能会导致数百毫安的功耗。
注意,尽管这些建议会对低功耗模式产生最大影响,但它们同样适用于运行模式。在运行模式下,功率也可能以这种方式被浪费。
5. S12XE系列产品上的具体微控制器特性
除了上述通用建议外,飞思卡尔还在S12XE系列设备中设计了多种节能特性。利用这些特性和通用建议,我们就可以大大优化应用的功耗。S12XE有三种主要的低功耗模式,它们是:
* 待机模式:完全关闭CPU,从而节约运行CPU所需的功率。其他模块也受不同级别的控制,但通常都可以选择继续运行或停止。由于整个时钟链都持续运行,因此这种模式下的功耗节约很有限。
* 停止模式:这种模式下,晶体振荡器停止运行,从而将主时钟从设备上断开,从而有效地使MCU停止所有操作。这是设备的最低功率配置。MCU上的几个模块提供重启振荡器和重启代码执行的方式,因为大多数情况下应用程序仍需要对系统事件作出响应。此外,S12XE系列MCU包括还有一种选项,可以在一定时间过后唤醒设备。对必须定期检查应用内传感器状态的系统而言,这是一种很有用的功能。这一时间段由嵌入到芯片电压调整器(叫作自动定期中断,API)中的一个计时器决定。API从内部RC振荡器中运行。这个内部RC振荡器在水晶振荡器停止时可以继续运行。由于这种计时器具有根据时钟进行逻辑切换的功能,因此会增加设备需要的总电流。然而,总电流仍然低于振荡器继续运行的模式下的总电流。
* 伪停止模式:顾名思义,这种模式具有停止模式的许多特征。二者时间的区别在于震荡器继续以更小的振幅运行,从而使某些芯片系统可以继续运行。特别值得一提的是,这种模式下可使用实时中断(RTI)和看门狗(COP)来提供精确的定时参考和系统保护。与停止模式相比,伪停止模式还能够大大缩短重启时间,因为水晶启动所花的时间减少。在所有模式下,外围设备的配置和RAM内容都会保存下来。
6. 低功率响应
如果能够对系统中的事件作出响应,应用就能够从微控制器的低功耗功能中受益。S12XE可以响应多种不同类型的系统事件,每一种事件详细说明如下。
数字输入事件
这种系统事件的例子包括用户发起的开关操作或来自外部模块或传感器的简单逻辑电平变化。
S12XE包括专用IRQ或XIRQ中断针脚和专门为检测这种事件设计的广泛键盘唤醒功能。这种输入通常包括高电位或低电位事件的触发选项,包括下拉(pull-down)或上拉(pull-up)设备。
在这种配置中,MCU可以置于停止模式,而不需要其他功能,然后在发生外部逻辑变化时会重新启动。这样就可以确保只有在系统需要时MCU才能使用操作电流。
模拟输入事件
这种事件发生在相连传感器上检测到特定的模拟值时。例子包括温度传感器和电池电量。
设计外部电路以在发生特定模拟事件时触发非常简单。这种情况下很可能需要使用模拟比较仪来将模拟事件转化为数字事件,还需要使用数字输入事件技术进行处理。
S12XE系列产品可使用芯片ATD转换器提供更先进的解决方案。这种转换器有两种功能可一同用于检测模拟事件。首先,每个转换信道上有一个数字比较仪,能够进行大于、小于或等于比较。正的比较结果可能会导致ATD发起中断。其次,ATD模块包含它自己的时钟源(采用RC震荡器形式)。这种内部时钟允许ATD进行转换,即使在MCU处于停止模式时也可以如此。通过结合这种自我时钟模式和比较仪功能,用户可以配置ATD来检测特定模拟事件并触发中断,从停止模式中重启MCU。
当模拟电压下降到特定值以下或超过某数值时,这种结合也允许MCU重启。
通信事件
在这种情况下,系统由来自其他模块的信息唤醒。汽车领域的一个例子是CAN或LIN网络上的信息,汽车停靠后驾驶员回来时就是这种情况。汽车上锁机制会检测到车门被打开,然后通过网络向车内的其他模块发出信号,唤醒它们。
S12XE系列允许CAN和SCI(用于LIN)端口检测信息事件并在信息到达时触发中断。这种功能使通信端口可以从停止模式下重启MCU。
定期事件
通常,系统必须定期重启。这可能包括实时时钟的维护或需要定期检查的外部系统。
在这种情况下,MCU的正确配置取决于定期重启要求的精确性。如果需要精确唤醒时段(如实时时钟维护),那么最适当的低功耗模式就是伪停止模式。由于这种模式下水晶震荡器一直运行,因此它能够提供精确的时间基准。实时中断将水晶时钟用作时钟源,可以从4MHz的水晶上提供250μs~800ms的超时时段。RTI可以选择二进制或十进制分割器(divider)来取多种中间值。伪停止模式的另一个优点是COP能够继续运行,因此定期代码的运行故障可能引起MCU的看门狗恢复。伪停止模式的主要缺点是水晶震荡器会消耗额外的电流,因此它的功耗比停止模式大。
随机和复杂事件
在很多情况下,MCU不可能通过外部活动直接激活,而是需要更复杂或更主动的系统检查。这方面的例子包括扫描键盘和检查外部外围设备的状态。
图3. 复杂事件处理实例。 |
这种事件的一个主要特征是大多数时间MCU将执行状态检查,然后直接返回停止模式。只有在少数情况才重启会使MCU在较长时间内处于运行模式。记住,功率利用最高效的配置必须采用API执行定期唤醒并选用快速唤醒模式才能实现。这种结合使MCU在停止模式时只消耗尽可能少的功率,在检查系统状态时最大限度地降低功耗并只在需要时才激活全面运行模式。图3显示了这种应用的流程。
7. 双核架构带来的功率优势
S12X架构采用XGATE协处理器。这是一种可独立编程的RISC核心。XGATE的运行速度是CPU时钟速度的两倍。与CPU不同的是,它不需要特别选择停止模式,因为程序运行结束时它会自动进入低功耗模式。
CPU和XGATE的架构差异使功耗节约成为可能,因为它们运行时都使用大约相同的电流量。用最少的时间完成特定任务的核心通常是功率利用最高效的解决方案。
为了了解核心架构如何影响执行速度,因此功耗考虑了图4显示的C程序。这是一个非常简单的定期唤醒例子,它只在发生一些外部事件而且必须向系统提供变化指示时才会进入运行模式。代码通过从API中接收中断的方式执行,它采用快速唤醒来将MCU从停止模式中唤醒。它扫描4个I/O端口并比较数值和RAM,每隔8次API中断会亮一次指示灯。如果I/O数值不同于RAM中的值,它将启动水晶震荡器。
图4. C编码实例。 |
通过为XGATE和CPU编写C代码,我们可以比较相对实施时间及功耗。如图5所示,我们可以看到,XGATE完成程序所用的时间不到CPU完成程序的时间的一半,因此在这个例子中使用XGATE执行低功率处理更为高效。
图5. C编码性能。 |
实际上,所用处理器的选择取决于所需处理功率的类型。XGATE对涉及比特处理、转换、比较和基于RAM的操作特别高效。当需要数学计算或广泛访问闪存时,CPU最适合。这两种内核都可以轻松地使用C语言编程,因此在每个内核上编写算法和测试性能非常简单。
8. 结语
CMOS微控制器的基础技术决定了其功率要求的特点。这种理解连同半导体供应商提供的特定功能可为系统设计师提供很大的灵活性。飞思卡尔S12XE系列是具有大量专用特性可优化性能和功耗的微控制器的一个例子。
上一篇:异质多处理器芯片中的数据流核心设计
下一篇:LPC2000系列CAN验收滤波的编程及应用
推荐阅读最新更新时间:2024-05-13 18:35
- CGD和Qorvo将共同革新电机控制解决方案
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 贸泽开售可精确测量CO2水平的 英飞凌PASCO2V15 XENSIV PAS CO2 5V传感器
- 玩法进阶,浩亭让您的PCB板端连接达到新高度!
- 长城汽车研发新篇章:固态电池技术引领未来
- 纳芯微提供全场景GaN驱动IC解决方案
- 解读华为固态电池新专利,2030 叫板宁德时代?
- 让纯电/插混车抓狂?中企推全球首款-40℃可放电增混电池,不怕冷
- 智驾域控知多少:中低端车型加速上车,行泊一体方案占主体
- Foresight推出六款先进立体传感器套件 彻底改变工业和汽车3D感知