从硅芯片到软件- 设计低能耗嵌入式系统
扫描二维码
随时随地手机看文章
第一部分硅芯片选择
简介
设计低能耗系统时,我们需要关注一些非传统因素,这些因素涉及范围从硅芯片生产工艺技术,到基于单片机的嵌入式平台上所运行的软件。通过对系统层面的深入分析,本文讨论决定MCU能效的三个关键参数:工作模式功耗、待机模式功耗和占空比(他决定各种状态下所占用的时间比率,由软件自身来决定)。
低能耗待
机状态使MCU看上去具有超高能效,但事实是,只有考虑了控制工作模式功耗的所有因素后才能决定MCU的能效状况。总之,对于处理工艺、IC架构和软件结
构选择的权衡是十分微妙的决定因素,有时会出现意想不到的结果。此外,单片机上功能模块相结合的方式对整体能耗加以动态影响。即使对硬件实现看似小而轻微
的改变,都可能会导致系统运行周期中整体能耗的大幅波动。
低能耗应用
举几个应用示例。测量和报警系统通常由单电池供电,并具有约10年的生命周期。在传感器读取操作上(在产品生命周期中可能发生几亿次),小小的电流消耗增
长就可能会导致产品的实际使用寿命减少几年。而一个简单的烟雾报警器,需每秒检测一次空中烟雾粒子是否存在,在其生命周期中将要执行3.15亿次读取操
作。
简单烟雾报警器的工作比例或占空比是相当低的。每次传感器读取操作可能花费时间不超过几百微秒,而大部分时间都消耗在其他方面,包括:校准和准备过程,单
片机唤醒模数转换器(ADC)和其他感应模拟器件,并等待其达到稳定状态点的时间。在这种情况下,工作周期可能导致设计中的非活动状态时间大约占总时间的
99.98%。
传统的烟雾报警器比较简单。我们来看一个更复杂的RF设计,此设计中,数据结果通过传感器网状网络传输到主机应用中。传感器需要监听主节点的工作状态,由
此他可以发信号表明自己仍然在网状网络中,或者为路由器提供当前所捕获信息。额外的工作不一定会影响整个占空比,相反,在活动周期中,使用更高性能的装置
还可以执行更多功能,因为高性能装置提高了处理速度(可通过使用更先进的架构和半导体技术实现),与运行更多周期的慢速装置相比,快速装置具备更高能效。
设计关键在于理解工艺技术、MCU架构和软件实现之间的相互作用。
第二部分:CMOS能耗分布
几乎所有的MCU都通过CMOS技术实现。任何工作逻辑电路的功耗可由公式CV2f决定,其中:C代表装置中开关电路路径上的总电容,V代表供电电压,f代表操作频率。电压和电容是生产工艺技术相关的因子。在过去的三十年中,CMOS逻辑的片上操作电压已经从12V下降到2V以下,同时晶体管体积也大大缩小。因为电压在工作功耗方程式中是二次函数,因此使用较低电压将对功耗带来显著的影响。
与其他技术相比,CMOS可以极大降低能源浪费,但同时存在漏电损耗。与工作模式功耗相比,漏电损耗以摩尔定律速率来增加,在所有低能耗应用中都要加以考虑,因为他与低占空比系统的非工作时间成正比。然而,和工作模式功耗一样,电路设计对真实漏电损耗产生动态影响。类似时钟门控,功率门控也能够大大减轻漏电损耗的影响,采用更多先进工艺的节点是低占空比系统的更好选择,即使是旧的工艺技术也可以获得更低的理论漏电损耗量。
适用的生产工艺技术
每一个特性集都有合适的生产工艺技术。关键在于,当装置长时间处于休眠模式时,仅仅依赖一种具有最低理论漏电损耗的生产工艺技术是不够的。在休眠模式,可以禁止为MCU中大部分部件供电,把漏电组件排除在方程式之外。当电路处于工作模式,漏电损耗是一个大问题,简单的方法是利用更先进和高效的晶体管所带来的优势进行弥补。
举例来说,与专用低功耗180nm生产工艺的漏电损耗相比,90nm生产工艺所产生的漏电损耗高五倍,但工作模式功耗低4倍,这是基于一个相当大的数值来计算。假设一个180nm工艺的单片机,其具有40mA工作电流消耗和60nA休眠模式功耗,与采用90nm工艺实现的功耗级别相比,90nm工艺单片机工作电流功耗可降低到10mA,但是休眠模式电流却达到300nA。
在上面的例子中,对于90nm工艺MCU来说,为了获得更好的整体功效必须有0.0008%的活动时间。换句话讲,如果系统每天有1秒钟活动时间,90nm版本的功效大约是180nm版本的1.5倍。由此可以发现,当选择一种生产工艺时,了解应用占空比是十分重要的。一旦适当的工艺技术被选中,IC设计者具有进一步优化能效的选项。当时钟门控的概念首次推出时,仅仅粗略的应用在设计中。时钟门控技术增加了设计复杂性,因为电路设计人员要清楚特定时间内,哪一条逻辑路径需要时钟信号。
时钟分配
大多数单片机实现采用分层结构,把时钟信号和适当的电压电平分配到IC的每个部分。各功能单元(诸如指令处理块和外围设备)组成不同的组。这些组通过分离的时钟树和电源网络提供时钟信号和电源。每个组中的时钟信号来自于一个公共时钟源,然后分频或倍乘。如果不同组需要不同的电压,则传送到每个外设组的电压由一系列功率晶体管和电压调节器控制,现在这种做法越来越普及。为了最大程度降低设计的复杂性,MCU使用相对简单的时钟门控策略,只要功能组中没有任何功能单元处于工作状态,整个时钟树就关闭;此种情况下,仍然允许处于工作状态的组中,为没有执行工作的逻辑提供时钟信号。例如CPU内核中的加法器单元可以接收时钟信号,即使当前是一条分支指令。加法器单元中由时钟信号触发的开关增加了功耗,这是通过之前所述的CV2f公式中的一个因子引起的。
设计工具和技术的改进为人们带来好处:在运行周期中,当不需要时钟信号的外围设备或功能单元不执行操作时,可以增加时钟门控的控制精度。电压缩放可进一步节省功耗,当需要时他可为特定功能单元组提供更低的电压。为一组功能单元或外设提供适当电压的关键是使用片上电压调节器或DC-DC变换器,并且使用监视电路确保IC操作在所需电压上。
供电原则
片上电压调节器为系统设计者提供更高的灵活性,可以从电池中获得更多的电荷。例如,一个片上开关降压变换器(已经集成在Silicon Labs SiM3L1xx系列产品上),可以把工业电池上的3.6V电压以超过80%的转换效率转换成1.2V。许多MCU没有此功能,而使用线性元件降压到适当的电平,这造成了巨大的浪费。在先进的技术中,当电池放电到不能再执行转换功能时,降压型稳压器可以关闭。因此电源可以在装置的整个生命周期中优化能源效率,所有这些都可在软件控制下实现。
结论
低能耗系统设计是一个整体的设计过程,需要选择合适的硅芯片、软件和开发工具。通过掌握这些变量因素之间的关系,系统工程师可以开发出更高性能和高能效的嵌入式系统,突破电池供电型应用的诸多限制。
“从硅芯片到软件— 设计低能耗嵌入式系统”的第二部分探讨了开发人员为实现最低功耗而优化嵌入式系统时,需要考虑的软件设计原则。