汪虹宇,張玉成,莫志鋒
(1.重慶郵電大學 通信與信息工程學院,重慶 400065; 2.中國科學院計算技術研究所 無線通信技術研究中心,北京 100190)
衛(wèi)星通信系統(tǒng)具有覆蓋范圍廣、通信距離遠、不受地面條件的約束等優(yōu)點,高性能衛(wèi)星終端產(chǎn)品的研發(fā)是衛(wèi)星通信領域的重要發(fā)展方向[1-3]。功耗向來是各類電子產(chǎn)品的一項重要性能指標,衛(wèi)星終端也不例外。
目前對于衛(wèi)星終端低功耗的研究主要集中在硬件層面。文獻[4]分析了低功耗CMOS電路的設計方法,提出了調(diào)整晶體管尺寸、降低MOS管閾值電壓等低功耗措施;文獻[5]從靜態(tài)功耗和動態(tài)功耗出發(fā),提出了降低負載電容、工作電壓及頻率等措施降低CMOS電路的功耗;文獻[6]和文獻[7]提出了多電壓域技術、門控電源技術、門控時鐘技術等低功耗設計技術實現(xiàn)終端硬件的低功耗控制。現(xiàn)有的衛(wèi)星終端待機功耗集中在200 mW左右,如:中興T900衛(wèi)星電話待機功耗為231.3 mW,HTL2200待機功耗為229.4 mW。
基于目前缺乏對終端運行流程層面的低功耗研究,本文將從終端在空閑模式下的運行流程角度實現(xiàn)終端的低功耗。本文提出了終端的睡眠算法,根據(jù)睡眠算法完成了終端功能模塊在淺睡和深睡下的工作狀態(tài)控制,最終形成衛(wèi)星終端運行層面的低功耗設計。
衛(wèi)星終端主要耗電模塊有基帶芯片、射頻芯片(radio frequency integrated circuit,RFIC)及DDR IC?;鶐酒瑸镈X-S301,主要完成信號和協(xié)議的處理,片上集成了數(shù)字信號處理器(digital signal processor,DSP)、外接收機(outer receiver,ORX)譯碼器、DDR controller、射頻接口單元(radio frequency interface unit,RFIU)及兩個ARM處理器(分別用于終端控制物理層和協(xié)議棧);RFIC主要完成功率放大、頻率合成、射頻收發(fā)等功能,與基帶芯片通過RFIU交互;DDR芯片主要完成數(shù)據(jù)的存儲,與基帶芯片通過DDR controller交互。
表1為終端主要模塊的低功耗工作狀態(tài)及功耗數(shù)據(jù),正常工作時,表中各個模塊均正常打開。其中DSP和RFIC均分為接收模塊和發(fā)射模塊,ARM1為控制物理層的處理器,ARM2為控制協(xié)議棧的處理器。
表1 終端主要模塊工作狀態(tài)及功耗數(shù)據(jù)
空閑模式指終端開機但沒有為其分配專有信道的一種狀態(tài)。在空閑模式下,終端有PLMN選擇、小區(qū)選擇/重選、位置更新、接收尋呼信息等任務[8,9]。本文的空閑模式指終端完成入網(wǎng)后的一種工作模式。
終端在開機后會先進行小區(qū)搜索,搜索到合適的小區(qū)后,在對應的廣播頻點上完成小區(qū)駐留,駐留后物理層會向媒體訪問控制層(media access control,MAC)上報廣播消息(當前駐留頻點、小區(qū)信號強度等),在接收完所有廣播信道數(shù)據(jù)后,終端進行隨機接入,隨機接入完成后開始建立信道(公共的信令信道DACCH)和無線資源控制層(radio resource control,RRC)連接,之后終端會完成IMSI附著/位置更新操作,隨即釋放RRC連接以及信令信道,至此終端便完成了入網(wǎng),入網(wǎng)完成后無其它任務(如尋呼),終端將會進入空閑模式。
在空閑模式下,根據(jù)功耗特性進行劃分,終端的工作模式可分為正常模式和低功耗模式。
正常模式指終端完成小區(qū)搜索、接收廣播、建立信道、入網(wǎng)以及釋放RRC連接等操作后的一種狀態(tài)。在正常模式下,終端會駐留在入網(wǎng)前的廣播頻點,保持駐留狀態(tài)并持續(xù)接收公共控制信道數(shù)據(jù);相比于正常模式,終端的低功耗模式按照表1合理調(diào)整各模塊的工作狀態(tài),同時利用DRX的思想使終端盡可能“少而全”地接收所需的控制信道數(shù)據(jù)。低功耗模式可進一步劃分為淺睡模式和深睡模式,相比于正常模式,終端在淺睡模式時,部分模塊處于休眠或斷電狀態(tài),而深睡模式下,在終端的深睡周期內(nèi),終端的大部分模塊都是處于休眠或斷電狀態(tài)。在低功耗模式期間,終端需要完成兩項任務:①尋呼檢測;②小區(qū)重選。這兩項任務均在淺睡模式下完成。終端在深睡模式?jīng)]有任何任務,在深睡周期內(nèi)一直處于待機狀態(tài)。圖1為終端在空閑模式期間的工作狀態(tài)轉(zhuǎn)移,終端可在正常模式與淺睡模式、淺睡模式與深睡模式之間實現(xiàn)來回切換,終端的正常模式與深睡模式之間不能直接進行切換,需要經(jīng)過淺睡模式完成過渡。
圖1 空閑模式下終端工作狀態(tài)轉(zhuǎn)移
非連續(xù)接收(discontinuous reception,DRX)指終端不連續(xù)接收下行的信道數(shù)據(jù),DRX通過減少非必要信道數(shù)據(jù)的接收,從而避免射頻模塊以及基帶處理模塊頻繁工作消耗更多的功耗。DRX根據(jù)終端狀態(tài)分為ACTIVE DRX和IDLE DRX。當終端處于RRC連接狀態(tài)時,終端在處理一些對實時性要求不高的應用可采用DRX模式,在連接狀態(tài)下的DRX叫作ACTIVE DRX;當終端處于空閑模式時,對公共控制信道的信道數(shù)據(jù)可采取DRX完成相應信道數(shù)據(jù)的接收,在空閑模式下的DRX叫作IDLE DRX。本文主要研究的是終端的IDLE DRX。
每個系統(tǒng)消息周期為64個TDMA幀,一個TDMA幀對應40 ms,每個TDMA幀有24個時隙,一個時隙對應5/3 ms。圖2給出了其中16幀的控制信道時隙分配圖,剩余48幀分配同圖1。在IDLE DRX狀態(tài)下,終端可只接收BCCH和PCH信道數(shù)據(jù),其中同一小區(qū)的BCCH的接收周期為8幀,PCH的接收周期為16幀(分為PCH0和PCH1)。
圖2 控制信道分配
當終端進入低功耗模式后,利用DRX的思想提出終端的睡眠算法,通過睡眠算法可確定終端睡眠時間及接收任務幀號。
采用三元表(SIRFN、PCRTN、LOBITS)的方式表示各控制信道出現(xiàn)的相對幀號及時隙號,SIRFN表示系統(tǒng)消息相對幀號,取值范圍為0-63;PCRTN表示物理信道相對時隙號,取值范圍為0-23;LOBITS表示突發(fā)所占的時隙數(shù)。
FCCH攜帶了終端的頻率校正信息,可用于終端系統(tǒng)信息的周期性同步,屬于下行信道。CICH為終端用于校準測量的下行控制信道;BACH是用于告警終端不能正確解調(diào)BCCH或PCH信道數(shù)據(jù)的下行信道。每個系統(tǒng)消息周期內(nèi),F(xiàn)CCH、CICH和BACH均有8個突發(fā),各自占320 ms;
BCCH用于向終端廣播系統(tǒng)消息,屬于下行信道。每個系統(tǒng)消息周期有8個BCCH突發(fā),這8個BCCH突發(fā)的三元表為:(2,0,6)、(10,0,6)、(18,0,6)、(26,0,6)、(34,0,6)、(42,0,6)、(50,0,6)、(58,0,6)。BCCH占有6個時隙,其發(fā)送周期為8幀,即320 ms。
PCH為用于尋呼終端的下行信道,PCH可分為PCH0和PCH1兩個尋呼組。PCH突發(fā)的類型由BCCH信道攜帶的SA_PCH_CONFIG和PAGING_INDEX參數(shù)確定。每個系統(tǒng)消息周期有4個PCH0突發(fā),其三元表為:(4,0,6)、(20,0,6)、(36,0,6)、(52,0,6);每個系統(tǒng)消息周期有4個PCH1突發(fā),其三元表為:(12,0,6)、(28,0,6)、(44,0,6)、(60,0,6)。
分析完各控制信道特性后,終端的睡眠時間模型可用如下公式表示
(1)
T=Ttotal-TFCCH-TCICH-TBCCH-TPCH-TBACH
(2)
其中,TCHANNEL_TYPE為終端接收對應公共控制信道數(shù)據(jù)所占用的時間;STCHANNEL_TYPE為信道占用的時隙數(shù);T表示終端一個系統(tǒng)消息周期內(nèi)的睡眠時間;Ttotal為64幀對應的時間;TFCCH、TCICH、TBCCH、TPCH、TBACH分別為接收FCCH、CICH、BCCH、PCH、BACH信道數(shù)據(jù)所占用的時間。
在不考慮終端解調(diào)BCCH或PCH出錯的情況下,終端可采取只接收BCCH和PCH信道數(shù)據(jù)。當終端接收PCH0時,在16個TDMA幀內(nèi),終端的接收任務如圖3左側(cè)時隙分配圖所示;當終端接收PCH1時,在16個TDMA幀內(nèi),終端的接收任務如圖3右側(cè)時隙分配圖所示。
圖3 DRX下接收PCH時隙分配
此時,式(2)可化簡為
T=Ttotal-TBCCH-TPCH
(3)
式中:Ttotal為2560 ms,TBCCH為80 ms,TPCH為40 ms,即在睡眠優(yōu)化后,終端在一個系統(tǒng)消息周期內(nèi)的睡眠時間為2440 ms。
對于終端接收信道數(shù)據(jù)的幀號主要由以下公式確認
(4)
式中:Fn表示第n個接收任務對應的幀號;n表示接收任務的序號,n大于等于1;F0表示接收任務起始幀號(n=1時),有F0%8=2。
ΔN為下一次接收任務與當前接收任務的幀號間隔,當尋呼組為PCH0時,ΔN取值為
(5)
當尋呼組為PCH1時,ΔN取值為
(6)
式(3)和式(4)分別給出了終端睡眠時間和接收任務幀號,通過這兩個公式可實現(xiàn)終端的睡眠優(yōu)化,在沒有信道數(shù)據(jù)接收任務的時間周期內(nèi),可采取相應的措施(如關閉射頻模塊、DSP模塊等)以減少終端耗電模塊的工作功耗。
終端的低功耗設計以睡眠算法為核心,當幀號有接收任務時,終端在對應幀號為淺睡模式,無接收任務時,在對應幀號為深睡模式。對終端在空閑模式下的低功耗設計主要分為以下3個階段進行設計:①工作模式切換設計;②淺睡模式設計;③深睡模式設計。
由1.3節(jié)可知,終端的工作模式主要有正常模式、淺睡模式和深睡模式,對于工作模式的切換主要分為3種情況進行:①正常模式切換至淺睡模式;②淺睡模式切換至深睡模式;③淺睡模式與深睡模式間的切換。
(1)正常模式切換至淺睡模式
終端在正常工作狀態(tài)時,MAC層會向物理層下發(fā)CHANNEL_RELEASE_REQ請求以釋放掉終端的專有信道連接,物理層側(cè)在收到請求消息后會向MAC層回復CHANNEL_RELEASE_RES,隨即終端進入空閑模式,然后對BCCH和PCH信道數(shù)據(jù)進行非連續(xù)性接收。
終端由正常模式切換至淺睡模式有兩個條件:①用戶手動進入睡眠模式;②AP應用模塊長時間無業(yè)務。
用戶手動配置終端進入低功耗模式時,用戶在觸發(fā)睡眠操作后,AP模塊會以AT指令(AT+SLEEP)的形式告知CP模塊側(cè)的協(xié)議棧準備進入低功耗模式,協(xié)議棧在收到AT指令后,會向物理層下發(fā)SLEEP_REQ的睡眠請求,物理層收到請求消息后會向協(xié)議?;貜蚐LEEP_RES并控制CP模塊進入淺睡模式。
AP模塊長時間無業(yè)務時,CP模塊側(cè)的協(xié)議棧長時間未收到AP的AT指令或?qū)ず羧蝿諘r,將會下發(fā)SLEEP_REQ至物理層,物理層回復RES后控制CP模塊進入淺睡狀態(tài)。
(2)淺睡模式切換至正常模式
終端由淺睡模式切換至正常工作模式有兩個條件:①用戶手動進行喚醒;②CP側(cè)檢測到外界尋呼或需要完成小區(qū)重選。
用戶通過觸屏或開機鍵使終端由淺睡模式恢復正常工作模式時,物理層會先將GPIO_A管腳設置為高電平以表明AP模塊有業(yè)務,而后AP模塊恢復正常工作模式。CP通信模塊側(cè)的物理層在檢測到GPIO_A為高時,將控制DDR退出自刷新模式,然后向控制協(xié)議棧軟件的ARM核發(fā)送一個中斷喚醒協(xié)議棧。
CP通信模塊側(cè)的物理層在檢測到終端被外界尋呼或者需要完成小區(qū)重選時,將控制DDR退出自刷新模式,然后通過ARM中斷的方式喚醒協(xié)議棧,之后將GPIO_C設置為高電平以喚醒AP模塊。
(3)淺睡模式與深睡模式間的切換
進入深睡模式前,終端在淺睡模式下會進行尋呼檢測和小區(qū)重選判斷,當不需要接受尋呼且無需進行小區(qū)重選時,即需滿足如下兩個條件,終端才能由淺睡模式進入深睡模式:①信關站子系統(tǒng)(gateway station subsystem,GSS)的身份識別參數(shù)與終端匹配;②當前小區(qū)信號強度不在閾值范圍。
在深睡模式時,需設定合適的深睡周期以避免錯過尋呼。為了避免終端錯過外界的尋呼,至少要保證終端能夠接收3個連續(xù)的PCH(PCH0或PCH1)中的一個PCH信道數(shù)據(jù),每3個連續(xù)的PCH0或PCH1一共占據(jù)32個TDMA幀,因此需要保證每32幀至少接收一個PCH0或PCH1信道數(shù)據(jù)。除了接收PCH信道數(shù)據(jù)外,還需要接收BCCH信道數(shù)據(jù),BCCH至PCH一共占據(jù)3個TDMA幀。綜上所述,在考慮不錯過接收必要的PCH和BCCH情況下,最佳省電策略為:以32個TDMA幀為周期,淺睡3幀,深睡29幀。當達到深睡周期時,終端便由深睡模式切換至淺睡模式,如此循環(huán)。
淺睡模式是終端在幀號為Fn的TDMA幀處的工作模式。終端的淺睡模式設計主要集中在兩個方面:①終端主要模塊工作狀態(tài)控制;②淺睡任務處理。
3.2.1 模塊工作狀態(tài)控制
終端在進入淺睡模式時,物理層會對終端主要模塊的工作狀態(tài)進行控制從而降低淺睡期間的功耗。終端在進入淺睡模式時需要進行如下步驟:
(1)協(xié)議棧standby
當終端進入低功耗模式后,無需協(xié)議棧繼續(xù)工作,關閉協(xié)議棧的本質(zhì)是使ARM2進入standby模式。關閉協(xié)議棧采取的方式分為兩個步驟:①設置協(xié)議棧屏蔽除ICCU中斷(協(xié)議棧與物理層之間的中斷)外的其它中斷,ICCU中斷為物理層和協(xié)議棧之間的軟脈沖中斷,物理層可通過此中斷喚醒協(xié)議棧。②ARM2執(zhí)行WFI指令進入standby。
(2)關閉RFIC-TX模塊
射頻模塊分為發(fā)送和接收模塊,在淺睡期間,終端只需對空口數(shù)據(jù)進行接收,不需要將基帶信號發(fā)送出去。
(3)引導DDR自刷新
DDR自刷新的主要目的是保存存儲陣列中的數(shù)據(jù),同時減少耗電。
(4)DX-S301芯片模塊控制
DX-S301基帶芯片在淺睡期間,其耗電模塊DSP-TX、DDR controller、USB和抗干擾模塊是不需要工作的,因此對上訴模塊進行斷電。
(5)工作模塊降頻降壓
降低工作模塊的工作頻率和工作電壓能夠降低其功耗,因此在淺睡期間可降低終端內(nèi)部工作模塊(如CPU、DSP-RX、RFIC-RX等)的工作頻率和工作電壓。
3.2.2 淺睡任務處理
在終端處于淺睡過程中時,終端物理層會處理兩個任務以決定是否將終端由淺睡模式喚醒至正常工作模式:①尋呼檢測;②小區(qū)重選。
尋呼檢測主要是完成GSS和終端的身份識別參數(shù)的匹配[10]。身份識別參數(shù)主要有G-RNTI、IMSI和P-TMSI,GSS會首先填寫這3個參數(shù)的值,終端物理層在對信道數(shù)據(jù)解調(diào)后獲取GSS側(cè)的參數(shù)值,并于終端參數(shù)進行匹配,當至少有一個參數(shù)一致時,表示有外界在尋呼此終端,隨即開始進行尋呼處理。
小區(qū)重選主要是當前小區(qū)的接收信號強度指示值(received signal strength indication,RSSI)不在閾值[15,30]范圍內(nèi)時,物理層將會對初始小區(qū)的6個鄰小區(qū)的RSSI值進行測量,從中找到一個信號最強的小區(qū)完成駐留。
淺睡模式是終端在幀號不為Fn的TDMA幀處的工作模式。終端的深睡模式設計主要有兩點:①終端主要模塊工作狀態(tài)控制;②TBU校準。
3.3.1 模塊工作狀態(tài)控制
終端在深睡模式時的模塊工作狀態(tài)控制主要是進一步實現(xiàn)降低淺睡模式下的工作模塊的功耗。
(1)關閉RFIC-RX、DSP-RX模塊
由于在淺睡過程中,終端僅關閉射頻的發(fā)射模塊和DSP-TX模塊,因此,深睡模式下需進一步關閉RFIC-RX和DSP-RX模塊。
(2)配置深睡周期
由3.1節(jié)的分析可知,終端的深睡周期為29幀。
(3)打開RFIC-RX及DSP-RX模塊
當達到深睡周期后,終端會準備恢復至淺睡模式,因此需要打開RFIC-RX和DSP-RX模塊。
(4)TBU calibration
終端完成深睡后,由于深睡期間TBU不會繼續(xù)計數(shù),因此需要完成TBU的時間校準。
3.3.2 TBU校準
定時基本單元(timing base unit,TBU)能夠為芯片內(nèi)部其余模塊提供計數(shù)功能。DX-S301芯片在低功耗模式下的深睡模式期間,TBU模塊不提供計數(shù)服務,其計數(shù)值在深睡期間保持不變。由于射頻通道的開關是根據(jù)TBU計數(shù)值在固定的時刻開關的,因此在退出深睡模式后需要對TBU進行校準以保證射頻模塊在正確的時間接收空口數(shù)據(jù)。
在終端深睡時,芯片內(nèi)部19.2 MHz的時鐘將會關閉,主要由32 KHz的無源晶振完成計數(shù)工作。
TBU的calibration可分為以下3個階段完成:
(1)無源晶振周期與TBU周期對應關系
由于在深睡時主要是由無源晶振帶替TBU完成計數(shù)功能,因此需要分析出兩者周期對應關系。令無源晶振的周期為TC O,TBU的周期為TTBU,則無源晶振至TBU的等效因子β為
β=TC O/TTBU
(7)
(2)深睡時間確定
在終端進入深睡時,物理層會配置深睡時間,假定深睡時間為n個無源晶振周期,則根據(jù)無源晶振周期與TBU周期對應關系可得出TBU在深睡期間實際應增加的計數(shù)值TDeep為
TDeep=nβ
(8)
(3)TBU計數(shù)值補償
在終端退出深睡模式時,TBU恢復計數(shù)功能,此時需要將32 KHz的無源晶振在深睡期間的計數(shù)值累加至TBU,即TBU的正確計數(shù)值應為當前值加上TDeep。
TBU的calibration能夠保證TBU模塊計數(shù)的準確性,同時確保終端射頻等模塊能夠根據(jù)計數(shù)值準時打開。
圖4是本文的測試環(huán)境,其中,終端采用的是基帶開發(fā)板;射頻一致性測試儀采用的是JY3000,終端與其進行信令交互后,會進入空閑模式;穩(wěn)壓源采用的是INTERLOCK-IPD3305SLU,主要用于對終端進行供電;萬用表采用的是VICTOR-8165,用于測量終端的功耗數(shù)據(jù)。
圖4 測試平臺
圖5為32幀內(nèi),終端在不同淺睡深睡占比下的平均功耗圖,其中橫坐標為淺睡幀數(shù)。終端在淺睡時需接收BCCH和PCH信道數(shù)據(jù),可通過睡眠算法確定出接收任務幀號,為了避免頻繁的開關射頻模塊,在接收BCCH和PCH期間,可持續(xù)打開射頻模塊,因此淺睡幀數(shù)取值范圍為[3,32]??梢钥闯?,終端的最佳睡眠策略為:淺睡3幀,深睡29幀。
圖5 不同淺睡深睡占比下終端平均功耗
表2為終端在不同工作模式下的功耗數(shù)據(jù)??刂平K端一直處于淺睡狀態(tài),測得終端平均功耗為457.3 mW;終端在長深睡模式下的平均功耗為132.6 mW。按照3∶29的實現(xiàn)方式,終端的平均功耗理論值為(457.3×3+132.6×29)/32,即為163 mW。
表2 終端不同模式下的功耗數(shù)據(jù)/mW
終端在低功耗模式下的實測平均功耗為173.4 mW,與理論功耗的誤差在可允許范圍內(nèi),導致誤差的原因主要是電路延時、溫度等因素。
圖6為終端在正常工作模式和低功耗模式下的電流圖,穩(wěn)壓源提供3.8 V電壓供電。在正常工作時,終端電流維持在574 mA左右;在低功耗模式時,終端電流在35 mA和120 mA左右波動,分別對應淺睡和深睡下的電流,符合本文設計。
圖6 終端運行電流
本文主要研究了空閑模式下終端的低功耗設計。在設計過程中,分析了終端的主要耗電模塊,并結(jié)合DRX的思想,提出了睡眠算法用于確定終端睡眠時間和接收任務幀號,然后基于睡眠算法將低功耗模式劃分為淺睡模式和深睡模式進行設計,經(jīng)過對功耗數(shù)據(jù)進行測試,驗證了此設計方案能夠大幅降低終端空閑模式下的功耗,該方案對以后在衛(wèi)星終端低功耗方面的研究具有一定的參考價值。