超聲波隨鉆井徑檢測儀的數(shù)據(jù)采集與傳輸
引言
在油、氣開發(fā)過程中,測井是必不可少的。在開發(fā)初期,有勘探測井,在開發(fā)中后期,則有生產(chǎn)測井。傳統(tǒng)的電纜測井存在著種種難以解決的問題,如在某些大斜度井或特殊地質(zhì)環(huán)境(膨脹粘土或高壓地層)鉆井時,電纜測井就無法進(jìn)行。除此之外,電纜測井是在鉆井完成之后,用電纜將儀器放入井中進(jìn)行測量,鉆井過程中帶出的鉆碎的巖屑和鉆井液會侵入地層,這樣測量的數(shù)據(jù)與真實的數(shù)據(jù)有一定的差別。因此,隨鉆測井技術(shù)就應(yīng)運而生,而無論是在電纜測井還是隨鉆測井中,數(shù)據(jù)采集和傳輸都是必不可少的。
本文所涉及的超聲波隨鉆測井徑的基本原理是:沿著油井的徑向向井壁垂直發(fā)射超聲波,當(dāng)發(fā)出的超聲波遇到井壁時發(fā)生反射,反射的回波被換能器接收。這樣,根據(jù)超聲換能器發(fā)出超聲波到反射回波被換能器接收所經(jīng)歷的時間t和已知的超聲波在泥漿中的速度V就可以計算井徑的長度。本文運用AD對回波進(jìn)行采集,運用FPGA對AD轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行緩存和傳輸,F(xiàn)PGA為AD提供片選信號和轉(zhuǎn)換時鐘,轉(zhuǎn)換之后的數(shù)字量再給FPGA進(jìn)行串轉(zhuǎn)并.FIFO存儲、串口發(fā)送。在本文中,F(xiàn)PGA采用的是Actel公司的APA075,開發(fā)平臺采用的是Libero8.5。
1系統(tǒng)的總體設(shè)計
本系統(tǒng)的總體設(shè)計思想是:FPGA為AD提供片選及時鐘等控制信號,AD將數(shù)字化后的數(shù)據(jù)送給FPGA,并在FPGA中進(jìn)行串并轉(zhuǎn)換、緩存等一系列數(shù)據(jù)處理后,再通過MAX232完成TTL電平到RS-232電平的轉(zhuǎn)換,然后在PC機(jī)上運用串口調(diào)試小助手顯示數(shù)據(jù)。通過分析串口調(diào)試小助手上顯示的數(shù)據(jù)來判斷是否正確,從而驗證系統(tǒng)設(shè)計的合理性。其系統(tǒng)框圖如圖1所示。
2FPGA主要功能模塊的設(shè)計
在本系統(tǒng)中,F(xiàn)PGA的功能模塊主要包括AD控制模塊、FIFO設(shè)計模塊和串口數(shù)據(jù)發(fā)送模塊三部分。FPGA系統(tǒng)與外圍電路的信息交換主要由AD_out、clk、SCLK、CS、TXD等信號線完成。其中,AD_out負(fù)責(zé)將AD轉(zhuǎn)換后的數(shù)字信號送入FPGA;CS和SCLK是FPGA為AD提供的片選信號和時鐘信號,用來控制AD的轉(zhuǎn)換;TXD是FPGA輸出數(shù)據(jù)的通道;clk是FPGA的時鐘信號。系統(tǒng)時鐘采用50MHz,其FPGA功能模塊電路框圖如圖2所示。
2.1AD控制模塊的設(shè)計與實現(xiàn)
AD控制模塊要實現(xiàn)的功能是提供AD轉(zhuǎn)換的片選信號和AD轉(zhuǎn)換時鐘,以及FIFO的寫時鐘、FIFO要存儲的16位并行數(shù)據(jù),接收AD轉(zhuǎn)換的串行數(shù)據(jù)并實現(xiàn)串轉(zhuǎn)并,同時提供換能器的激勵信號。本設(shè)計中,AD轉(zhuǎn)換芯片采用的是ADI公司的12位AD7352,該芯片具有耐高溫、功耗低等優(yōu)點。片選信號CS的周期決定了AD采樣的速率,F(xiàn)PGA為AD提供的轉(zhuǎn)換時鐘SCLK的頻率大小決定了AD的轉(zhuǎn)換時間,正常工作時,完成一個數(shù)據(jù)的轉(zhuǎn)換至少需要14個時鐘下降沿。在本設(shè)計中,綜合考慮各方面的因素,AD采樣頻率設(shè)計為2.5MHz,完成一個模擬量的轉(zhuǎn)換采用18個轉(zhuǎn)換時鐘,這樣,AD的轉(zhuǎn)換時鐘SCLK的頻率為45MHz,該時鐘由FPGA中鎖相環(huán)對50MHz的系統(tǒng)時鐘分頻得到。片選信號CS高低電平的控制采用計數(shù)器對與轉(zhuǎn)換時鐘相同的時鐘計數(shù)來實現(xiàn),每當(dāng)該時鐘的上升沿到來時,計數(shù)器加1,計數(shù)器加到17后,又從零開始循環(huán)計數(shù),當(dāng)計數(shù)器的值小于14時,將片選信號CS置低,否則置高。片選信號與轉(zhuǎn)換時鐘的時序如圖3所示。
在本部分設(shè)計中,考慮到實際應(yīng)用中需要對四個換能器接收的數(shù)據(jù)進(jìn)行采集,為了區(qū)別各個換能器的數(shù)據(jù),設(shè)計時在串轉(zhuǎn)并的過程中人為添加了四位數(shù)據(jù)作為標(biāo)志位。為了使AD的采樣率、FPGA中串轉(zhuǎn)并的速率以及FIFO的寫速率保持一致,F(xiàn)IFO的寫時鐘采用一個計數(shù)器對AD的轉(zhuǎn)換時鐘計數(shù)獲得。每當(dāng)轉(zhuǎn)換時鐘SCLK的下降沿到來時計數(shù)器加1,計數(shù)器從零到13循環(huán)計數(shù),計數(shù)器每循環(huán)一個周期就提供一個寫時鐘上升沿(寫時鐘上升沿有效),使FIFO完成一次寫操作。在AD正常工作時,第一個時鐘下降沿會輸出兩個前導(dǎo)零,然后從第二個時鐘下降沿開始依次從高位到低位輸出12位有效的數(shù)據(jù),并在第13個下降沿完成最后一位數(shù)據(jù)的輸出,最后在之后的上升沿返回跟蹤模式。因此,在串轉(zhuǎn)并時,要從第二個時鐘下降沿開始。
2.2FIFO的設(shè)計與實現(xiàn)
FIFO的主要功能是實現(xiàn)不同時鐘域之間的數(shù)據(jù)傳輸。
FIFO分為同步FIFO和異步FIFO,本設(shè)計中采用的是異步FIFO,涉及到的主要參數(shù)包括FIFO的深度,FIFO的讀、寫時鐘,F(xiàn)IFO存儲的數(shù)據(jù)的寬度和讀、寫指針等??紤]到AD采樣速率為2.5MHz,每次開始轉(zhuǎn)換后持續(xù)的時間大約為600ns,因此,F(xiàn)IFO需要緩存的數(shù)據(jù)大約為1500個,Aetel公司的APA075中有12個256X9的RAM空間,最多能緩存1536個16位的數(shù)據(jù)。為了保險起見,FIFO的深度設(shè)計成1536,根據(jù)實際應(yīng)用的需求,F(xiàn)IFO的寬度設(shè)計成16位,寫時鐘頻率和AD采樣頻率保持一致,讀時鐘頻率和串口傳輸速率保持一致。同時,為了防止數(shù)據(jù)溢出或讀取無效的數(shù)據(jù),FIFO的設(shè)計采用了空滿標(biāo)志位。當(dāng)FIFO寫滿時,滿標(biāo)志位置1,禁止繼續(xù)向FIFO中寫入數(shù)據(jù);當(dāng)FIFO為空時,禁止從FIFO中繼續(xù)讀取數(shù)據(jù)??諠M標(biāo)志的準(zhǔn)確判斷是FIFO設(shè)計的一大難點,本設(shè)計中采用了列舉的算法實現(xiàn)空滿標(biāo)志的判斷。FIFO寫滿有以下兩種情況:第一,寫指針加1等于讀指針,并且寫使能有效,再繼續(xù)寫操作時,FIFO就為滿,滿標(biāo)志位置1;第二,寫指針加1等于FIFO的深度并且讀指針為零,再繼續(xù)寫操作時,FIFO就為滿,滿標(biāo)志位置1。與滿標(biāo)志情況類似,F(xiàn)IFO讀空也有以下兩種情況:第一,讀指針加1等于寫指針,再繼續(xù)讀操作時,FIFO就為空,空標(biāo)志位置1;第二,讀指針加1等于FIFO的深度并且寫指針為零,再繼續(xù)讀操作時,FIFO就為空,這時,空標(biāo)志位置1。
2.3串口發(fā)送的設(shè)計與實現(xiàn)
串口發(fā)送模塊負(fù)責(zé)把處理后的數(shù)據(jù)從FIFO中讀出,將其按通信協(xié)議傳送給MAX232完成電平轉(zhuǎn)換后送給PC機(jī)。發(fā)送數(shù)據(jù)采用的波特率是9600,數(shù)據(jù)幀格式如圖4所示。
本設(shè)計的數(shù)據(jù)幀格式為1位起始位,8位數(shù)據(jù)位,1位停止位,沒有奇偶校驗位,本設(shè)計采用連續(xù)兩次發(fā)送來解決發(fā)送16位數(shù)據(jù)的問題。為了保持讀FIFO的速率與發(fā)送數(shù)據(jù)的速率一致,F(xiàn)IFO的讀時鐘根據(jù)串口發(fā)送一個完整數(shù)據(jù)的速度來確定。
3測試結(jié)果
在實驗室自制的最小系統(tǒng)板上,模擬換能器給AD提供一個250kHz的正弦信號,在上位機(jī)串口調(diào)試小助手上接收到的數(shù)據(jù)運用Matlab畫出的圖形如圖5所示。圖5中,縱坐標(biāo)是幅值,橫坐標(biāo)是所取點的個數(shù)。
4結(jié)語
可以看出,本設(shè)計中每個周期的正弦波包含有10個點。由于我們輸入的是250kHz的正弦波,AD采樣頻率是2.5MHz,通過理論計算,每個周期應(yīng)該包含的點數(shù)為2.5MHz/250kHz=10,可見設(shè)計與實際測試的結(jié)果相符。另外,從測試結(jié)果圖中還可以看出,其幅值與所給的幅值也相符,測試結(jié)果也表明了該設(shè)計的合理性。
20211017_616c2a272c84d__超聲波隨鉆井徑檢測儀的數(shù)據(jù)采集與傳輸