汪虹宇,張玉成,莫志鋒
(1.重慶郵電大學 通信與信息工程學院,重慶 400065; 2.中國科學院計算技術研究所 無線通信技術研究中心,北京 100190)
衛星通信系統具有覆蓋范圍廣、通信距離遠、不受地面條件的約束等優點,高性能衛星終端產品的研發是衛星通信領域的重要發展方向[1-3]。功耗向來是各類電子產品的一項重要性能指標,衛星終端也不例外。
目前對于衛星終端低功耗的研究主要集中在硬件層面。文獻[4]分析了低功耗CMOS電路的設計方法,提出了調整晶體管尺寸、降低MOS管閾值電壓等低功耗措施;文獻[5]從靜態功耗和動態功耗出發,提出了降低負載電容、工作電壓及頻率等措施降低CMOS電路的功耗;文獻[6]和文獻[7]提出了多電壓域技術、門控電源技術、門控時鐘技術等低功耗設計技術實現終端硬件的低功耗控制。現有的衛星終端待機功耗集中在200 mW左右,如:中興T900衛星電話待機功耗為231.3 mW,HTL2200待機功耗為229.4 mW。
基于目前缺乏對終端運行流程層面的低功耗研究,本文將從終端在空閑模式下的運行流程角度實現終端的低功耗。本文提出了終端的睡眠算法,根據睡眠算法完成了終端功能模塊在淺睡和深睡下的工作狀態控制,最終形成衛星終端運行層面的低功耗設計。
衛星終端主要耗電模塊有基帶芯片、射頻芯片(radio frequency integrated circuit,RFIC)及DDR IC。基帶芯片為DX-S301,主要完成信號和協議的處理,片上集成了數字信號處理器(digital signal processor,DSP)、外接收機(outer receiver,ORX)譯碼器、DDR controller、射頻接口單元(radio frequency interface unit,RFIU)及兩個ARM處理器(分別用于終端控制物理層和協議棧);RFIC主要完成功率放大、頻率合成、射頻收發等功能,與基帶芯片通過RFIU交互;DDR芯片主要完成數據的存儲,與基帶芯片通過DDR controller交互。
表1為終端主要模塊的低功耗工作狀態及功耗數據,正常工作時,表中各個模塊均正常打開。其中DSP和RFIC均分為接收模塊和發射模塊,ARM1為控制物理層的處理器,ARM2為控制協議棧的處理器。

表1 終端主要模塊工作狀態及功耗數據
空閑模式指終端開機但沒有為其分配專有信道的一種狀態。在空閑模式下,終端有PLMN選擇、小區選擇/重選、位置更新、接收尋呼信息等任務[8,9]。本文的空閑模式指終端完成入網后的一種工作模式。
終端在開機后會先進行小區搜索,搜索到合適的小區后,在對應的廣播頻點上完成小區駐留,駐留后物理層會向媒體訪問控制層(media access control,MAC)上報廣播消息(當前駐留頻點、小區信號強度等),在接收完所有廣播信道數據后,終端進行隨機接入,隨機接入完成后開始建立信道(公共的信令信道DACCH)和無線資源控制層(radio resource control,RRC)連接,之后終端會完成IMSI附著/位置更新操作,隨即釋放RRC連接以及信令信道,至此終端便完成了入網,入網完成后無其它任務(如尋呼),終端將會進入空閑模式。
在空閑模式下,根據功耗特性進行劃分,終端的工作模式可分為正常模式和低功耗模式。
正常模式指終端完成小區搜索、接收廣播、建立信道、入網以及釋放RRC連接等操作后的一種狀態。在正常模式下,終端會駐留在入網前的廣播頻點,保持駐留狀態并持續接收公共控制信道數據;相比于正常模式,終端的低功耗模式按照表1合理調整各模塊的工作狀態,同時利用DRX的思想使終端盡可能“少而全”地接收所需的控制信道數據。低功耗模式可進一步劃分為淺睡模式和深睡模式,相比于正常模式,終端在淺睡模式時,部分模塊處于休眠或斷電狀態,而深睡模式下,在終端的深睡周期內,終端的大部分模塊都是處于休眠或斷電狀態。在低功耗模式期間,終端需要完成兩項任務:①尋呼檢測;②小區重選。這兩項任務均在淺睡模式下完成。終端在深睡模式沒有任何任務,在深睡周期內一直處于待機狀態。圖1為終端在空閑模式期間的工作狀態轉移,終端可在正常模式與淺睡模式、淺睡模式與深睡模式之間實現來回切換,終端的正常模式與深睡模式之間不能直接進行切換,需要經過淺睡模式完成過渡。

圖1 空閑模式下終端工作狀態轉移
非連續接收(discontinuous reception,DRX)指終端不連續接收下行的信道數據,DRX通過減少非必要信道數據的接收,從而避免射頻模塊以及基帶處理模塊頻繁工作消耗更多的功耗。DRX根據終端狀態分為ACTIVE DRX和IDLE DRX。當終端處于RRC連接狀態時,終端在處理一些對實時性要求不高的應用可采用DRX模式,在連接狀態下的DRX叫作ACTIVE DRX;當終端處于空閑模式時,對公共控制信道的信道數據可采取DRX完成相應信道數據的接收,在空閑模式下的DRX叫作IDLE DRX。本文主要研究的是終端的IDLE DRX。
每個系統消息周期為64個TDMA幀,一個TDMA幀對應40 ms,每個TDMA幀有24個時隙,一個時隙對應5/3 ms。圖2給出了其中16幀的控制信道時隙分配圖,剩余48幀分配同圖1。在IDLE DRX狀態下,終端可只接收BCCH和PCH信道數據,其中同一小區的BCCH的接收周期為8幀,PCH的接收周期為16幀(分為PCH0和PCH1)。

圖2 控制信道分配
當終端進入低功耗模式后,利用DRX的思想提出終端的睡眠算法,通過睡眠算法可確定終端睡眠時間及接收任務幀號。
采用三元表(SIRFN、PCRTN、LOBITS)的方式表示各控制信道出現的相對幀號及時隙號,SIRFN表示系統消息相對幀號,取值范圍為0-63;PCRTN表示物理信道相對時隙號,取值范圍為0-23;LOBITS表示突發所占的時隙數。
FCCH攜帶了終端的頻率校正信息,可用于終端系統信息的周期性同步,屬于下行信道。CICH為終端用于校準測量的下行控制信道;BACH是用于告警終端不能正確解調BCCH或PCH信道數據的下行信道。每個系統消息周期內,FCCH、CICH和BACH均有8個突發,各自占320 ms;
BCCH用于向終端廣播系統消息,屬于下行信道。每個系統消息周期有8個BCCH突發,這8個BCCH突發的三元表為:(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個時隙,其發送周期為8幀,即320 ms。
PCH為用于尋呼終端的下行信道,PCH可分為PCH0和PCH1兩個尋呼組。PCH突發的類型由BCCH信道攜帶的SA_PCH_CONFIG和PAGING_INDEX參數確定。每個系統消息周期有4個PCH0突發,其三元表為:(4,0,6)、(20,0,6)、(36,0,6)、(52,0,6);每個系統消息周期有4個PCH1突發,其三元表為:(12,0,6)、(28,0,6)、(44,0,6)、(60,0,6)。
分析完各控制信道特性后,終端的睡眠時間模型可用如下公式表示

(1)
T=Ttotal-TFCCH-TCICH-TBCCH-TPCH-TBACH
(2)
其中,TCHANNEL_TYPE為終端接收對應公共控制信道數據所占用的時間;STCHANNEL_TYPE為信道占用的時隙數;T表示終端一個系統消息周期內的睡眠時間;Ttotal為64幀對應的時間;TFCCH、TCICH、TBCCH、TPCH、TBACH分別為接收FCCH、CICH、BCCH、PCH、BACH信道數據所占用的時間。
在不考慮終端解調BCCH或PCH出錯的情況下,終端可采取只接收BCCH和PCH信道數據。當終端接收PCH0時,在16個TDMA幀內,終端的接收任務如圖3左側時隙分配圖所示;當終端接收PCH1時,在16個TDMA幀內,終端的接收任務如圖3右側時隙分配圖所示。

圖3 DRX下接收PCH時隙分配
此時,式(2)可化簡為
T=Ttotal-TBCCH-TPCH
(3)
式中:Ttotal為2560 ms,TBCCH為80 ms,TPCH為40 ms,即在睡眠優化后,終端在一個系統消息周期內的睡眠時間為2440 ms。
對于終端接收信道數據的幀號主要由以下公式確認
(4)
式中:Fn表示第n個接收任務對應的幀號;n表示接收任務的序號,n大于等于1;F0表示接收任務起始幀號(n=1時),有F0%8=2。
ΔN為下一次接收任務與當前接收任務的幀號間隔,當尋呼組為PCH0時,ΔN取值為

(5)
當尋呼組為PCH1時,ΔN取值為

(6)
式(3)和式(4)分別給出了終端睡眠時間和接收任務幀號,通過這兩個公式可實現終端的睡眠優化,在沒有信道數據接收任務的時間周期內,可采取相應的措施(如關閉射頻模塊、DSP模塊等)以減少終端耗電模塊的工作功耗。
終端的低功耗設計以睡眠算法為核心,當幀號有接收任務時,終端在對應幀號為淺睡模式,無接收任務時,在對應幀號為深睡模式。對終端在空閑模式下的低功耗設計主要分為以下3個階段進行設計:①工作模式切換設計;②淺睡模式設計;③深睡模式設計。
由1.3節可知,終端的工作模式主要有正常模式、淺睡模式和深睡模式,對于工作模式的切換主要分為3種情況進行:①正常模式切換至淺睡模式;②淺睡模式切換至深睡模式;③淺睡模式與深睡模式間的切換。
(1)正常模式切換至淺睡模式
終端在正常工作狀態時,MAC層會向物理層下發CHANNEL_RELEASE_REQ請求以釋放掉終端的專有信道連接,物理層側在收到請求消息后會向MAC層回復CHANNEL_RELEASE_RES,隨即終端進入空閑模式,然后對BCCH和PCH信道數據進行非連續性接收。
終端由正常模式切換至淺睡模式有兩個條件:①用戶手動進入睡眠模式;②AP應用模塊長時間無業務。
用戶手動配置終端進入低功耗模式時,用戶在觸發睡眠操作后,AP模塊會以AT指令(AT+SLEEP)的形式告知CP模塊側的協議棧準備進入低功耗模式,協議棧在收到AT指令后,會向物理層下發SLEEP_REQ的睡眠請求,物理層收到請求消息后會向協議棧回復SLEEP_RES并控制CP模塊進入淺睡模式。
AP模塊長時間無業務時,CP模塊側的協議棧長時間未收到AP的AT指令或尋呼任務時,將會下發SLEEP_REQ至物理層,物理層回復RES后控制CP模塊進入淺睡狀態。
(2)淺睡模式切換至正常模式
終端由淺睡模式切換至正常工作模式有兩個條件:①用戶手動進行喚醒;②CP側檢測到外界尋呼或需要完成小區重選。
用戶通過觸屏或開機鍵使終端由淺睡模式恢復正常工作模式時,物理層會先將GPIO_A管腳設置為高電平以表明AP模塊有業務,而后AP模塊恢復正常工作模式。CP通信模塊側的物理層在檢測到GPIO_A為高時,將控制DDR退出自刷新模式,然后向控制協議棧軟件的ARM核發送一個中斷喚醒協議棧。
CP通信模塊側的物理層在檢測到終端被外界尋呼或者需要完成小區重選時,將控制DDR退出自刷新模式,然后通過ARM中斷的方式喚醒協議棧,之后將GPIO_C設置為高電平以喚醒AP模塊。
(3)淺睡模式與深睡模式間的切換
進入深睡模式前,終端在淺睡模式下會進行尋呼檢測和小區重選判斷,當不需要接受尋呼且無需進行小區重選時,即需滿足如下兩個條件,終端才能由淺睡模式進入深睡模式:①信關站子系統(gateway station subsystem,GSS)的身份識別參數與終端匹配;②當前小區信號強度不在閾值范圍。
在深睡模式時,需設定合適的深睡周期以避免錯過尋呼。為了避免終端錯過外界的尋呼,至少要保證終端能夠接收3個連續的PCH(PCH0或PCH1)中的一個PCH信道數據,每3個連續的PCH0或PCH1一共占據32個TDMA幀,因此需要保證每32幀至少接收一個PCH0或PCH1信道數據。除了接收PCH信道數據外,還需要接收BCCH信道數據,BCCH至PCH一共占據3個TDMA幀。綜上所述,在考慮不錯過接收必要的PCH和BCCH情況下,最佳省電策略為:以32個TDMA幀為周期,淺睡3幀,深睡29幀。當達到深睡周期時,終端便由深睡模式切換至淺睡模式,如此循環。
淺睡模式是終端在幀號為Fn的TDMA幀處的工作模式。終端的淺睡模式設計主要集中在兩個方面:①終端主要模塊工作狀態控制;②淺睡任務處理。
3.2.1 模塊工作狀態控制
終端在進入淺睡模式時,物理層會對終端主要模塊的工作狀態進行控制從而降低淺睡期間的功耗。終端在進入淺睡模式時需要進行如下步驟:
(1)協議棧standby
當終端進入低功耗模式后,無需協議棧繼續工作,關閉協議棧的本質是使ARM2進入standby模式。關閉協議棧采取的方式分為兩個步驟:①設置協議棧屏蔽除ICCU中斷(協議棧與物理層之間的中斷)外的其它中斷,ICCU中斷為物理層和協議棧之間的軟脈沖中斷,物理層可通過此中斷喚醒協議棧。②ARM2執行WFI指令進入standby。
(2)關閉RFIC-TX模塊
射頻模塊分為發送和接收模塊,在淺睡期間,終端只需對空口數據進行接收,不需要將基帶信號發送出去。
(3)引導DDR自刷新
DDR自刷新的主要目的是保存存儲陣列中的數據,同時減少耗電。
(4)DX-S301芯片模塊控制
DX-S301基帶芯片在淺睡期間,其耗電模塊DSP-TX、DDR controller、USB和抗干擾模塊是不需要工作的,因此對上訴模塊進行斷電。
(5)工作模塊降頻降壓
降低工作模塊的工作頻率和工作電壓能夠降低其功耗,因此在淺睡期間可降低終端內部工作模塊(如CPU、DSP-RX、RFIC-RX等)的工作頻率和工作電壓。
3.2.2 淺睡任務處理
在終端處于淺睡過程中時,終端物理層會處理兩個任務以決定是否將終端由淺睡模式喚醒至正常工作模式:①尋呼檢測;②小區重選。
尋呼檢測主要是完成GSS和終端的身份識別參數的匹配[10]。身份識別參數主要有G-RNTI、IMSI和P-TMSI,GSS會首先填寫這3個參數的值,終端物理層在對信道數據解調后獲取GSS側的參數值,并于終端參數進行匹配,當至少有一個參數一致時,表示有外界在尋呼此終端,隨即開始進行尋呼處理。
小區重選主要是當前小區的接收信號強度指示值(received signal strength indication,RSSI)不在閾值[15,30]范圍內時,物理層將會對初始小區的6個鄰小區的RSSI值進行測量,從中找到一個信號最強的小區完成駐留。
淺睡模式是終端在幀號不為Fn的TDMA幀處的工作模式。終端的深睡模式設計主要有兩點:①終端主要模塊工作狀態控制;②TBU校準。
3.3.1 模塊工作狀態控制
終端在深睡模式時的模塊工作狀態控制主要是進一步實現降低淺睡模式下的工作模塊的功耗。
(1)關閉RFIC-RX、DSP-RX模塊
由于在淺睡過程中,終端僅關閉射頻的發射模塊和DSP-TX模塊,因此,深睡模式下需進一步關閉RFIC-RX和DSP-RX模塊。
(2)配置深睡周期
由3.1節的分析可知,終端的深睡周期為29幀。
(3)打開RFIC-RX及DSP-RX模塊
當達到深睡周期后,終端會準備恢復至淺睡模式,因此需要打開RFIC-RX和DSP-RX模塊。
(4)TBU calibration
終端完成深睡后,由于深睡期間TBU不會繼續計數,因此需要完成TBU的時間校準。
3.3.2 TBU校準
定時基本單元(timing base unit,TBU)能夠為芯片內部其余模塊提供計數功能。DX-S301芯片在低功耗模式下的深睡模式期間,TBU模塊不提供計數服務,其計數值在深睡期間保持不變。由于射頻通道的開關是根據TBU計數值在固定的時刻開關的,因此在退出深睡模式后需要對TBU進行校準以保證射頻模塊在正確的時間接收空口數據。
在終端深睡時,芯片內部19.2 MHz的時鐘將會關閉,主要由32 KHz的無源晶振完成計數工作。
TBU的calibration可分為以下3個階段完成:
(1)無源晶振周期與TBU周期對應關系
由于在深睡時主要是由無源晶振帶替TBU完成計數功能,因此需要分析出兩者周期對應關系。令無源晶振的周期為TC O,TBU的周期為TTBU,則無源晶振至TBU的等效因子β為
β=TC O/TTBU
(7)
(2)深睡時間確定
在終端進入深睡時,物理層會配置深睡時間,假定深睡時間為n個無源晶振周期,則根據無源晶振周期與TBU周期對應關系可得出TBU在深睡期間實際應增加的計數值TDeep為
TDeep=nβ
(8)
(3)TBU計數值補償
在終端退出深睡模式時,TBU恢復計數功能,此時需要將32 KHz的無源晶振在深睡期間的計數值累加至TBU,即TBU的正確計數值應為當前值加上TDeep。
TBU的calibration能夠保證TBU模塊計數的準確性,同時確保終端射頻等模塊能夠根據計數值準時打開。
圖4是本文的測試環境,其中,終端采用的是基帶開發板;射頻一致性測試儀采用的是JY3000,終端與其進行信令交互后,會進入空閑模式;穩壓源采用的是INTERLOCK-IPD3305SLU,主要用于對終端進行供電;萬用表采用的是VICTOR-8165,用于測量終端的功耗數據。

圖4 測試平臺
圖5為32幀內,終端在不同淺睡深睡占比下的平均功耗圖,其中橫坐標為淺睡幀數。終端在淺睡時需接收BCCH和PCH信道數據,可通過睡眠算法確定出接收任務幀號,為了避免頻繁的開關射頻模塊,在接收BCCH和PCH期間,可持續打開射頻模塊,因此淺睡幀數取值范圍為[3,32]。可以看出,終端的最佳睡眠策略為:淺睡3幀,深睡29幀。

圖5 不同淺睡深睡占比下終端平均功耗
表2為終端在不同工作模式下的功耗數據。控制終端一直處于淺睡狀態,測得終端平均功耗為457.3 mW;終端在長深睡模式下的平均功耗為132.6 mW。按照3∶29的實現方式,終端的平均功耗理論值為(457.3×3+132.6×29)/32,即為163 mW。

表2 終端不同模式下的功耗數據/mW
終端在低功耗模式下的實測平均功耗為173.4 mW,與理論功耗的誤差在可允許范圍內,導致誤差的原因主要是電路延時、溫度等因素。
圖6為終端在正常工作模式和低功耗模式下的電流圖,穩壓源提供3.8 V電壓供電。在正常工作時,終端電流維持在574 mA左右;在低功耗模式時,終端電流在35 mA和120 mA左右波動,分別對應淺睡和深睡下的電流,符合本文設計。

圖6 終端運行電流
本文主要研究了空閑模式下終端的低功耗設計。在設計過程中,分析了終端的主要耗電模塊,并結合DRX的思想,提出了睡眠算法用于確定終端睡眠時間和接收任務幀號,然后基于睡眠算法將低功耗模式劃分為淺睡模式和深睡模式進行設計,經過對功耗數據進行測試,驗證了此設計方案能夠大幅降低終端空閑模式下的功耗,該方案對以后在衛星終端低功耗方面的研究具有一定的參考價值。