黃 云,楊尊先
(福州大學(xué)電子科學(xué)與技術(shù)系, 福州350002)
煤炭是事關(guān)國(guó)民經(jīng)濟(jì)可持續(xù)發(fā)展的基礎(chǔ)產(chǎn)業(yè),隨著國(guó)民經(jīng)濟(jì)的發(fā)展,各個(gè)行業(yè)對(duì)煤炭的需求量不斷增加,如何保障煤炭生產(chǎn)的安全高效和可持續(xù)性發(fā)展就顯得非常重要[1]。而地震勘探作為一種廣泛應(yīng)用的物理地球勘探手段,把它應(yīng)用到礦井探測(cè)中,可以超前探測(cè)斷層、陷落柱、采空區(qū)的形態(tài)、走向、影響范圍及頂?shù)酌汉?、圍巖松動(dòng)圈等的內(nèi)容,為煤礦生產(chǎn)過程中出現(xiàn)的地質(zhì)異常提供及時(shí)準(zhǔn)確的預(yù)測(cè)參數(shù),以保障煤炭生產(chǎn)的安全高效[2]。因此開發(fā)出適用于礦井地震勘探儀器具有十分重要的意義。但是,地震勘探對(duì)數(shù)據(jù)采集與處理系統(tǒng)的性能要求很高,用傳統(tǒng)的單片機(jī)或DSP來實(shí)現(xiàn),很難滿足系統(tǒng)的實(shí)時(shí)性、多通道同步性和儀器便攜性等要求[3]。
SOPC技術(shù)將CPU、存儲(chǔ)器、I/O接口等系統(tǒng)設(shè)計(jì)所必須的模塊集成在一片F(xiàn)PGA上,是一種新的系統(tǒng)設(shè)計(jì)技術(shù)。這種設(shè)計(jì)方式,具有開發(fā)周期短、設(shè)計(jì)靈活、可裁減、可擴(kuò)充、可升級(jí)、軟硬件在系統(tǒng)可編程的功能,特別適用于復(fù)雜系統(tǒng)的設(shè)計(jì)[4]。
本文給出了一種基于SOPC的數(shù)據(jù)采集與處理系統(tǒng)的設(shè)計(jì)方案。系統(tǒng)用24位模數(shù)轉(zhuǎn)換芯片實(shí)現(xiàn)多通道地震數(shù)據(jù)前端采集;利用FPGA的可并行及高速運(yùn)算特點(diǎn),用FPGA代替?zhèn)鹘y(tǒng)的DSP芯片,設(shè)計(jì)并行的數(shù)據(jù)信號(hào)同步處理,以提高系統(tǒng)的實(shí)時(shí)性和同步性。該系統(tǒng)成功地應(yīng)用到礦井地震勘探中,得到良好的效果。
數(shù)據(jù)采集與處理系統(tǒng)主要是對(duì)數(shù)據(jù)的采集以及對(duì)得到數(shù)據(jù)的處理,本系統(tǒng)采用SOPC技術(shù),以軟核處理器NIOS II為控制核心, NIOSⅡCPU和各IP模塊之間通過Avalon片上總線相連。系統(tǒng)原理圖見圖1所示。系統(tǒng)主要由四個(gè)硬件模塊構(gòu)成:數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲(chǔ)模塊和數(shù)據(jù)通訊模塊。數(shù)據(jù)采集模塊主要用24位高精度A/D芯片進(jìn)行地震數(shù)據(jù)采集;數(shù)據(jù)處理模塊主要用FPGA實(shí)現(xiàn)各DSP算法;數(shù)據(jù)存儲(chǔ)模塊采用SDRAM實(shí)現(xiàn);數(shù)據(jù)通訊模塊采用RS232串口通訊,負(fù)責(zé)把數(shù)據(jù)上傳到上位機(jī)上顯示。
圖1 系統(tǒng)原理圖
Nios II系列軟核處理器是Altera的第二代FPGA嵌入式處理器,是一個(gè)用戶可配置的通用Risc嵌入式處理器,擴(kuò)展了目前世界上最流行的軟核嵌入式處理器的性能。用戶可以從三種處理器(快速、標(biāo)準(zhǔn)、經(jīng)濟(jì))以及超過60個(gè)的IP核中選擇所需要的, NiosII系統(tǒng)為用戶提供了最基本的多功能性,設(shè)計(jì)師可以以此來創(chuàng)建一個(gè)最適合他們需求的嵌入式系統(tǒng)[5]。本設(shè)計(jì)采用的是標(biāo)準(zhǔn)型的NIOS IICPU,并調(diào)用了 SDRAM控制器和異步串口URAT(RS_232 Serial port)等接口IP。
數(shù)據(jù)采集模塊采用多通道同步采集,其基本原理如圖2所示:4通道同步采集,每個(gè)通道由信號(hào)前端調(diào)理電路、模數(shù)轉(zhuǎn)換采樣電路及A/D接口構(gòu)成。
對(duì)采集信號(hào)的調(diào)理,主要是針對(duì)信號(hào)的濾波和信號(hào)放大處理:地震檢波器采集來相關(guān)數(shù)據(jù)后,使用無源低通濾波器去除高頻無用信號(hào),以防止后續(xù)數(shù)字濾波產(chǎn)生頻譜混疊;使用高速反饋放大器OPA1632D實(shí)現(xiàn)對(duì)輸入模擬數(shù)據(jù)的放大。對(duì)于采樣電路,使用24位的A/D7766芯片,該芯片在以125 kHz輸出數(shù)據(jù)速率工作時(shí)具有108 dB的動(dòng)態(tài)范圍,它比具有相同輸出數(shù)據(jù)速率的同類器件高3 dB,其特別適合地震采集的低功耗和鑒別大信號(hào)中的微弱信號(hào)要求[6]。
圖2 數(shù)據(jù)采集模塊原理圖
SOC系統(tǒng)的一個(gè)重要思想就是IP復(fù)用,因此本文充分利用了ALTERA公司豐富的DSP IP核資源以提高產(chǎn)品開發(fā)效率,實(shí)現(xiàn)多通道數(shù)據(jù)的并行同步處理[7]。
1.3.1 數(shù)字濾波模塊
對(duì)于地震勘探來說,由檢波器接收到的有效地震信號(hào)具備多頻率特性。為了現(xiàn)場(chǎng)技術(shù)人員更好地了解地質(zhì)情況,需要看到特定范圍頻帶的信號(hào),因此需要設(shè)計(jì)一個(gè)具備多頻帶的帶通濾波器。濾波模塊調(diào)用了ALTERA公司的FIR IP核來生成,通過設(shè)置參數(shù),即可實(shí)現(xiàn)不同要求的濾波器。
本系統(tǒng)生成的濾波模塊圖如圖3 所示, 其中cofe_set為濾波選擇信號(hào),可以通過NIOS II提供給cofe_set值命令,完成四種不同帶寬的通帶濾波。
圖3 濾波模塊圖
1.3.2 頻譜分析模塊
為了了解地震信號(hào)的頻譜分布范圍,需要對(duì)隨時(shí)間變化的地震信號(hào)進(jìn)行傅里葉變換,以得到隨頻率而變化的振幅和相位的函數(shù)。本設(shè)計(jì)的原理圖如圖4所示:先采用ALTERA公司的FFT IP核設(shè)計(jì)一個(gè)1 024點(diǎn)的FFT模塊,得到的數(shù)據(jù)再送給相位譜計(jì)算模塊和振幅譜計(jì)算模塊得到振幅譜和相位譜。
圖4 頻譜分析模塊原理圖
振幅譜、相位譜的公式見式(1)與式(2), ReF(mΔf)和Im F(mΔf)為輸入數(shù)據(jù)經(jīng)FFT模塊處理后得到的實(shí)部和虛部值[8]。
由式(1)可知,振幅譜模塊主要由乘法模塊、加法模塊及開方模塊組成,其都可以用ALTERA公司對(duì)應(yīng)的IP核來實(shí)現(xiàn)。對(duì)于相位譜模塊,其需要求反正切函數(shù),對(duì)此本設(shè)計(jì)用了基于查找表的設(shè)計(jì)方法。如圖5所示:在phase中把實(shí)部Re的絕對(duì)值乘100后除以虛部Im的絕對(duì)值,得到的值按照一定的規(guī)律轉(zhuǎn)化成Counter(從0到1 024)。 rom中事先存著0到90的相位值, Counter做為RAM的地址輸入,此時(shí)通過Counter的值就可以查找出對(duì)應(yīng)的相位。再根據(jù)sign產(chǎn)生的實(shí)部、虛部的符號(hào)來判斷相位的象限,得出0到360°范圍的相位值。
圖5 相位譜模塊電路圖
為了對(duì)數(shù)據(jù)進(jìn)行緩存,本設(shè)計(jì)采用了hy57v561620 SDRAM外部存儲(chǔ)芯片。SDRAM具有大容量和高速度的特點(diǎn),滿足地震勘探的大數(shù)據(jù)容量和高速度要求。在SOPC Builder中,已經(jīng)存在基于Avalon接口的SDRAM控制內(nèi)核,用戶可以很方便的使用SDRAM控制器創(chuàng)建一個(gè)可以靈活的與SDRAM芯片接口的儲(chǔ)存系統(tǒng)[9]。
模塊工作在96 M的系統(tǒng)主時(shí)鐘下,當(dāng)接收到NIOS II發(fā)出的讀命令后, SDRAM開始讀取A/D傳來的數(shù)據(jù),直到數(shù)據(jù)存放完畢。然后在NIOS II的控制下,再與DSP模塊進(jìn)行互相間的數(shù)據(jù)傳輸。
為了把數(shù)據(jù)上傳到上位機(jī)上進(jìn)行顯示,本系統(tǒng)采用了RS232 串口通信, 串口通信的概念非常簡(jiǎn)單,串口按位發(fā)送和接收字節(jié),可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù),此外它還能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。在SOPC Builder中,也已經(jīng)存在基于Avalon接口的UART內(nèi)核接口,為Altera FPGA上的嵌入式系統(tǒng)和外部設(shè)備提供了串行字符流的通信方式,內(nèi)核執(zhí)行RS-232協(xié)議時(shí)序[10]。
軟件設(shè)計(jì)主要包括驅(qū)動(dòng)程序和應(yīng)用級(jí)代碼編寫等部分,如圖6所示。在Nios II IDE中建立新的軟件工程時(shí), IDE會(huì)根據(jù)SOPCBuilder對(duì)系統(tǒng)的硬件配置自動(dòng)生成一個(gè)定制HAL(硬件抽象層)系統(tǒng)庫(kù)。這個(gè)庫(kù)能為程序和底層硬件的通信提供接口驅(qū)動(dòng)程序,之后進(jìn)行編譯、調(diào)試、下載軟件到開發(fā)板上[11-12]。
圖6 系統(tǒng)軟件結(jié)構(gòu)框圖
本設(shè)計(jì)的應(yīng)用程序流程如圖7所示:系統(tǒng)工作時(shí)先初始化,接著控制A/D模塊進(jìn)行數(shù)據(jù)采集,采集來的數(shù)據(jù)進(jìn)行直接送入DSP模塊進(jìn)行實(shí)時(shí)處理,并把處理前和處理后的數(shù)據(jù)都存儲(chǔ)到SDRAM中。最后把SDRAM中的數(shù)據(jù)經(jīng)過串口發(fā)送到PC機(jī)上。
圖7 應(yīng)用程序流程圖
本系統(tǒng)借助某智能儀器物探公司的礦井探測(cè)技術(shù)平臺(tái),利用透射槽波探測(cè)技術(shù)來判斷煤層的結(jié)構(gòu)特性。系統(tǒng)分別在兩處不同地點(diǎn)的煤層進(jìn)行實(shí)驗(yàn),首先控制系統(tǒng)同步采集多道地震數(shù)據(jù)得到原始記錄,然后對(duì)數(shù)據(jù)進(jìn)行帶通頻率為180 Hz~300 Hz的數(shù)字濾波,最后對(duì)濾波后的數(shù)據(jù)進(jìn)行頻譜分析得到信號(hào)的振幅圖,詳圖見圖8和圖9。
圖8 連續(xù)煤層波譜特征圖圖
圖9 不連續(xù)煤層波譜特征圖
圖8 中P波、S波及煤層槽波埃里相波組特征明顯,分別分布在50 ms、100 ms及170 ms處,根據(jù)探測(cè)原理,可以判斷該煤層應(yīng)為連續(xù)煤層;而圖9在150 ms后無明顯的埃里相位反映, P、S波組特征卻較強(qiáng),可以判斷該煤層構(gòu)造已破壞,因此產(chǎn)生不連續(xù)的波譜特征圖。經(jīng)驗(yàn)證,其判斷與實(shí)際情況吻合。
本系統(tǒng)利用SOPC技術(shù),設(shè)計(jì)了高性能的數(shù)據(jù)采集與處理系統(tǒng)。系統(tǒng)利用SOPC及FPGA特有的優(yōu)勢(shì),使系統(tǒng)具備了高靈活性、便攜性、實(shí)時(shí)性、和多道同步性等特點(diǎn),解決了傳統(tǒng)方法設(shè)計(jì)的系統(tǒng)難以滿足地震勘探的高性能要求問題。把系統(tǒng)應(yīng)用到地震勘探實(shí)現(xiàn)對(duì)煤層結(jié)構(gòu)的探測(cè),得到良好的效果,系統(tǒng)具備很高的經(jīng)濟(jì)價(jià)值。
[ 1] 傅耀軍,華解明,方向清.試論煤田(礦)水文地質(zhì)問題及勘探技術(shù)方法[ J] .中國(guó)煤田地質(zhì), 2007, 19(2):4-7.
[ 2] 魏子榮,杜興亞,方正,等.我國(guó)煤礦采區(qū)高分辨率地震勘探的成果[J] .煤田地質(zhì)與勘探, 2000, 28(1):55-58.
[ 3] 陳艷杰.煤炭地質(zhì)勘查單位發(fā)展方向探討[ J] .商業(yè)經(jīng)濟(jì),2009, (7):83-87.
[ 4] 聶澤東,方康玲, 徐新.基于SOPC技術(shù)的便攜式定位系統(tǒng)設(shè)計(jì)[J] .微計(jì)算機(jī)信息, 2007, 23(2):18-20.
[ 5] 潘松,黃繼業(yè), 曾毓.SOPC技術(shù)實(shí)用教程[ M] .北京:清華大學(xué)出版社, 2005.
[ 6] 楊林楠,李紅剛.基于FPGA的高速多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J] .計(jì)算機(jī)工程, 2007, 3(7):245-247.
[ 7] ALTERA.Nios IIProcessor Reference Handbook[ S].
[ 8] 高昆,徐海崢,潘龍法.基于SOPC的SCSI應(yīng)用系統(tǒng)設(shè)計(jì)方法的研究[ J] .小型微型計(jì)算機(jī)系統(tǒng), 2005, 26(5):1582-1585.
[ 9] 張林,何春.高速SDRAM控制器設(shè)計(jì)的FPGA實(shí)現(xiàn)[ J].電子科技大學(xué)學(xué)報(bào), 2008, 37:99-112.
[ 10] Abhyankar Y, Sajish C, Kulkami P, et al.Design of a FPGA Based Data Acquisition System for Radio Astronomy Applications[C] //Proceeding of the 16th International Conference on Microelectronics, Dec 6 -8 2004, Tunis, Tunisia.Piscataway, NJ,USA:IEEE, 2004:555-557.
[ 11] 王曉迪,張景秀.SOPC系統(tǒng)設(shè)計(jì)與實(shí)踐[ M] .北京:北京航空航天大學(xué)出版社, 2008.
[ 12] 葉淦華.FPGA嵌入式應(yīng)用系統(tǒng)開發(fā)典型實(shí)例[ M].北京:中國(guó)電力出版社, 2005.