文獻(xiàn)標(biāo)識(shí)碼: B
隨著數(shù)字化與測(cè)井技術(shù)的發(fā)展,對(duì)測(cè)井系統(tǒng)的穩(wěn)定性、可靠性、兼容性、可升級(jí)性等性能提出了更高的要求,本文提出了一種適用于測(cè)井系統(tǒng)設(shè)備的CPCI(Compact PCI)高性能數(shù)據(jù)采集板卡硬件設(shè)計(jì)方案,能夠有效地處理來(lái)自井下的復(fù)雜信號(hào),并通過(guò)256 MB/s 高速CPCI總線橋接到主控設(shè)備。
本板卡實(shí)現(xiàn)的主要功能是井下Encoder(深度脈沖)、Tension(張力)、MMD(Magnetic Mark Detection)和CCL(Casing Collar Locator)等信號(hào)的實(shí)時(shí)采集,采集數(shù)據(jù)在DSP中完成預(yù)處理,通過(guò)CPCI總線送入主控制器分析使用,此外,板卡還實(shí)現(xiàn)上電自診斷,關(guān)鍵數(shù)據(jù)在FRAM中的及時(shí)存儲(chǔ),RS232 串口定時(shí)發(fā)送深度數(shù)據(jù)和接收控制命令等其他功能。
1 板卡總體結(jié)構(gòu)
整個(gè)板卡由FPGA、PCI橋片、DSP、A/D和D/A五大部分組成,其中FPGA選用Altera公司高性能低功耗Cyclone III系列芯片,PCI橋片選用PLX公司32 bit 66 MHz PCI9056芯片,DSP選用TI公司TMS320F2812芯片,A/D選用ADI公司16 bit 200 kS/s高精度高速采集芯片AD974,板卡結(jié)構(gòu)框圖如圖1所示。該板卡工作過(guò)程是:板卡上電后,PCI9056向FPGA發(fā)出指令控制D/A產(chǎn)生診斷信號(hào),診斷信號(hào)經(jīng)由板卡各級(jí)模擬通路后環(huán)回到FPGA,然后FPGA把采集到的診斷信號(hào)送入DSP,DSP再通過(guò)FPGA把數(shù)據(jù)送回CPCI總線,完成整個(gè)板卡硬件的自診斷。自診斷完成后,D/A處于非工作狀態(tài),各信號(hào)由井下電纜送入,經(jīng)過(guò)多級(jí)濾波放大后進(jìn)行A/D采集,F(xiàn)PGA完成Tension、MMD和CCL等信號(hào)的采集和Encoder信號(hào)的處理,最終把數(shù)據(jù)送入DSP進(jìn)行預(yù)處理,經(jīng)DSP處理好的數(shù)據(jù)由CPCI總線送回主控制器。
2 板卡硬件設(shè)計(jì)
2.1 FPGA控制器的總體設(shè)計(jì)
本板卡的數(shù)字系統(tǒng)共有2個(gè)主控制器,分別為數(shù)據(jù)采集板卡上的DSP和CPCI總線上的CPU主控機(jī),板卡使用PCI9056橋片實(shí)現(xiàn)CPCI總線與局部總線間的轉(zhuǎn)化, DSP與CPCI總線通過(guò)中斷方式實(shí)現(xiàn)數(shù)據(jù)交換。其中FPGA調(diào)用QUARTUS軟件自帶IP核實(shí)現(xiàn)32 KB雙口RAM,并把雙口RAM分成大小相等的兩部分,一部分用于CPCI總線向DSP傳輸數(shù)據(jù),另一部分用于DSP向CPCI總線傳輸數(shù)據(jù),避免了總裁的使用和數(shù)據(jù)的丟失。FPGA作為數(shù)據(jù)采集板卡數(shù)據(jù)中轉(zhuǎn)站的同時(shí),主要實(shí)現(xiàn)A/D數(shù)據(jù)的采集,Encoder脈沖信號(hào)的去抖動(dòng)處理、計(jì)數(shù)和相位判斷。FPGA實(shí)現(xiàn)功能框圖如圖2所示。
2.2 A/D數(shù)據(jù)采集模塊設(shè)計(jì)
Tension、MMD和CCL等信號(hào)均是來(lái)自井下的低頻微弱小信號(hào),并且由于井下環(huán)境復(fù)雜,信號(hào)容易被干擾,處理不當(dāng)容易造成數(shù)據(jù)失效,所以本板卡對(duì)三種信號(hào)在模擬電路上做了多級(jí)濾波放大處理。經(jīng)實(shí)際環(huán)境測(cè)試,三路信號(hào)的主要輸入干擾集中在60 Hz以上,因此在輸入端設(shè)計(jì)40 Hz、70 Hz和120 Hz三階RC濾波電路做前級(jí)濾波處理,使濾波器具有窄的過(guò)渡帶,有效的濾除60 Hz以上的干擾信號(hào),避免干擾信號(hào)進(jìn)一步放大無(wú)法濾除,圖3(a)為前級(jí)濾波電路的頻譜特性仿真結(jié)果。為了便于信號(hào)的采集,需設(shè)計(jì)運(yùn)放電路將信號(hào)放大至A/D量程范圍,這就不可避免會(huì)引入PCB、運(yùn)放等造成的中高頻噪聲,所以在信號(hào)進(jìn)入A/D前做了進(jìn)一步有源濾波處理,圖3(b)為有源濾波器的頻譜特性仿真結(jié)果。實(shí)際測(cè)試結(jié)果也證明經(jīng)過(guò)多級(jí)濾波,電路抗干擾能力明顯增強(qiáng)。
本設(shè)計(jì)選用了高速高精度ADC AD974芯片,在4個(gè)通道間以輪詢方式進(jìn)行采樣,每個(gè)通道的實(shí)際采樣轉(zhuǎn)換率為50 kS/s,在FPGA中設(shè)置一個(gè)數(shù)據(jù)更新寄存器,進(jìn)行每一次數(shù)據(jù)采集完成的實(shí)時(shí)跟蹤。此種工作方式是否能可靠穩(wěn)定地采集數(shù)據(jù)關(guān)鍵有兩點(diǎn),一是外部時(shí)鐘頻率是否適中,本設(shè)計(jì)采用12 MHz的頻率,二是要保證A/D內(nèi)部的采樣時(shí)間(Acquisition Time)不能小于1 μs,并且4個(gè)通道在輪詢切換時(shí),地址鎖存信號(hào)WR1和WR2要在采樣前一個(gè)周期設(shè)置完成。
AD974在板卡上電后用Quartus II SignalTap實(shí)時(shí)觀測(cè)的時(shí)序如圖4所示。其中ADC_A0和ADC_A1為A/D4個(gè)通道地址編碼信號(hào),ADC_WR0_N和ADC_WR1_N為地址鎖存信號(hào),低電平有效,當(dāng)前鎖存地址作為下一次采集通道有效地址。當(dāng)ADC_RC_N信號(hào)置為低電平時(shí)A/D開(kāi)始將采集到的模擬信號(hào)向數(shù)字信號(hào)轉(zhuǎn)換,并在此時(shí)送出一個(gè)時(shí)鐘周期的ADC_DATACLK信號(hào),使能A/D同步信號(hào),此時(shí)如果A/D空閑則ADC_BUSY_N信號(hào)自動(dòng)拉低,表示A/D已經(jīng)開(kāi)始轉(zhuǎn)換數(shù)據(jù),隨后將ADC_RC_N置高并送出采樣時(shí)鐘信號(hào),便可在ADC_DATA上開(kāi)始讀前一次轉(zhuǎn)換完成的數(shù)據(jù)。當(dāng)本次A/D數(shù)據(jù)轉(zhuǎn)換完成后ADC_BUSY_N信號(hào)將自動(dòng)置高,表明A/D本次轉(zhuǎn)換完成,進(jìn)入下一次模擬信號(hào)采樣。
2.3 Encoder信號(hào)處理模塊設(shè)計(jì)
Encoder信號(hào)在實(shí)際設(shè)備上分為兩路信號(hào),分別為A信號(hào)和B信號(hào),當(dāng)井下設(shè)備上提時(shí)A信號(hào)相位超前B信號(hào)90°,當(dāng)井下設(shè)備下放時(shí)A信號(hào)相位滯后B信號(hào)90°,脈沖信號(hào)的數(shù)量體現(xiàn)測(cè)井設(shè)備在井下的深度,此信號(hào)是測(cè)井系統(tǒng)的重要信號(hào)之一,如果測(cè)量不準(zhǔn), 可能會(huì)導(dǎo)致測(cè)井資料作廢, 甚至帶來(lái)生產(chǎn)事故。實(shí)測(cè)Encoder信號(hào)從井下設(shè)備傳送到地面時(shí),會(huì)有尖峰脈沖干擾引入,所以本板卡在硬件上采用RC無(wú)源濾波器去除信號(hào)的尖峰脈沖,通過(guò)FPGA在軟件上對(duì)信號(hào)進(jìn)行去抖動(dòng)處理、計(jì)數(shù)和相位判斷,能夠準(zhǔn)確計(jì)數(shù)并與系統(tǒng)時(shí)鐘同步。
FPGA中對(duì)Encoder脈沖信號(hào)的去抖動(dòng)處理和相位判斷設(shè)計(jì)電路見(jiàn)圖5,其中depth_pluse為去抖動(dòng)后的脈沖信號(hào),結(jié)合depth_dir完成脈沖計(jì)數(shù),當(dāng)depth_dir為正時(shí),計(jì)數(shù)脈沖自加,depth_dir為負(fù)時(shí),脈沖計(jì)數(shù)自減。本文用QUARTUS軟件自帶仿真工具對(duì)Encoder信號(hào)做的仿真波形,見(jiàn)圖6,如波形所示,在時(shí)間節(jié)點(diǎn)619.9 ns、1.069 9 μs和1.489 9 ?μs處分別對(duì)A信號(hào)和B信號(hào)加入了干擾脈沖,但結(jié)果表明本設(shè)計(jì)可以對(duì)干擾脈沖完全濾除。
本文給出了一種高性能測(cè)井?dāng)?shù)據(jù)采集板卡的設(shè)計(jì)方法,板卡在設(shè)計(jì)中,模擬部分采用多級(jí)濾波、高精度A/D,使得數(shù)據(jù)采集穩(wěn)定可靠,Encoder深度脈沖信號(hào)在硬件濾波的基礎(chǔ)上做了軟件優(yōu)化處理,明顯增強(qiáng)了抗干擾能力,數(shù)字部分采用FPGA和DSP相結(jié)合,使板卡具有很高的靈活性、可靠性和可升級(jí)性。經(jīng)大量測(cè)試,板卡運(yùn)行穩(wěn)定,并在實(shí)際系統(tǒng)中得到應(yīng)用。
參考文獻(xiàn)
[1] PICMG. Compact PCI specification 2.0 R3.0, 1999.
[2] PLX Technology Inc. Compact PCI 9056RDK-860 Hardware Reference Manual Version 1.1. 2004.
[3] PLX Technology Inc. PCI 9056 Data Book Version 1.2. 2008.
[4] ALTERA Inc. Cyclone III Device Handbook Version 2.1. 2008.
[5] ALTERA Inc. Cyclone III Device Datasheet Version 2.2. 2008.
[6] Texas Instruments Inc. TMS320C2812 Digital Signal Processors Data Manual. 2007.
[7] Analog Devices Inc. AD974 Datasheet. 1999.
[8] 黨瑞榮,湯小松,苗強(qiáng). 基于DSP和FPGA的測(cè)井?dāng)?shù)據(jù)采集系統(tǒng)的設(shè)計(jì) [J]. 石油儀器, 2008,22(2):83-88.
[9] 吳愛(ài)平, 付青青. 基于FPGA 的測(cè)井深度系統(tǒng)設(shè)計(jì)[J].長(zhǎng)江大學(xué)學(xué)報(bào)(自科版), 2006,3(4):102-104.