張鳴蕓,朱一帥
(1.中國電子科技集團第五十四研究所,河北石家莊050081;2.總參陸航部軍代局,北京100050)
基于FPGA的低資源低功耗星載解調器實現
張鳴蕓1,朱一帥2
(1.中國電子科技集團第五十四研究所,河北石家莊050081;2.總參陸航部軍代局,北京100050)
星載解調器功能的日趨復雜帶來了FPGA資源及功耗的大幅增加,這將對星載系統的可靠性造成不利影響。為了解決這個問題,提出了一種從算法選擇及FPGA實現兩方面來節約資源降低功耗的方法。首先對FPGA的資源及功耗特點進行了分析,然后以星載解調器設計為例,具體論述了開發過程中在算法選擇以及具體實現過程中進行的低資源及低功耗設計方法。并對采用該方法設計的解調器進行了資源統計以及功耗測試,結果表明,該方法對解調器的資源及功耗進行了較好的縮減,提高了其可靠性。
FPGA;解調;資源;功耗
當前,隨著百萬門航天級別FPGA的出現,利用FPGA進行星載調制解調器的開發已經越來越廣泛,FPGA具有可重復編程的特點,便于在開發階段修改及完善程序功能,可縮短開發時間,提高開發效率。然而隨著星上處理復雜度及難度的提升,系統規模也趨于增大。這就帶來了2個問題,一是航天級別FPGA容量有限,資源需求規模太大時僅靠1 片FPGA難以滿足設計要求,可能需要多片FPGA共同實現系統功能,這就增加了系統的復雜度,對可靠性帶來不利影響;二是大規模系統帶來功耗的增加,功耗的增加也在一定程度上影響著FPGA乃至整個電路的穩定及可靠性。
Xilinx公司的Virtex系列耐輻射FPGA功能強大、性能高、可重新配置,抗空間輻射能力強,逐漸成為空間電子產品設計中常用的FPGA產品[1,2],Xilinx FPGA的基本結構包括:可配置邏輯功能塊(CLB)、可編程I/O塊以及可編程互連資源(ICR)。為了布局布線的成功和系統的穩定性,一般來說FPGA的資源占用不應超過85%,對星載系統來說更是如此,因為考慮到抗單粒子的要求,星載FPGA代碼通常采用全部或者部分的三模冗余技術[3],這使得星載系統對資源的消耗更加關注。在星載解調器實現之時,節約資源是至關重要的一步,出于“簡單即可靠”的設計思想,在不影響功能、性能、可靠性的前提下,采用盡可能少的資源,盡可能簡單的方法實現系統設計,使得系統使用的FPGA芯片盡可能少,是在進行解調器算法設計之前需要考慮的問題之一。
而FPGA功耗的大小也關乎系統穩定性,在進行算法設計的同時也將低功耗設計考慮在內,將低功耗的思想貫穿于設計的始終。FPGA電路的功耗由靜態功耗和動態功耗兩部分組成[4]。其中,靜態功耗總是存在的,即使系統處于待機被掛起在沒有開關動作的狀態時,這是因為靜態功耗是在系統上電后,是由晶體管的漏電流所產生的。動態功耗主要由電容充放電引起,其主要的影響參數是電壓、節點電容和工作頻率。靜態功耗主要與器件選擇相關,而動態功耗則是電路的信號翻轉率成正比[5-7]。總而言之,在系統中FPGA器件自身的功耗取決于FPGA芯片的選擇、系統工作時鐘頻率、信號翻轉率(是指在一個時鐘周期內信號發生一次跳變的概率)等以及FPGA內部和管腳的資源利用率等。由于沒有一種單一的、智能的方法能夠實現功耗的降低,因此在綜合考慮系統性能、成本、穩定性以及易用性等多項指標因素的前提下進行低功耗的設計。
星載解調器主要完成對接收的上行數據進行解調處理的功能。作為數字處理的核心部分,FPGA代碼的主要功能是接收星上遙控指令,發送遙測數據,對輸入的多速率中頻采樣數據進行解調處理及組幀輸出。其中FPGA代碼最主要的功能構成部分是對數據流的處理,包括下變頻、濾波、幀頭的捕獲、時鐘載波環的恢復等等,這些部分目前已有較為成熟的算法。但是在設計時需要特別考慮資源與功耗的關系,主要有算法的規模、復雜度以及工作時鐘的頻率。因此在解調器算法設計過程中遵循了如下原則:在不影響功能性能的前提下選用盡可能簡單或者資源優化的算法,在不增加資源的前提下采用盡可能低的工作時鐘。下文介紹的基于一階采樣的下變頻以及基于時分復用的多相抽取濾波就是其中具有代表性的一些算法設計。
2.1 利用一階采樣進行下變頻
目前直接中頻采樣技術的應用已經越來越廣泛,其具備I、Q通道在幅度一致性和相位正交性上的精度高的特點,而且降低硬件的復雜度,但是其相對零中頻采樣需要較高的采樣時鐘。因此,在后續FPGA內部的處理時,例如下變頻等處理時面臨著較高的工作時鐘,這意味著較高的時鐘驅動的乘法器以及Block RAM資源,這將對FPGA的穩定性造成影響。因此在解調器設計時選擇了一種一階采樣的方式進行下變頻[8,9],如圖1所示。這類方法通過選擇采樣頻率fS=4f0/(2M-1)(f0為中頻信號載頻,B為信號帶寬,M為正整數,fs≥2B),使中頻信號采樣后經過簡單的符號修正,即可交替得到數字I和Q信號,最后通過移相濾波得到相同采樣時刻的數字I/Q信號。采用該種方法僅使用簡單的符號變換完成了下變頻的功能,極大地節約了資源,相較常規的下變頻方法需要高速時鐘驅動,該種實現方法較為簡單,所需時鐘頻率僅為之前的一半,減少了電路的不穩定因素。
2.2 采用多相且時分復用的抽取濾波形式。
由于解調器接收的數據為多級速率信號,需要進行抽取濾波,在設計中為了滿足需求選用了FIR濾波器,FIR濾波器雖然具有線性相位的特點,但是其所需階數較高,相應的所需要的FPGA乘加資源就較多。目前多相濾波[10]方式得到了較為廣泛的應用,設濾波器的沖擊響應h(n)的Z變換H(z)為:

將求和式重寫為:

式中,

它可以有效降低運算復雜度,但是系統資源未得到減少,為了進一步減少系統資源,因此采用了一種基于復用的多相抽取濾波器設計[11,12],利用相對高速的時鐘在一個抽樣周期內實現一組濾波器的分時復用,而這個復用可以進一步減少資源耗費。例如在抽取倍數為3時僅占用了1/3的乘法器以及slice資源。這種方式極大地減少了資源耗費,雖然由于工作時鐘的提高導致動態功耗有所上升,但是考慮到節省了數千slice資源以及百余乘法器,這種方法在資源緊張的情況下就比較具有優勢了。

圖1 基于一階采樣的下變頻方法
在解調器開發過程中,除了在算法選擇時就考慮到節約資源降低功耗的需求之外,在FPGA編程實現方面也對此進行了研究。主要包括根據需求選擇適當的I/O標準、采用使能信號控制不必要的功能模塊、使用一個DCM等幾個方面。
3.1 選擇適當的I/O標準
FPGA的功耗中管腳觸發器翻轉的動態功耗和靜態功耗占有較大比重,而這兩種功耗都與I/O有關,不同的I/O標準所消耗的功耗相差很大,例如,通常使用的LVDS(低壓差分信號)就是一個高功耗的I/O標準。在實現時僅在對數據傳遞要求較高時,如AD采樣數據入口處應用此種標準,其他對速率不敏感的端口就采用了較低功耗的LVCMOS標準以降低功耗。
3.2 采用使能信號控制不需要的功能模塊
解調器存在一些功能模塊只有在滿足一定觸發條件下才有意義,不需要隨時更新,但是這些模塊一直在運行,這就使得FPGA的功耗無意義地浪費掉。因此采用使能信號控制這些模塊,使其在需要工作時才工作。
3.3 使用一個DCM
DCM廣泛用于生成不同頻率或相位的時鐘,并且DCM消耗的功率也不容忽視[13];因此應盡可能限制使用DCM。解調器內部使用了多個分頻時鐘,原本采用兩級DCM串聯輸出這些所需的時鐘,但是經過分析發現,這種串聯的方式控制相對復雜,功耗也高,因此在仔細分析了DCM的端口功能之后,充分利用1個DCM多種輸出(如CLK2X、CLKDV和CLKFX),輸出了所有所需時鐘,這種方式簡化了控制,也節省了資源及功耗。
由于采用低資源低功耗的設計理念,在解調器開發時成功地將原先由2片FPGA實現的功能縮減到1片FPGA實現,首先從硬件上減少了復雜度,如表1所示為FPGA資源前后對比表。由此可見,FPGA的資源,尤其是slice和乘法器得到了大幅減少,這也有助與降低FPGA的功耗。而經過實際測量,FPGA功耗如表2所示。由表中可見FPGA功耗為4.1W較之前的4.9W也降低了接近20%。

表1 FPGA資源前后對比表

表2 FPGA功耗計算表
為了減少FPGA過大的資源及功耗對星載解調器可靠性的影響,在星載解調器的設計與實現過程中,對FPGA資源及功耗進行了分析,在算法選擇及編程實現兩方面降低FPGA的資源及功耗。選擇低資源功耗的算法首先控制了解調器資源及功耗的規模,使其限定在一定范圍之內,其后編程實現時也對資源功耗進行了有效縮減,減少了不必要的資源消耗。最終在不影響功能性能的前提下完成了解調器的設計與實現,成功地將原先由2片FPGA實現的功能縮減到1片FPGA實現,經過實際測試,在資源大幅降低的同時,功耗也減少了接近20%,同時減少1片FPGA也簡化了硬件電路設計,縮減了體積與功耗,提高了解調器的可靠性。
[1]宋克非.FPGA在航天遙感器中的應用[J].光機電信息,2010,27(12):49-54.
[2]林金永.高層次設計和FPGA技術在航天電子系統中的應用探討[J].航天控制,1997(1):69-72.
[3]高 鵬,龐宗強,周同.Virtex FPGA抗單粒子翻轉技術[J].無線電通信技術,2014,40(4):73-76.
[4]楊志坤.基于FPGA系統的低功耗研究與設計[D].西安:電子科技大學,2010:8-11.
[5]韓 雪,郭文成.FPGA的功耗概念與低功耗設計研究[J].單片機與嵌入式系統應用,2010(3):9-11.
[6]李 輝,吳 爭.一種低功耗通用調制解調平臺的設計及實現[J].無線電工程,2014,44(1):78-80.
[7]王艷君,莊云勝.衛星移動通信終端的低功耗設計[J].無線電工程,2013,43(6):10-12.
[8]王飛雪,郭桂蓉.基于二階采樣的免混頻全數字化正交解調[J].電子學報,1999,27(6):118-119.
[9]王國慶,盧煥章,魏璽章.基于二階采樣和二次混頻的全數字正交解調[J].中國電子科學研究院學報,2010,5(1):47-48.
[10]宗孔德.多抽樣率信號處理[M].北京:清華大學出版社,1996.
[11]王玉萍,黃耀群.一種基于FPGA節省資源實現FIR濾波器的設計方法[J].信息與電子工程,2010(8):455-458.
[12]茍曉剛,周紅彬.一種新的多相濾波結構在FPGA中的實現[J].無線電通信技術,2004,30(4):53-54.
[13]Tim Tuan,Steve Trimberger.FPGA架構的功耗[J].今日電子,2007(9):86-89.
Im p lementation of Satel1ite Demodulator w ith Low Resources and Power Consum ption Based on FPGA
ZHANG Ming?yun1,ZHU Yi?shuai2
(1.The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China;
2.Delegate Bureau of the Department of the Army Aviation,GSD,Beijing 100050,China)
Themore and more complex functions of satellite demodulator result in greater consumption of resources and power of FPGA,which has a negative influence on the reliability of satellite system.A method that combines algorithm design and FPGA imple?mentation is applied to reduce this influence.The resources and power consumption of FPGA is analyzed first,then the design of resources and power conservation is introduced in detail in the developing process of satellite demodulator.At last,the resources and power consumption of satellite demodulator is accounted and tested.The test result indicates that the consumption of resources and power is significantly reduced,and the reliability of system improved.
FPGA;demodulation;resources;power consumption
TN927+.2
A
1003-3114(2015)04-108-3
10.3969/j.issn.1003-3114.2015.04.28
張鳴蕓,朱一帥.基于FPGA的低資源低功耗星載解調器實現[J].無線電通信技術,2015,41(4):108-110.
2015-03-05
國家部委基金資助項目
張鳴蕓(1983—),女,工程師,主要研究方向:衛星通信。朱一帥(1983—),男,工程師,主要研究方向:數據處理。