楊永俠,李亞煒
(西安工業大學電子信息工程學院,陜西西安 710032)
地球物理測井的方法有多種,如電測井、聲波測井、核測井、地層傾角測井、成像測井等,但聲波測井是惟一可以獲得井壁直觀圖像的測井方法。聲波測井和電法測井,核測井相比,問世較晚,但近20年來發展迅速,其主要優點是不受泥漿性質,礦化度及泥漿侵入的影響。同樣,巖石聲學研究了聲波在巖石或地層中的產生、傳播、接收和各種效應,為聲波技術發展提供了理論基礎。所謂聲波是指彈性介質中傳播的壓強、應力、體積元形變,質點位移,質點速度等的形變或幾種形變的綜合。最簡單的聲波測井儀由發射器和接收器組成,接收器所接收到的聲波包括直達波、反射波、滑行波和沿儀器外殼傳播的聲波,聲波測井的探測范圍一般是指井壁滑行波的影響范圍[1]。
聲波測井是應用較廣泛的現代測井方法之一。其采用聲波的速度、幅度在巖石、巖層孔隙、含油氣水等介質中傳播時的全波記錄得出的不同物理地質特征來研究和解決地質問題,進而發現油氣、煤、金屬與非金屬、放射性、地熱、地下水等礦產資源。
一般常用的聲波測井方法可以分為聲波速度測井。聲波幅度測井和聲波全波列測井。這里使用的是聲波幅度測井,聲波幅度測井是研究巖層對聲波幅度的衰減特性的測井方法[2]。井下信號通過電纜傳輸至井上后,如何對上傳的信號進行及時、高速、準確的處理從而傳輸到上位機以得到測井曲線是至關重要的。
固井聲幅測井也稱水泥膠結測井。聲幅測井的井下部分如圖1所示。套管應與水泥膠結良好,套管外固結的水泥環完整,否則套管外有泥漿存在。套管與泥漿界面的聲阻抗比套管與水泥環的大,就是說套管與泥漿的聲耦合較差,套管與水泥環的聲耦合較好。因此,套管與水泥膠結差時,套管波的能量不易通過管外泥漿傳播,接收到的套管波幅度大,反之則到達接收器的套管波能量小。即在水泥膠結良好時,固井聲幅測井值低;水泥膠結差時,固井聲幅測井值高[3]。

圖1 聲幅測井原理圖
井下上傳的信號CBL(75 mV,20 kHz)經模數開關多路選擇后,進入A/D采樣,采樣完成后數據進入FPGA進行高速處理,處理后的數據由USB模塊上傳至上位機。系統框圖如圖2所示。

圖2 系統框圖
模數開關使用AD7502芯片。AD7502是一款單芯片CMOS雙路4通道模擬多路復用器。它根據2個二進制地址輸入A0,A1和一個使能輸入的狀態EN,將2路輸出總線 OUT1-4,OUT5-8,切換至8路輸入S1,S2,S3,S4,S5,S6,S7,S8中的 2 路S1&S5,S2&S6,S3&S7,S4&S8。通過對模數開關的控制可以選擇 A/D采集的是CBL信號或AC信號。
數據采集使用AD1671芯片,AD1671芯片為12位1.25 Msample·s-1,轉換時間為800 ns的芯片。
數據處理及存儲使用EP1C6芯片,cyclone EP1C6是Altera推出的一款高性價比FPGA,工作電壓3.3 V,內核電壓1.5 V。采用0.13 μm工藝技術,全銅SRAM工藝,其密度為5 980個邏輯單元,包含20個128×36位的RAM塊,總的RAM空間達到20×(128×36)=92 160位。而本設計的采樣周期為2 ms,采樣間隔為1 μs,每次需存儲16位,共需存儲2 000×16=32 000位,可以滿足設計要求。內嵌2個鎖相環電路和一個用于連接SDRAM的特定雙數據率接口,工作頻率高達200 MHz。
USB傳輸使用CH375芯片。CH375是一個USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設備方式。這里采用設備方式。
由于FPGA正常工作時要求先給I/O口供電再給內核供電,斷電時要求先給內核斷電再給I/O口斷電,為保證嚴格的上電順序,系統使用AS2830-3.3 V可將電壓由5 V轉換到3.3 V,使用 AS2830-1.5 V可將電壓由5 V轉換成1.5 V,IA0505S為穩壓正負雙輸出電源模塊,可將電壓由5 V轉換成-5 V,這樣就可以滿足各部分工作需求[4]。
設計的數據采集系統是基于高性能FPGA芯片實現的,FPGA承擔了絕大部分的控制和數據處理任務,是設計的核心內容,對FPGA進行模塊化設計,是大型系統設計的常用方法[5-6]。本項目中將 FPGA分成USB控制模塊、采樣控制模塊、觸發脈沖產生模塊和RAM等幾個主要功能模塊來設計。
FPGA模塊的原理如圖3所示。其工作原理為觸發脈沖產生模塊,根據設定的參數周期性輸出脈沖信號觸發采樣控制模塊對A/D進行采樣。采樣控制模塊在接收到USB控制模塊的啟動信號后,只要接收到觸發信號就開始采樣數據,并判斷采樣數據是否滿足要求,如果滿足要求則把數據存放于RAM中,且在采樣結束后觸發USB控制模塊上傳數據。

圖3 USB采樣機FPGA模塊的原理框圖
通電后,先對USB芯片初始化,然后如果接收到采樣結束信號或上傳結束信號并且RAM在還剩余有數據的條件下把RAM數據上傳,若接收到下傳信號,則把計算機下傳的數據按要求分配到各端口。
采樣控制模塊根據外部觸發信號,利用狀態機對A/D的采樣行為進行控制。共有5個狀態,每個狀態的動作在代碼中進行了詳細描述。
第1個狀態:空閑狀態(IDLE),表示程序無任何操作,在等待外部觸發信號的到來。
第2個狀態:延時1(第一個等待狀態,WAIT1),表示收到觸發信號后需要禁閉A/D一段預先設定的時間,這段時間不進行任何操作。
第3個狀態:找門限(門限判決狀態,THDET),在規定的時間段時間里判斷A/D采樣的信號中是否有連續6個采樣大于門限的值,如果有,等待一段時間后把采樣后的數據存入緩沖區以便上傳給上位機。否則繼續等待下一個觸發信號。
第4個狀態:延時2(第二個等待狀態,WAIT2),表示已經滿足采樣要求后再禁閉A/D一段預先設定的時間,這段時間不進行任何操作。然后啟動A/D進行采樣。
第5個狀態:采樣狀態(SAMPER),啟動A/D進行采樣,并存儲數據。
此處為米莉(Mealy)型狀態機,Mealy型狀態機的輸出不僅與現態有關,而且和輸入也有關。
該狀態機采取3段式描述方式:即使用3個always塊,第1個always塊采用同步時序描述狀態轉移;第2個always塊采用組合邏輯判斷狀態轉移條件,描述狀態轉移規律;第3個always塊描述狀態輸出[7-9]。

圖4 采樣控制模塊的狀態轉移圖
狀態機的編碼使用獨熱碼(One-hot)編碼,獨熱碼編碼的最大優勢在于狀態比較時僅需要比較一個位,從而一定程度上簡化了比較邏輯,減少了毛刺產生的概率。
USB控制模塊對USB接口進行控制,包括初始化USB、USB中斷處理、上傳數據、下傳數據。這里一共有5個狀態,每個狀態的動作在代碼中進行了詳細描述。狀態機所有的動作如下:
第1個狀態:初始化狀態(init),對USB芯片進行初始化。
第2個狀態:空閑狀態(idle),表示程序無任何操作,在等待外部的觸發信號的到來。
第3個狀態:上傳狀態(upload),把儲存器中的數據上傳給上位機,每次上傳64 Byte。
第4個狀態:下傳狀態(dwonload),上位機的數據通過USB下傳,并根據命令字把數據分配到不同的寄存器。
第5個狀態:中斷處理狀態(intStatus),對USB的中繼信號進行處理,并根據不同的中斷狀態字把狀態機切換到不同的狀態。

圖5 USB控制模塊的狀態轉移圖
本模塊的狀態機類型為Mealy型狀態機、描述方式為3段式描述方式、編碼方式為獨熱碼編碼,這些與采樣控制模塊中使用的狀態機相同。
固井聲幅測井曲線如圖6所示,當以“自由套管”處的偏轉幅度為A,凡固井聲幅曲線的幅度<20%A者為固井質量良好;曲線幅度為20%A~40%A,固井質量中等;凡曲線幅度>40%A,為固井質量差的井段,即存在水泥串槽混漿[3]。

圖6 固井聲幅測井曲線示例
系統是一種基于FPGA的高速數據采集系統,其中包括高速數據采集、存儲和傳輸。整個系統是基于FPGA實現的,具有其它元器件不可比擬的優點。文中給出了基于FPGA的聲幅測井系統的設計,包括硬件和軟件的設計,討論了高速數據采集系統中FPGA的模塊化設計。實現了將兩種不同的聲幅信號實時高速采集,快速穩步存儲傳輸給上位機,同時將儀器所需要的控制命令由主機下發,通過USB傳輸至FPGA再至各接口。實際測試表明:該系統不僅縮短了信號傳輸時間,而且操作極為簡便。使用該系統滿足了信號傳輸的實時性要求,提高了工作效率。
[1]楚澤涵.聲波測井原理[M].北京:石油工業出版社,1985.
[2]吳國慶,牛歡,王俊英,等.聲波測井技術的理論研究[J].消費導刊:科教論壇,2009(1):198.
[3]孟予萍,郭祥云.煤層氣固井聲幅測井方法探討[J].中國煤炭地質,2008,20(12):12 -13.
[4]潘松,黃繼業.EDA技術實用教程[M].北京:北京科學出版社,2002.
[5]邱暢,李龍.采用FPGA的雙通道500MHz的數據采集卡[J].國外電子測量技術,2008(11):32 -34.
[6]諸振勇,翁木云.FPGA設計及應用[M].西安:西安電子科技大學出版社,2002.
[7]袁俊泉,孫敏琪,曹瑞.Verilog HDL數字系統設計及應用[M].西安:西安電子科技大學出版社,2002.
[8]徐振林.Verilog HDL硬件描述語言[M].北京:機械工業出版社,2000.
[9]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2008.
[10]姚國國,李寶森,王景賢.基于SOPC技術的數據采集系統設計[J].電子科技,2008,21(10):71 -74.