关于NB模块的功耗优化

对于物联网终端模块,需要关注其功能、性能、安全成本、能耗等。最近折腾NB芯片模块的功耗,整理下过程中的一些想法。

功耗的组成及优化

从芯片电路角度,功耗分为动态功耗和静态功耗,电容充放电过程中的功耗.动态功耗包括翻转功耗(有效功耗)和短路功耗(无效功耗)。参考《参考SoC设计方法与实现》,芯片模块功率可以表示如下:
p = 1 / 2 ∗ C ∗ V d d 2 ∗ f ∗ N s w + Q s c ∗ V d d ∗ f ∗ N s w + I l e a k ∗ V d d p=1/2*C*V_{dd}^2*f*N_{sw}+ Q_{sc}*V_{dd}*f*N_{sw}+I_{leak}*V_{dd} p=1/2CVdd2fNsw+QscVddfNsw+IleakVdd
其中:

  • C为结电容
  • f为工作频率
  • V d d V_{dd} Vdd为电压
  • Qsc为工作过程中的短路能量
  • I l e a k I_{leak} Ileak为漏电电流
  • N_{sw}数目

总能耗和时间有关系: W = p ∗ t W=p*t W=pt

对于通信芯片模块的优化需要考虑选择:性能基础上尽量降低功耗、低功耗基础上保证性能或是两者的权衡。功耗优化在整个系统设计过程中都应当纳入考虑范畴,从系统设计到电路级、门级都可考虑优化。目前所做优化基于已有芯片硬件,所以只能在现有基础上,考虑软件处理优化。

从上面电流公式可见,优化的主要目标,降低电压、电流、频率、工作器件数目以及减少工作时间。这样就容易理解功耗处理中的一些常用方法:如DVFS(Dynamic Volatage and Dynamic Frequency Scaling)、Power Domain(电源域)的划分与控制、clock gating等处理。

总的来讲"图难于其易,为大于其细",基于MECE(唯一排他、集合网罗)的原则进行功耗分解[两维度:长度-时间,高度-模块分解],而后再使用删除、组织、隐藏、转移的方式具体实现。关于具体的实现细节不太能直观说明白,可以从NB-IoT协议看看该系统做的一些优化。

NB-IoT协议中的功耗优化

  • DRX 非连续接收
    • 移动通信系统中都存在的待机模式下,周期性检测下行寻呼,终端基于和网络协商一致的周期内,只需要尝试接收一小段时间,确认是否存在寻呼消息。
  • eDRX extended DRX
    • 对DRX的扩展,降低了功耗,增加了时延迟。再eDRX周期内,设置了PTW(Paging time windows),而只需要再PTW窗口内需要按照DRX的周期进行寻呼检测。
  • C-DRX connected状态下的DRX
    • 连接态下的非连续接收,主要再低速率服务下,由于数据量较少,没有一直接收的必要,只需周期性检测是否存在下行数据即可。
  • PSM Power Saving Mode
    • PSM模式类似于power-off状态,不同在于保持和网络的attach及PDN(Packet Data Netwrok)的连接信息。处于PSM模式下的终端,只需要再需要业务或需要和网络信令(周期性TAU tracking Area Update)的情况下才需进入工作状态。
    • PSM状态下的终端,是无法直接联系到的,如果存在业务,可采用High Latency Communication的功能,简单来讲网络存储数据,等待终端连接网络时再发送给数据,GSMA推荐NB-IoT部署时,至少保留最后一条发送给终端的消息。
    • 协议定义了T3412 extended Value和T3324 Timer来实现PSM,T3324是连接态进入空闲态多久后终端进入PSM的定时器,T3412为周期性TAU的时间。当T3324超时,终端可以进入PSM状态;T3412/T3412 Extended 超时,终端需要退出PSM状态发起TAU。
  • TX-Power class6 14dBm
    • 印象中class6的提出基于和LoRa的比较,相对于其它能力下20+dBm的最大上行功率,功耗相对降低。
  • Additional update type
    • attach中和TAU信息中可以携带此信元,其中SAF(Signalling Active Flag)比特域,1 keeping the NAS signalling connection is required after the completion of the tracking area updating procedure;0 keeping the NAS signalling connection is not required after the completion of the tracking area updating procedure,理解上告知网络TAU结束后,是否保持连接状态。
  • Release assistance indication
  • 该信元可以携带再ESM DATA TRANSPORT中,其中的DDX(Downlink data expected)域,占用两个比特,0 0 No information regarding DDX is conveyed by the information element. If received it shall be interpreted as ‘neither value “01” nor “10” applies’; 0 1 No further uplink or downlink data transmission subsequent to the uplink data transmission is expected;1 0 Only a single downlink data transmission and no further uplink data transmission subsequent to the uplink data transmission is expected;1 1 reserved。
  • 实际中,TAU周期/PSM的T3324定时器终端都是可以通过信令报告给网络的,但最终的决定情况取决于网络,有时和SIM卡相应的APN有关联,参考电信APN与PSM/eDRX等对应关系。如果参数的定义由终端决定,则终端可以根据自身应用的需求来改变不同的参数,如协议上标注:当应用测是周期性数据时,可以安排数据和TAU同时进行,降低TAU流程带来的额外开销。
  • Release assistance indication与Additional update type可以加快连接态链路的释放过程从而降低功率开销。

处理器低功耗-ARM低功耗模式

一般的CPU都有低功耗模式设计,在空闲时可以进入sleep状态:

  • wait for interrupt
    使用WFI指令,ARM进入sleep模式,等待中断唤醒;
  • wait for event
    使用WFE指令,ARM进入sleep模式,等待中断或event唤醒;多核状态可以减少自旋锁的功耗,使用SEV触发Event Signal;
  • Sleep-on-exit
    将(System Control Block - System Cotrol Register中)SLEEPONEXIT比特置为1,只处理中断处理时退出wakeup状态,退出中断处理后立即进入sleep模式;
  • 是否选择deepsleep亦可通过设置SCR中的SLEEPDEEP标志位控制,各个模式的差异比较:
    关于NB模块的功耗优化_第1张图片

参考文档

  • 3GPP 23.682 Digital cellular telecommunications system (Phase 2+) (GSM);Universal Mobile Telecommunications System (UMTS);

你可能感兴趣的:(嵌入式系统,通信系统)