基于FPGA的微波輻射計(jì)數(shù)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 重點(diǎn)設(shè)計(jì)并實(shí)現(xiàn)了863項(xiàng)目“南海深水區(qū)動(dòng)力環(huán)境立體檢測技術(shù)研發(fā)”中5頻段微波輻射計(jì)的數(shù)據(jù)處理與控制系統(tǒng),以Xilinx公司Virtex-4系列FPGA為核心,包括數(shù)據(jù)采集、AGC自動(dòng)增益控制、系統(tǒng)開關(guān)控制、數(shù)據(jù)通信等模塊,精確滿足了系統(tǒng)要求,同時(shí)給出了系統(tǒng)電路設(shè)計(jì)、關(guān)鍵模塊邏輯圖及軟件流程圖。
關(guān)鍵詞: 微波輻射計(jì);FPGA;數(shù)據(jù)處理與控制系統(tǒng);數(shù)據(jù)通信
微波輻射計(jì)是一種被動(dòng)式的微波遙感器,用于全天時(shí)、全天候地觀測全球大氣溫度和濕度、降雨量等空間氣象資料,在全球性水文循環(huán)探測、地質(zhì)與資源調(diào)查、海洋環(huán)境與海況檢測、災(zāi)害性天氣預(yù)報(bào)與檢測等研究中發(fā)揮了重要作用。由于微波輻射計(jì)是一種被動(dòng)式的遙感器,其靈敏度要求很高,同時(shí),由于當(dāng)今遙感儀器的設(shè)計(jì)越來越趨于高功能密度及小型化,因此,要求多通道微波輻射計(jì)的數(shù)據(jù)處理與控制系統(tǒng)具有高可靠性、高分辨率、實(shí)時(shí)性好、體積小、重量輕、功耗低以及可移植性強(qiáng)等特點(diǎn)。以往多數(shù)微波輻射計(jì)數(shù)控系統(tǒng)中采用的以80C31為核心的設(shè)計(jì),由于受微處理器芯片和外圍電路的限制,擴(kuò)展性差,所占體積較大,且需要多塊電路板協(xié)調(diào)工作,功耗較大。鑒于FPGA功能強(qiáng)大、邏輯速度快、功耗低及可移植性強(qiáng)等優(yōu)點(diǎn),本文采用FPGA為核心進(jìn)行微波輻射計(jì)數(shù)控系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了設(shè)備的低功耗和輕小型化。
1 系統(tǒng)結(jié)構(gòu)
5頻段雙極化微波輻射計(jì)共10個(gè)通道,其中每個(gè)頻段結(jié)構(gòu)框圖如圖1所示,由天線單元、接收機(jī)單元、定標(biāo)單元、數(shù)據(jù)處理與控制系統(tǒng)、測溫電路等功能模塊組成。接收機(jī)單元包括內(nèi)檢波、低頻放大、積分等部分[1]。接收機(jī)的輸入端通過電子開關(guān)周期地在天線單元和定標(biāo)單元之間切換,同時(shí)噪聲源在加電和不加電兩種狀態(tài)下與匹配負(fù)載耦合,從而使定標(biāo)源產(chǎn)生高、低不同的亮溫,5個(gè)頻段共用一套數(shù)據(jù)處理與控制系統(tǒng)。
數(shù)據(jù)管理與控制系統(tǒng)接收遠(yuǎn)程計(jì)算機(jī)注入指令包,控制系統(tǒng)開關(guān)機(jī)和噪聲源上下電,系統(tǒng)上電后,由接收機(jī)單元接收的模擬信號送入數(shù)據(jù)處理與控制系統(tǒng),由數(shù)據(jù)處理與控制系統(tǒng)進(jìn)行數(shù)據(jù)采集與存儲,AGC自動(dòng)增益控制、工作狀態(tài)控制以及與遠(yuǎn)程計(jì)算機(jī)的數(shù)據(jù)通信。可見,數(shù)據(jù)處理與控制系統(tǒng)在微波輻射計(jì)各模塊中處于至關(guān)重要的位置。
1.1 數(shù)控系統(tǒng)總體結(jié)構(gòu)
數(shù)控系統(tǒng)由FPGA及外圍電路、數(shù)據(jù)采集電路、AGC自動(dòng)增益控制電路、系統(tǒng)開關(guān)控制電路、電平轉(zhuǎn)換電路、總線接口電路等部分組成,如圖2所示。
FPGA根據(jù)系統(tǒng)既定的時(shí)序或遠(yuǎn)程計(jì)算機(jī)注入的控制指令,通過電平轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換后,控制數(shù)據(jù)采集電路完成科學(xué)數(shù)據(jù)和溫度數(shù)據(jù)的采集,并控制AGC自動(dòng)增益控制電路為多通道微波輻射計(jì)冷源和熱源的定標(biāo)提供AGC調(diào)整值[2]。同時(shí),F(xiàn)PGA通過控制電平控制系統(tǒng)開關(guān),由控制電路完成整個(gè)系統(tǒng)、接收機(jī)和噪聲源的開關(guān)機(jī)功能,并完成科學(xué)數(shù)據(jù)包到遠(yuǎn)程計(jì)算機(jī)的回傳。
數(shù)控系統(tǒng)以Xilinx公司的Virtex-4系列FPGA為核心進(jìn)行設(shè)計(jì),其配置PROM采用XCF32P,32 M存儲容量。
數(shù)據(jù)采集電路采用AD公司的16位并行模數(shù)轉(zhuǎn)換器AD976A,芯片轉(zhuǎn)換速率為200 KS/s,此高速A/D轉(zhuǎn)換器采用電荷重分布技術(shù)進(jìn)行逐次逼近型模數(shù)轉(zhuǎn)換,因而不必外加采樣保持器。電壓輸入范圍為-10 V~+10 V,分辨率高,可做到16位不失碼。
AGC自動(dòng)增益控制電路采用AD公司的12位并行數(shù)模轉(zhuǎn)換器AD7247,電壓輸出范圍選擇0 V~5 V,滿足微波輻射計(jì)數(shù)控系統(tǒng)精度要求。
1.2 硬件設(shè)計(jì)與實(shí)現(xiàn)
1.2.1 數(shù)據(jù)采集電路
數(shù)據(jù)采集電路由隔離驅(qū)動(dòng)電路、多個(gè)多路選擇器以及一個(gè)A/D轉(zhuǎn)換器組成。其中,隔離驅(qū)動(dòng)電路采用JFET輸入的運(yùn)算放大器進(jìn)行隔離和驅(qū)動(dòng);多路選擇器對10路遙感信號和25路溫度數(shù)據(jù)進(jìn)行選擇,其地址信號由FPGA的I/O接口提供,經(jīng)電平轉(zhuǎn)換后送入多路選擇器;A/D芯片轉(zhuǎn)換速率為200 KS/s,16 bit雙極性輸出,最高位表示符號位,硬件電路如圖3所示。采集到的數(shù)據(jù)存入FPGA的SRAM中,工作周期為60 s,一個(gè)工作周期結(jié)束后,將科學(xué)數(shù)據(jù)和溫度數(shù)據(jù)下傳到遠(yuǎn)程計(jì)算機(jī)。
AD976A進(jìn)行數(shù)據(jù)采集時(shí),置CS引腳固定為低電平,則轉(zhuǎn)換時(shí)序由R/C信號的下降沿控制,信號脈沖寬度至少為50 ns。當(dāng)R/C變?yōu)榈碗娖綍r(shí),BUSY信號也變?yōu)榈碗娖?,?biāo)志轉(zhuǎn)換結(jié)束,則移位寄存器中的數(shù)據(jù)被更新的二進(jìn)制補(bǔ)碼替代,其中,R/C控制端由FPGA的I/O端口進(jìn)行控制。
1.2.2 AGC自動(dòng)增益控制電路
AGC自動(dòng)增益控制電路由5個(gè)兩通道D/A轉(zhuǎn)換器AD7247和隔離驅(qū)動(dòng)電路組成,硬件電路如圖4所示。由FPGA對數(shù)據(jù)采集電路采集的微波輻射計(jì)冷源和熱源定標(biāo)值進(jìn)行判斷,為AGC自動(dòng)增益控制電路提供有效的AGC調(diào)整值,通過D/A轉(zhuǎn)換器及隔離驅(qū)動(dòng)電路后提供給微波輻射計(jì)的接收機(jī)單元。其中,5個(gè)D/A轉(zhuǎn)換器并聯(lián)為微波輻射計(jì)10個(gè)通道提供AGC調(diào)整值,片選信號和轉(zhuǎn)換信號由FPGA的I/O端口進(jìn)行控制。
1.2.3 系統(tǒng)開關(guān)控制電路
系統(tǒng)開關(guān)控制電路包括系統(tǒng)上下電和噪聲源開關(guān)控制電路兩部分。其中,系統(tǒng)上下電通過四觸點(diǎn)磁保持繼電器及ULN2003A構(gòu)成的驅(qū)動(dòng)電路控制,該磁保持繼電器有2個(gè)線圈:1個(gè)置位線圈Set和1個(gè)復(fù)位線圈Reset,均通過脈沖觸發(fā)。當(dāng)繼電器Set端出現(xiàn)上升沿時(shí),繼電器吸合,系統(tǒng)上電;當(dāng)繼電器Reset端出現(xiàn)上升沿時(shí),繼電器斷開,系統(tǒng)下電。由于繼電器在切換瞬間電流較大,因此需要外加驅(qū)動(dòng)電路,由ULN2003A構(gòu)成[3]。此種繼電器具有保持功能,一旦置位或復(fù)位,即使線圈斷電,繼電器仍保持原狀態(tài),從而降低了功耗。
1.2.4 電平轉(zhuǎn)換電路
由于FPGA設(shè)計(jì)采用的是LVTTL電平,而數(shù)據(jù)采集電路及AGC自動(dòng)增益控制電路采用的是5VCMOS電平,LVTTL的高低電平為:
可見,LVTTL信號與CMOS信號不可直接互聯(lián),因此設(shè)計(jì)選用TI公司的SN74ALVC164245芯片(具有三態(tài)輸出的16 bit 3.3 V到5 V電平轉(zhuǎn)換收發(fā)器)實(shí)現(xiàn)LVTTL與CMOS電平的互聯(lián)。
1.2.5 總線接口電路
總線接口電路通過串行通信接口實(shí)現(xiàn)數(shù)控系統(tǒng)與遠(yuǎn)程計(jì)算機(jī)的數(shù)據(jù)通信,由MAX232完成TTL電平到EIA的電平轉(zhuǎn)換,硬件電路如圖5所示。
2 數(shù)控系統(tǒng)FPGA軟件設(shè)計(jì)
FPGA軟件部分包括總線控制模塊、天線驅(qū)動(dòng)接口模塊、數(shù)據(jù)采集模塊、AGC模塊和系統(tǒng)開關(guān)控制模塊5部分,使用同一時(shí)鐘進(jìn)行同步處理,控制其他電路共同完成微波輻射計(jì)的冷熱源定標(biāo)、數(shù)據(jù)采集和工作狀態(tài)控制等功能。FPGA軟件信息流程圖如圖6所示。
其中,總線控制模塊包括初始化配置模塊、數(shù)據(jù)傳輸模塊和中斷處理模塊。數(shù)據(jù)傳輸模塊負(fù)責(zé)與遠(yuǎn)程計(jì)算機(jī)傳輸科學(xué)數(shù)據(jù)包,包括定標(biāo)數(shù)據(jù)、科學(xué)數(shù)據(jù)和溫度數(shù)據(jù);中斷處理模塊負(fù)責(zé)傳輸工程遙測包的數(shù)據(jù)注入和內(nèi)部指令注入,分別存入相應(yīng)的數(shù)據(jù)緩沖區(qū)并設(shè)置相應(yīng)的標(biāo)志位,控制微波輻射計(jì)各部分運(yùn)行狀態(tài)。
天線驅(qū)動(dòng)模塊負(fù)責(zé)執(zhí)行總線控制模塊傳輸?shù)母鞣N天線控制指令,同時(shí)讀取天線狀態(tài)字和天線角編碼,并存入數(shù)據(jù)緩沖區(qū),等待下傳。
數(shù)據(jù)采集模塊為多路選擇器提供地址信號,并為A/D轉(zhuǎn)換器提供片選信號,控制數(shù)據(jù)采集電路工作,同時(shí)依次采集科學(xué)數(shù)據(jù)和溫度數(shù)據(jù),并在一個(gè)周期后打包下傳。
AGC模塊依據(jù)數(shù)據(jù)采集電路采集的熱源和冷源的定標(biāo)數(shù)據(jù),按照AGC調(diào)節(jié)標(biāo)準(zhǔn)調(diào)整AGC值,使冷源輸出下限為3.3 V,熱源輸出上限為4 V。AGC調(diào)整方式為步進(jìn)式調(diào)整,調(diào)整步長為5 mV,系統(tǒng)工作在最佳狀態(tài)后,將調(diào)整后的AGC值與科學(xué)數(shù)據(jù)包共同打包下傳。
系統(tǒng)上電后進(jìn)行初始化,為防止系統(tǒng)上電時(shí)復(fù)位不充分,系統(tǒng)上電后進(jìn)行3 s的延時(shí),然后進(jìn)行系統(tǒng)初始化,順序依次為內(nèi)存、外存、I/O端口[4]。程序中使用的以及需要預(yù)設(shè)初值的所有變量都要進(jìn)行初始化,不使用的內(nèi)存地址同時(shí)初始化為00H。
初始化后按照天線對定標(biāo)區(qū)和目標(biāo)觀測區(qū)的掃描時(shí)序進(jìn)行觀測。每個(gè)觀測周期的觀測順序?yàn)椋簾嵩炊?biāo)→冷源定標(biāo)→目標(biāo)觀測→熱源定標(biāo)。同時(shí)通過執(zhí)行內(nèi)部注入指令對系統(tǒng)工作狀態(tài)加以控制,F(xiàn)PGA工作流程如圖7所示。
3 數(shù)控系統(tǒng)仿真與調(diào)試
本文選用Mentor公司的Modelsim HDL仿真軟件和Xilinx公司的Chipscope FPGA片上邏輯分析儀對系統(tǒng)軟件和硬件進(jìn)行了實(shí)際仿真,通過Xilinx ISE開發(fā)環(huán)境中生成的測試激勵(lì)文件Testbench,可以無縫連接Modelsim仿真工具,測試結(jié)果滿足系統(tǒng)要求。
圖8為Modelsim仿真的冷源定標(biāo)和AGC值存儲部分波形圖。
Modelsim仿真有2種激勵(lì)輸入方式,一種是傳統(tǒng)的波形輸入,另一種是通過編寫代碼,對輸入產(chǎn)生預(yù)定的激勵(lì),這種方式能夠產(chǎn)生更為復(fù)雜的激勵(lì),提供更高的功能覆蓋率,并且可移植性更好,驗(yàn)證速度更快[5]。
本文設(shè)計(jì)了一個(gè)對整個(gè)FPGA模塊進(jìn)行測試的Testbench,模仿了A/D芯片采集的數(shù)據(jù),可以驗(yàn)證定標(biāo)過程中生成AGC調(diào)整值的準(zhǔn)確性和存儲器讀寫科學(xué)數(shù)據(jù)和定標(biāo)數(shù)據(jù)的準(zhǔn)確性。冷源定標(biāo)過程中,程序首先為多路選擇器提供地址信號addrch和addrte,依次對接收機(jī)10個(gè)通道進(jìn)行數(shù)據(jù)采集。當(dāng)冷源輸出adout小于3.3 V,轉(zhuǎn)換為步長即2A7E時(shí), 程序?qū)⒅鸩綔p小AGC調(diào)整值,并通過D/A片選信號csa和csb送入D/A轉(zhuǎn)換器,直到冷源輸出高于2A7E時(shí),將冷源定標(biāo)輸出和AGC調(diào)整值存入RAM中。結(jié)果表明,F(xiàn)PGA各模塊工作正常,符合設(shè)計(jì)要求。
本文結(jié)合微波輻射計(jì)工程實(shí)現(xiàn)的要求,討論了微波輻射計(jì)的數(shù)據(jù)處理與控制系統(tǒng)的原理,并采用現(xiàn)場可編程門陣列(FPGA)實(shí)現(xiàn)了該數(shù)控系統(tǒng)的硬件設(shè)計(jì)和FPGA模塊設(shè)計(jì),進(jìn)行了部分模塊的功能仿真和時(shí)序仿真,通過了系統(tǒng)調(diào)試仿真驗(yàn)證,達(dá)到了設(shè)備小型化的設(shè)計(jì)目的;同時(shí),采用FPGA進(jìn)行設(shè)計(jì),提高了程序的可移植性,并通過了可靠性和穩(wěn)定性的分析設(shè)計(jì),從而能夠有效保證系統(tǒng)穩(wěn)定可靠地工作。
參考文獻(xiàn)
[1] Jorgen Pihlflyckt.Control and measurement system for multi-channel microwave radiometer[C/OL].Russia:Helsinki University of technology,2007-02-12.http://lib.tkk.fi/Dipl/2007/urn007760.pdf.
[2] 黃瑩珠.基于FPGA技術(shù)的微波濕度計(jì)數(shù)據(jù)處理與控制單元的設(shè)計(jì)與仿真[D].北京:中國科學(xué)院研究生院,2007.
[3] 孫茂華,鄭震藩,張升偉,等.風(fēng)云三號衛(wèi)星微波濕度計(jì)數(shù)據(jù)處理與系統(tǒng)控制的冗余設(shè)計(jì)方案[J].遙感技術(shù)與應(yīng)用,2007(2).
[4] 段吉海,黃智偉.基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.
[5] 薛小剛,葛毅敏.Xilinx ISE 9.X FPGA/CPLD設(shè)計(jì)指南[M]. 北京:人民郵電出版社,2007.