基于FPGA的空間電場信號(hào)數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)
0 引言
空間電場信號(hào)是近地空間很重要的一個(gè)參量,它的起伏變化影響到太陽活動(dòng)、雷暴活動(dòng)、地震活動(dòng)及大氣環(huán)境污染等領(lǐng)域。檢測電場的狀態(tài)可以為航天發(fā)射活動(dòng)提供空間環(huán)境的電狀態(tài)數(shù)據(jù),國外發(fā)射的許多探測衛(wèi)星和探空火箭都將電場探測作為重要的科學(xué)探測目標(biāo)。
在傳統(tǒng)的探空火箭有效載荷——箭載電場儀中,頻道的劃分往往采用模擬濾波。模擬濾波電路不僅電路龐大,而且無法克服溫度漂移、電壓漂移、噪聲等缺陷,使得應(yīng)用領(lǐng)域受到局限。與模擬濾波器相比,數(shù)字濾波器精度高,靈活性好,可靠性強(qiáng),更適合應(yīng)用在性能較高
的系統(tǒng)。本文提出了應(yīng)用于探空火箭有效載荷的空間電場信號(hào)采集系統(tǒng),頻道劃分采用數(shù)字濾波處理,應(yīng)用FPGA內(nèi)部的有限脈沖響應(yīng)的IP核,使用FPGA作為主控制器對(duì)空間電場信號(hào)進(jìn)行數(shù)據(jù)采集,發(fā)送給后端的公用設(shè)備。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)結(jié)構(gòu)如圖1所示,包括信號(hào)處理電路、A/D采樣電路、同步422發(fā)送電路、電源電路。本文主要介紹傳感器后續(xù)的電路。FPGA對(duì)A/D采樣進(jìn)行控制,整個(gè)系統(tǒng)需要5 V,3.3 V,2.5 V等電平,5 V電平由外接電源供給,其他的電平通過5 V轉(zhuǎn)化產(chǎn)生。
1.1 信號(hào)處理模塊
該模塊主要作用是將信號(hào)負(fù)值電壓平移為正值,并將電壓電平平移到后端模塊可以調(diào)整到的幅度范圍之內(nèi)。
該模塊包含兩級(jí):第一級(jí)采用低噪聲儀表放大器AD8429,對(duì)傳感器傳輸過來的差分信號(hào)進(jìn)行差分放大,AD8429的增益設(shè)置計(jì)算公式為G=1+6K/RG,其中RG為反饋電阻,對(duì)AD8429的增益設(shè)置引腳進(jìn)行開路處理令G=1,相當(dāng)于將差分信號(hào)變?yōu)閱味诵盘?hào)。其中,由于傳感器每個(gè)探頭采集到的空間電場信號(hào)是在-3~3 V范圍內(nèi),經(jīng)過差分放大后的信號(hào)為-6~6 V,不易于直接輸入A/D采樣電路中,因此需要經(jīng)過第二級(jí)的處理。
第二級(jí)的信號(hào)處理包括增加一個(gè)+2.5 V的直流偏置和分壓處理,運(yùn)算放大器選用的是國家半導(dǎo)體公司的雙通道LM258芯片,電路簡單,經(jīng)過第二級(jí)輸出的信號(hào)幅值在0.5~4.5 V之間,可以直接輸入A/D采樣電路進(jìn)行采樣。
1.2 A/D采樣模塊和422發(fā)送模塊
A/D采樣模塊是本系統(tǒng)設(shè)計(jì)的關(guān)鍵,系統(tǒng)性能要求能處理0~1 MHz頻帶范圍內(nèi)的信號(hào),根據(jù)奈奎斯特采樣率,本系統(tǒng)選擇的ADS1610模塊采樣率達(dá)到10 MSPS,是一款高速、高精度的模擬數(shù)字轉(zhuǎn)換器,并且ADS1610的控制信號(hào)很豐富,便于FPGA對(duì)采樣電路進(jìn)行控制。ADS的電源和地按照推薦電路配置,注意去耦電容放置的位置要離電源和地的輸入引腳近一些,電容值越小的離引腳越近,這樣使得去耦效果更好,模擬地和數(shù)字地之間僅僅在一點(diǎn)用0 Ω的電阻相連。
值得注意的是,ADS需要外圍電路提供4 V,1 V,2.5 V三個(gè)參考電壓,通過運(yùn)算放大器OPA2822正向輸入端輸入,經(jīng)過若干去耦電容后分別進(jìn)入ADS1610的VREFP,VREFN,VMID三個(gè)參考電壓輸入引腳。
同步發(fā)送模塊選用DS26LV31AT,如圖1所示,由FPGA控制使能信號(hào),輸出時(shí)鐘、數(shù)據(jù)、輸出使能等信號(hào),發(fā)送給后端檢測設(shè)備。
1.3 電源模塊
該模塊為系統(tǒng)各個(gè)模塊提供輸出穩(wěn)定的電源。
FPGA供電電壓分為3部分,每個(gè)bank的電壓(VCCO),參考電壓(VCCAUX),內(nèi)核電壓(VCCINT)。XC3S500E芯片bank電壓為3.3 V,參考電壓為2.5 V,內(nèi)核電壓為1.2 V。電源模塊選用TI公司的TPS767D325和TPS62003兩款芯片,TPS767D325將供電電壓5 V轉(zhuǎn)換為3.3 V和2.5 V,提供給FPGA的bank電壓和參考電壓,而TPS62003則將二級(jí)電源3.3 V轉(zhuǎn)換成1.2 V,提供給內(nèi)核電壓。
1.4 FPGA控制器模塊
FPGA用來控制A/D采樣和同步422發(fā)送,F(xiàn)PGA采用的是Xilinx公司Spartan-3E系列的XC3SS00E芯片,它大約有500 k個(gè)門,10 476個(gè)等效邏輯單元,73 Kb的分布式RAM,360 Kb的塊RAM,4個(gè)數(shù)字時(shí)鐘管理單元,232個(gè)I/O引腳,92個(gè)差分I/O引腳。外圍電路較為簡單,全局時(shí)鐘從GCLK引腳進(jìn)入FPGA,保證了系統(tǒng)的可靠性。
XC3S500E芯片的配置芯片選用XCF04,容量為4 Mb,3.3 V的核電壓,擁有串行配置接口。
2 FPGA程序設(shè)計(jì)
FPGA程序采用Verilog語言編寫,主要分為三部分的代碼:A/D控制程序、例化FIR的IP核產(chǎn)生數(shù)字濾波器、同步422發(fā)送程序。FPGA內(nèi)部的工作流程圖如圖2所示。
2.1 FPGA對(duì)AD1610采樣的控制
當(dāng)不使用ADS1610的時(shí)候,可以把nPD引腳置低,這樣就關(guān)掉了ADS1610的電源,在設(shè)計(jì)中將nPD引腳置高。ADS1610為并行數(shù)據(jù)傳輸,在數(shù)據(jù)準(zhǔn)備就緒之后,需要保持時(shí)間來確保上一組數(shù)據(jù)有效,經(jīng)過建立時(shí)間之后開始接收下一組數(shù)據(jù),時(shí)序圖如圖3所示。
引腳nSYNC可以用來同步多片.ADS1610,單片設(shè)計(jì)時(shí)為復(fù)位引腳,這里設(shè)計(jì)不采用多片同步,將nSYNC置低時(shí),ADS1610是異步復(fù)位的。當(dāng)復(fù)位的時(shí)候,所有的數(shù)字電路清零,16位輸出引腳DOUT[15:0]被全部置為低,而數(shù)據(jù)就緒引腳nDRDY被置為高。在程序的設(shè)計(jì)中,nSYNC在時(shí)鐘信號(hào)的下降沿拉高,則nDRDY在接下來的第二個(gè)時(shí)鐘上升沿拉低。
2.2 數(shù)字濾波器的實(shí)現(xiàn)
借助Matlab中的濾波器設(shè)計(jì)和分析工具FDATool,其操作簡單、靈活,用戶只需在GUI中輸入設(shè)計(jì)需要的濾波器各項(xiàng)參數(shù),就可以獲得需要的數(shù)字濾波器。本設(shè)計(jì)中共劃分為4個(gè)頻段:0~100 Hz,100 Hz~10 kHz,10~100 kHz,100 kHz~1 MHz,經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),頻帶寬度過大的帶通濾波器性能不是很理想,通帶內(nèi)幅度并不平坦,失真較大。因此除了第一個(gè)頻段采用低通濾波器外,另外三個(gè)頻段采用低通濾波器+高通濾波器的方法來實(shí)現(xiàn),如頻帶為100 Hz~10 kHz可以用截止頻率為10 kHz的低通濾波器和100 Hz的高通濾波器相加得到。將生成的FIR濾波器系數(shù).coe文件導(dǎo)入4個(gè)Xilinx ISE中的IP核中,分別例化生成四個(gè)FPGA片內(nèi)的數(shù)字濾波器,對(duì)X,Y,Z三個(gè)方向采集到的電場信號(hào)進(jìn)行頻段的劃分。
2.3 同步422
將X,Y,Z每個(gè)方向的各個(gè)通道的濾波后的信號(hào),加上包頭、時(shí)間碼、通道號(hào)、校驗(yàn)碼之后通過422芯片DS26LV31AT、發(fā)送給后端的設(shè)備。主要包括兩個(gè)子模塊:波特率產(chǎn)生模塊和發(fā)送模塊。
波特率產(chǎn)生模塊:系統(tǒng)外接18.432 MHz晶振,用來產(chǎn)生同步422通信所需要的115 200 b/s的波特率。本模塊采用10 MHz時(shí)鐘。波特率的計(jì)算:(1/115 200)/(1/1×107)=86個(gè)系統(tǒng)時(shí)鐘周期,為得到50%占空比的波特率時(shí)鐘,使得計(jì)數(shù)器在計(jì)數(shù)到86/2=43時(shí)將輸出置高,之后在計(jì)數(shù)到86時(shí)將輸出置低并重新計(jì)數(shù),就可實(shí)現(xiàn)所需波特率的時(shí)鐘;發(fā)送模塊:采用狀態(tài)機(jī)進(jìn)行編寫,由五個(gè)狀態(tài)(IDLE,WAIT,STAR T,SHIFT,STOP)和一個(gè)進(jìn)程組成。
3 系統(tǒng)實(shí)現(xiàn)
本設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)采用Altium Designer 6.0繪制原理圖和PCB圖,F(xiàn)PGA程序設(shè)計(jì)則是在Xilinx ISE 11和Modelsim SE 6.5e平臺(tái)上設(shè)計(jì)和仿真,濾波器系數(shù)則是在Matlab中的FDA tools工具箱中生成并導(dǎo)入ISE中的有限脈沖響應(yīng)的知識(shí)產(chǎn)權(quán)核中。
在系統(tǒng)的輸入端加入-3~3 V的模擬輸入電壓進(jìn)行測試,進(jìn)行FPGA片上數(shù)據(jù)采集處理實(shí)驗(yàn),在每個(gè)模塊的輸出端添加測試焊點(diǎn),方便逐步調(diào)試。系統(tǒng)設(shè)計(jì)框圖如圖4所示,根據(jù)后端收到的實(shí)驗(yàn)數(shù)據(jù)對(duì)比可知,本系統(tǒng)設(shè)計(jì)完成了設(shè)計(jì)要求。
4 結(jié)語
本文提出的基于FPGA的空間電場信號(hào)采集系統(tǒng)應(yīng)用于探空火箭有效載荷——箭載電場儀探頭后端信號(hào)采集與處理部分,也可以為地面電場儀處理電場信號(hào)提供服務(wù)。該方案解決了電場信號(hào)采集系統(tǒng)設(shè)計(jì)要求,避免了模擬濾波電路易受溫度、噪聲等影響,硬件電路大大簡化,可調(diào)適性好。經(jīng)過實(shí)踐證明本設(shè)計(jì)方法設(shè)計(jì)正確,減輕了設(shè)計(jì)者對(duì)于龐大模擬電路的設(shè)計(jì)負(fù)擔(dān),系統(tǒng)運(yùn)行穩(wěn)定可靠,可移植性強(qiáng),可用于多種數(shù)據(jù)采集電路的設(shè)計(jì),有一定的參考價(jià)值。
評(píng)論