嵌入式体系的低功耗规划需求全面剖析各方面要素,统筹规划。在规划之初,各个要素往往是彼此限制、彼此影响的,一个下降体系功耗的办法有时会带来其他方面的“负效应”。因而,下降体系全体功耗,需求仔细剖析和核算。本文从硬件和运用软件规划两个方面,论述一个以单片机为中心的嵌入式体系低功耗规划时所需考虑的一些问题。
在嵌入式运用中,体系的功耗越来越遭到人们的注重,这一点关于需求电池供电的便携式体系特别显着。下降体系功耗,延伸电池的寿数,便是下降体系的运转本钱。
选用具有低功耗特性的单片机能够大大下降体系功耗。能够从供电电压、单片机内部结构规划、体系时钟规划和低功耗形式等几方面调查一款单片机的低功耗特性。
1.选用尽量简略的CPU内核
在挑选CPU内核时切忌一味寻求功用。8位机够用,就没有必要选用16位机,挑选的准则应该是“够用就好”。现在单片机的运转速度越来越快,但功用的进步往往带来功耗的添加。一个杂乱的CPU集成度高、功用强,但片内晶体管多,总漏电流大,即便进入STOP状况,漏电流也变得不行忽视;而简略的CPU内核不只功耗低,本钱也低。
2.挑选低电压供电的体系
下降单片机的供电电压能够有效地下降其功耗。当时,单片机从与TTL兼容的5V供电下降到3.3V、3V、2V甚至1.8V供电。供电电压降下来,要归功于半导体工艺的开展。从本来的3μm工艺到现在的0.25、0.18、0.13μm工艺,CMOS电路的门限电平阈值不断下降。低电压供电能够大大下降体系的作业电流,可是因为晶体管的尺度不断减小,管子的漏电流有增大的趋势,这也是对下降功耗晦气的一个方面。
现在,单片机体系的电源电压仍以5V为主,而曩昔5年中,3V供电的单片机体系数量添加了1倍,2V供电的体系也在不断添加。再过五年,低电压供电的单片机数量或许会超越5V电压供电的单片机。如此看来,供电电压下降将是未来单片机开展的一个重要趋势。
3.挑选带有低功耗形式的体系
低功耗形式指的是体系的等候和中止形式。处于这类形式下的单片机功耗将大大小于运转形式下的功耗。曩昔传统的单片机,在运转形式下有wait和stop两条指令,能够使单片机进入等候或中止状况,以到达省电的意图。
中止形式下,体系时钟也将中止,由外部事情中止从头启动时钟体系时钟,从而唤醒CPU持续作业,CPU耗费电流可降到μA级。在中止形式下,CPU自身实际上现已不耗费什么电流,要想进一步减小体系功耗,就要尽量将单片机的各个I/O模块关掉。跟着I/O模块的逐一封闭,体系的功耗越来越小,进入中止形式的深度也越来越深。进入深度中止形式无异于关机,这时的单片机耗电能够小于20nA。其间特别要提示的是,片内RAM中止供电后,RAM中存储的数据会丢掉,也便是说,唤醒CPU后要从头对体系作初始化。因而在让体系进入深度中止状况前,要将重要体系参数保存在非易失性存储器中,如EEPROM中。深度中止形式关掉了一切的I/O,或许的唤醒方法也很有限,一般只能是复位或IRQ中止等。
保存的I/O模块越多,体系答应的唤醒中止源也就越多。单片机的功耗将依据保存唤醒方法的不同,降至1μA至几十μA之间。例如,用户能够保存外部键盘中止,保存异步串行口(SCI)接纳数据中止等来唤醒CPU。保存的唤醒方法越多,体系耗电也就会多一些。其他或许的唤醒方法还有实时钟唤醒、看门狗唤醒等。停机状况较浅的状况下,外部晶振电路仍是作业的。
以R系列单片机为例:在室温(25℃)下,不包括I/O口的负载,以2V供电,将可编程锁相环时钟设为16MHz(总线时钟8MHz),典型电流值为2.6mA,当温度升高到85℃时,供电电流也升高到3.6mA;而选用3V供电,这一组数据升高至3.8mA和4.8mA。用2V供电,直接运用外部晶振2MHz(总线时钟1MHz)时,典型运转电流降至450μA。在等候状况下,因时钟并没有中止,耗电状况和时钟频率有很大联系,节约的功耗有限;而进入轻度中止(stop3),以外部中止唤醒,电流耗费在0.5μA左右。在中度中止态(stop2),功耗可进一步下降。运用内部1kHz的时钟,坚持1个运转的时钟,周期性唤醒CPU,所添加的电流约为0.3μA。在深度中止态(stop1),RAM的数据也不再保存,只能经过外部复位重启体系,此刻的电流耗费可降到20nA。以上数据都是在室温下丈量所得。当环境温度升高到85℃时,电流耗费或许添加3~5倍。
4.挑选适宜的时钟计划
时钟的挑选关于体系功耗适当灵敏,规划者需求留意两个方面的问题:
第一是体系总线频率应当尽量低。单片机内部的总电流耗费可分为两部分——运转电流和漏电流。抱负的CMOS开关电路,在坚持输出状况不变时,是不耗费功率的。例如,典型的CMOS反相器电路,当输入端为零时,输出端为1,P晶体管导通,N晶体管截止,没有电流流过。而实际上,因为N晶体管存在必定漏电流,且随集成度进步,管基越薄,漏电流会加大。温度升高,CMOS翻转阈电压会下降,而漏电流则随环境温度的增高变大。在单片机运转时,开关电路不断由“1”变“0”、由“0”变“1”,耗费的功率是由单片机运转引起的,咱们称之为“运转电流”。在两只晶体管相互改换导通、截止状况时,因为两只管子的开关延迟时间不行能完全一致,在某一瞬间会有两只管子一起导通的状况,此刻电源到地之间会有一个瞬间较大的电流,这是单片机运转电流的首要来历。能够看出,运转电流几乎是和单片机的时钟频率成正比的,因而尽量下降体系时钟的运转频率能够有效地下降体系功耗。