干潔,石雅文 ,周歡歡
(1.中國電子科技集團公司第二十七研究所(河南方達空間信息技術有限公司),河南鄭州,450005;2.63767部隊,陜西西安,710043)
近年來,隨著航天測控、衛(wèi)星應用、廣播通信技術向深空的不斷探索,作為微波寬帶高功放技術也迎來了新的發(fā)展。由于功放設備的接口類型多樣、控制過程復雜、對控制電路的電磁兼容性和控保實時性要求較高,因此對高功放系統(tǒng)的監(jiān)控設計顯得尤為重要。
Altera公司的NiosII軟核是一種顛覆傳統(tǒng)的嵌入式系統(tǒng)設計理念,它采用SOPC硬件和軟件相結合的整體解決方案,使得嵌入式系統(tǒng)的硬件電路變得更加簡單、高效,更容易理解;軟件設計變得更加輕松,更容易實現移植。其最大的優(yōu)點是兼具FPGA內在并行優(yōu)勢及SOPC的雙重特點,既具備FPGA靈活,可裁剪,可擴充,可升級的特點,還可以根據個人的需求對Nios的外圍設備進行靈活修改,使得硬件利用率最大化。此外,還可將硬件特性添加到產品生命周期中的任何一個階段,而不需要對電路板進行重新設計,從而可適應多變的需求,縮短開發(fā)時間。
NiosII系列處理器為Altera公司發(fā)布的基于嵌入式處理器的第二代FPGA,其性能高達200DMIP以上,可滿足各類嵌入式系統(tǒng)的需求。NiosII處理器核擁有全32位指令集、32位指令/數據線、32個通用寄存器、32個優(yōu)先級不同的外部中斷源、2Gbyte的尋址空間以及256個用戶定義的CPU指令。此外,Altera為NiosII提供了完備的開發(fā)環(huán)境和豐富的IP核資源,為NiosII開發(fā)奠定了基礎。SOPCBuilder硬件開發(fā)環(huán)境和NiosII集成開發(fā)環(huán)境是NiosII系列嵌入式芯片最基礎的軟件開發(fā)平臺,能夠對用戶的設計進行快速的驗證,提升了開發(fā)效率。在QuartusII中,集成的SOPCBuilder開發(fā)組件在配置生成片上系統(tǒng)后,可以根據需要選擇庫中IP模塊、存儲器、外圍接口和處理器等,最終實現對SOPC的高度集成化。
高功放系統(tǒng)在開環(huán)工作狀態(tài)下,小信號由圖1所示中的小信號輸入端進入前驅放大器輸入端,放大后的信號通過多級末放單元合成后輸出至天線。NiosII數字處理板根據控制計算機的設置功率采用數控粗調與壓控細調相結合的方法,實現對輸出功率0.1dB步進精細調整,大于30dB的大步進調整滿足最終的實際輸出功率。由于微波器件在實際工作狀態(tài)下會受到環(huán)境溫度和高低壓電源波動的影響,實際輸出功率與設置功率會出現較大的偏差,因此在高功放系統(tǒng)設計中引入功率電平自動控制ALC,對輸出功率進行閉環(huán)動態(tài)自我調整,可以有效減小輸出功率的波動,從而改善輸出功率的穩(wěn)定性。
圖1 高功放系統(tǒng)的工作原理圖
NiosII數字處理板還通過采集檢測功放各級單元模塊的工作狀態(tài)等相關數據實現整機的全方位控保功能,比如反射過大保護,過溫保護,過流保護以及模塊故障保護等,根據不同的故障等級采用不同的控制措施,如提示故障狀態(tài)、發(fā)出聲音報警或及時快速關閉射頻開關等,保護功放設備免受損壞。電路設計方面,采用高集成多層板設計,信號接地、電源接地盡量分離,為避免引入不必要的干擾,盡量采用差分或平衡接口電路來進行信號的傳輸。
根據設計需求NiosII數字處理板主要由FPGA的NiosII處理器及一系列外設組成。整個硬件系統(tǒng)通過FPGA實現了NiosIICPU、片內外設、片內存儲器、片外外設之間的接口,因為FPGA具有可編程性,所以NiosII處理器可以按照設計需要定制其功能,從而符合性能和成本的要求;NiosII系統(tǒng)中剩余資源也可以用來實現其他功能的系統(tǒng),添加一些有用的外圍設備。其硬件原理圖如圖2所示。
圖2 NiosII數字處理板的硬件原理圖
本設計FPGA采用的是CycloneIIIEP3C16,它在65nm低功耗工藝下制造,在邏輯容量、PLL、乘法器以及I/O數目等方面都有了較大的提升,并且延續(xù)了Cyclone系列的低成本定位。系統(tǒng)電源部分是由5V和12V外部電源輸入,經電壓轉換電路將其轉換為3.3、2.5V、1.2V以滿足不同部分的電壓需求,其中,12V作為DA輸出供電電壓,DC-DC穩(wěn)壓電源模塊PTH05000W將5V輸入電壓變換為3.3V作為FPGAI/O口供電電壓,PTH03000W將3.3V輸入電壓變換為1.2V,LT1963-2.5將3.3V變?yōu)?.5V作為FPGAI/O內核供電電壓。系統(tǒng)輸入時鐘為50MHz晶振輸入,可通過Nios中鎖相環(huán)倍頻技術將其提升至100MHz來運行。外部存儲器FLASH選用的是EPCS16SI8N,它是Altera的串行配置器件系列之一,具有存儲數據和專用程序的雙重功能。它不僅具有ISP和flash存儲器訪問接口等先進特性,還采用了SOIC封裝,為FPGA的設計實現了低成本,微型化的解決方案。
SDRAM同步動態(tài)隨機存儲器運行時鐘頻率可以在100MHz以上,它的應用范圍主要是在程序的運行空間、大數據存儲等方面,它是由多個邏輯BANK構成,每一個BANK都有多個存儲單元,根據BANK地址以及行、列地址來定位一個存儲單元,本設計中采用的一款MT48LC4M16A2TG芯片,存儲容量為1M*16bit*4Bank(64MB),行地址12位,列地址8位(行列地址復用),一個BANK:2^12行*2^8列=4096*256=1048576。外圍設備的I/O電路選用了SN74ALC164245與5V外設接口,選通端由Nios根據設計需要配置為輸入或輸出接口。網絡通信接口電路則采用了一款應用于高性能嵌入式領域的芯片W5300,與WIZnet之前的芯片方案相比較,其內存空間和數據處理能力都有了很大的提升,芯片內部集成了TCP/IP協議和10/100M的以太網MAC和PHY,可以十分簡單快速地實現Internet連接,W5300與Nios通過Avalon總線系統(tǒng)對其寄存器進行配置,類似訪問SDRAM存儲器,從而完成上電初始化、通用寄存器配置和socket寄存器配置過程,并可通過訪問每個端口的TX/RX FIFO寄存器來獲取網絡通信數據。
本設計包括的硬件資源有:
1個4×4鍵盤接口;
1個240×128點陣液晶顯示模塊接口,1個240×64點陣液晶顯示模塊接口,1個128×64OLED液晶顯示模塊接口,三個接口分時使用;
8個通道(帶運算放大器)的12位AD轉換單元,其中3個通道分別接3個8選1開關可擴展為24個通道;
2路(帶運算放大器)的12位DA;
2個RS232接口;
6個RS422接口,其中2個接口可由開關配置為RS485接口;
1個百兆以太網接口(RJ45),具備6個網絡狀態(tài)指示燈;
1個標準JTAG調試下載口;
12路TTL電平->RS422電平轉換接口;
12路RS422電平->TTL電平轉換接口;
48個5VTTL接口,輸入輸出可程序配置(可兼容I2C接口);
7個達林頓驅動接口;
1個有源蜂鳴器。
在NiosII的SOPCBuilder硬件開發(fā)環(huán)境中,Nios核設計是與傳統(tǒng)硬件設計區(qū)別最大的,它可以自由地構建自己所需的CPU及外設接口如圖3所示,首先通過SOPCBuilder添加CPU核,根據設計需要選擇合適的CPU結構,增加Avalon三態(tài)橋組件與CPU接口相連,再添加其他接口和存儲器,最后分配系統(tǒng)地址,生成系統(tǒng)即可。在核設計中既可以利用Altera公司提供的眾多開放的IP核資源,也可以利用第三方的IP核來加速開發(fā)外設,這些IP核可以包括處理器、SDRAM、Flash、UART、各種I/O等,如果沒有現成外設控制器,也可以自行編寫設計IP核進行仿真驗證后封裝為硬件邏輯,本設計中的鍵盤控制接口,風機轉速測量接口均采用HDL源碼構建,無需外部接口電路從而節(jié)約了硬件成本。
圖3 SOPC中的IP模塊及接口電路
在SOPC硬件系統(tǒng)配置完畢之后,創(chuàng)建并生成一個新的SOPC系統(tǒng),得到用于QuartusII編譯的HDL源文件及頂層原理圖模塊,可以將這些模塊當作一個元件來調用。之后,在QuartusII工具欄中展開整體引腳分配,并成功地對硬件系統(tǒng)進行編譯,編譯器通過一系列的邏輯優(yōu)化組合、布線及時序分析等操作,會生成一個或多個硬件系統(tǒng)的配置文件,再利用USB-Blaster電纜將配置數據下載到FPGA中,測試完成后的配置文件下載至板上非易失存儲器中保存,從而完成NiosII系統(tǒng)硬件設計工作,系統(tǒng)原理圖如圖4所示。
NiosII IDE是一款Altera公司推出的集成開發(fā)環(huán)境,目前已被各大嵌入式工具提供商所選用。該軟件以開放式和可擴展的Eclipse平臺為基礎,將通用用戶界面和頂級開放的特性有機地融合在一起,可輕松地與第三方工具無縫整合。在NiosII IDE環(huán)境中,可以實現全部的軟件開發(fā)工作,其中包含對程序的編輯,編譯及調試。
對高功放系統(tǒng)的軟件需求進行分析以后,對高功放系統(tǒng)的軟件進行了模塊化設計,明確劃分了六個軟件單元:
(1) 程序主函數單元:首先要進行初始化,包括全局變量,網絡模式寄存器,上電初始值配置及顯示,打開外部中斷,循環(huán)調用設備狀態(tài)采集函數。
(2) 設備狀態(tài)采集單元:由主函數循環(huán)調用,每循環(huán)一次對設備的工作狀態(tài)采集一次,如果設備工作狀態(tài)發(fā)生變化時給予顯示更新處理。
(3) 控制單元:控制單元的輸入命令來源有兩路,一路來自鍵盤輸入,另一路來自上位機輸入,如果命令正確并且監(jiān)控模式在對應的方式下,執(zhí)行命令對設備進行相應的控制或參數的設置,執(zhí)行成功或條件不滿足均結束此流程。其中的ALC功率調整程序流程圖如圖5所示。閉環(huán)控制系統(tǒng)在每次設置功率后,將事先校準的設置功率換算電壓作為控制基準電壓與輸出功率耦合后反饋的檢波電壓反復比較,不斷細調壓控電壓,使輸出功率逐步趨近并持續(xù)穩(wěn)定在設置功率上。
圖5 ALC功率調整程序流程圖
Ps:設置功率(W);
FIX:功率耦合器固有衰減(dB);
VPin:基準輸出功率檢波電壓(mV);
VPout:實際輸出功率檢波電壓(mV);
V:DA輸出壓控調整電壓(mV);
Vbase:壓控調整最小步進電壓(mV);
n:電壓調整次數(Vbase,n根據實際聯調情況確定)。
(4) 參數顯示單元:主要完成液晶顯示模塊的初始化、清屏、對坐標位置顯示參數等功能。
(5) 鍵盤處理單元:接收面板小鍵盤的輸入,包括控制命令、參數設置、光標移動、翻屏等操作命令;當任一按鍵動作產生時,軟件采用外部中斷方式來獲取,對輸入的命令均進行參數合法性檢查,執(zhí)行正確的命令及參數。
(6) 網絡通信處理單元:具備與上位機軟件的網絡通信功能,接收命令類型有兩種:一種是查詢命令,當接收到此命令時,向上位機上報當前的設備工作狀態(tài);另一種命令是參數控制命令,當接收到此命令時,按照正確的參數格式要求對設備進行相應的參數配置和狀態(tài)控制,無論是否控制成功都要按約定格式給予上位機對應的響應。
將編寫好的模塊經編譯器進行編譯,生成目標文件,通過IDE軟件將程序燒寫到FPGA硬件中,最終完成設計。
本文提供的設計方法可以兼容多種常用硬件接口,具有高度通用性,只需要對部分軟件進行修改,就能夠適用于大部分嵌入式應用場景,節(jié)約了開發(fā)成本,對同類型產品設計具有一定的參考價值。該設計已在本單位評審通過納入共用模塊管理,它不僅在高功放系統(tǒng)上得到廣泛應用,還在S/X/KA頻段跟蹤接收機、導頻接收機等多個工程項目中使用,經過現場常年使用驗證,其性能穩(wěn)定可靠,效果優(yōu)秀。