成曉煒,范濤
(西安石油大學(xué)電子工程學(xué)院,西安710065)
在石油鉆井中,獲得精確的鉆具姿態(tài)信息(井斜角I、方位角A、工具面角T)是實(shí)現(xiàn)井下全角度導(dǎo)向鉆井的關(guān)鍵因素[1-2]。石油鉆井中使用測(cè)斜儀對(duì)井下鉆具姿態(tài)參數(shù)進(jìn)行測(cè)量,受機(jī)械制造、加工,以及傳感器安裝等工藝水平的影響,實(shí)際上測(cè)斜儀各軸與理想坐標(biāo)系各軸并不重合,即存在位置誤差。位置誤差引起的井斜角測(cè)量誤差可達(dá)30%,嚴(yán)重影響鉆具姿態(tài)測(cè)量的精確性。在如今石油鉆井中,井上工作人員需要對(duì)井下的工況進(jìn)行實(shí)時(shí)的掌握,這就需要對(duì)井下鉆具的姿態(tài)信息,溫度等信息進(jìn)行實(shí)時(shí)的采集。早期采用單片機(jī)對(duì)井下各種參數(shù)進(jìn)行數(shù)據(jù)的采集,但其外設(shè)硬件電路設(shè)計(jì)復(fù)雜、數(shù)據(jù)處理能力不強(qiáng)、運(yùn)算速度慢,因此并不適合如今的設(shè)計(jì)[3-4]。
針對(duì)以上問(wèn)題,系統(tǒng)選用TMS320F2812作為核心控制器。這款DSP芯片硬件支持32位定點(diǎn)數(shù)快速運(yùn)算、代碼編寫(xiě)簡(jiǎn)單、精度高、算法移植性好,具備ADC、SPI、SCI等豐富功能外設(shè),可簡(jiǎn)化硬件電路的設(shè)計(jì)難度。本系統(tǒng)使用ADI公司生產(chǎn)的模數(shù)轉(zhuǎn)換芯片AD7606進(jìn)行數(shù)據(jù)的采集,AD7606是一款16位8通道的雙極性同步采樣SAR ADC,具有片內(nèi)過(guò)壓保護(hù)功能,可簡(jiǎn)化信號(hào)調(diào)理電路,降低成本。
系統(tǒng)采用TI公司生產(chǎn)的TMS320F2812型DSP為系統(tǒng)主控芯片,其為32位定點(diǎn)微控制處理器,主頻高達(dá)150MHz,芯片內(nèi)核采用1.9V直流電源供電,外設(shè)引腳采用3.3V直流電源供電,其外設(shè)硬件電路主要包括電源供電電路、時(shí)鐘電路、復(fù)位電路、TATG仿真接口電路等,并且具備SPI、SCI、CAN 等總線接口,體積小,性能強(qiáng),外設(shè)集成度高,同時(shí)對(duì)于不同的工作環(huán)境擁有不同溫度級(jí)別的芯片,可適用于多種控制類(lèi)工業(yè)設(shè)備。
本設(shè)計(jì)采用16位8通道AD7606,片內(nèi)集成輸入放大器、過(guò)壓保護(hù)電路、二階模擬抗混疊濾波器、模擬多路復(fù)用器、2.5V基準(zhǔn)電壓源、基準(zhǔn)電壓緩沖以及高速串行和并行接口。AD7606采用單電源5V供電,可以對(duì)±5V和±10V真雙極性輸入信號(hào),同時(shí)所有通道均能以高達(dá)200KSPS的吞吐速率采樣。AD7606共有64個(gè)引腳,除去供電與接地的部分引腳外,
DB0~DB15引腳表示并行數(shù)據(jù)輸出位,用來(lái)傳輸AD轉(zhuǎn)換得到的數(shù)據(jù),是ADC與控制器之間進(jìn)行數(shù)據(jù)通信的通道。REFIN/REFOUT引腳表示基準(zhǔn)電壓輸入/輸出,如果此引腳置高時(shí),將提供2.5V片內(nèi)基準(zhǔn)電壓供外部使用;置低時(shí),可以將外部的2.5V基準(zhǔn)電壓供給AD使用[5]。
系統(tǒng)總體硬件設(shè)計(jì)如下圖所示,主要包括DSP的最小系統(tǒng)和AD采樣模塊電路。DSP最小系統(tǒng)包括由TPS767D301組成的芯片供電電路、時(shí)鐘電路、復(fù)位電路、JATG仿真接口電路。AD模塊主要是將傳感器采集到的信號(hào)經(jīng)過(guò)數(shù)字濾波后傳到AD7606進(jìn)行數(shù)據(jù)的模數(shù)轉(zhuǎn)換,AD采樣值為±10V。為提高系統(tǒng)的數(shù)據(jù)采集精度,系統(tǒng)采用ADR421基準(zhǔn)電壓芯片為ADC提供基準(zhǔn)電壓,ADC將采集到的信號(hào)通過(guò)DB0~DB15引腳與DSP的外部接口XINTF連接進(jìn)行數(shù)據(jù)的通信。
圖1 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)軟件部分采用模塊化編程,系統(tǒng)控制程序主要由主程序、XINTF子程序、定時(shí)器中斷子程序、AD7606初始化程序等組成。系統(tǒng)主程序如圖2所示,主要負(fù)責(zé)DSP系統(tǒng)的初始化,包括時(shí)鐘初始化、中斷初始化、初始化系統(tǒng)等任務(wù)[6]。
圖2 系統(tǒng)主程序流程圖
XINTF子程序主要完成的是AD7606與DSP芯片之間的數(shù)據(jù)通信。TMS320F2812的外部接口XINTF采用非復(fù)用異步總線,通常用來(lái)擴(kuò)展SRAM、ADC等模塊。XINTF接口是DSP2812與外部設(shè)備進(jìn)行通信的重要接口,這些接口與DSP片內(nèi)的存儲(chǔ)空間相互對(duì)應(yīng),當(dāng)ADC與DSP通信時(shí),DSP處理器通過(guò)對(duì)存儲(chǔ)空間進(jìn)行讀/寫(xiě)操作,從而控制外部接口,在使用XINTF與AD7606進(jìn)行通信時(shí),無(wú)論是讀操作還是寫(xiě)操作,DSP都作為主設(shè)備,外部設(shè)備作為從設(shè)備,ADC不能控制F2812的外部接口信號(hào)線,只能讀取、判斷信號(hào)線的狀態(tài),來(lái)進(jìn)行數(shù)據(jù)的傳輸。
定時(shí)器中斷子程序用來(lái)提供一個(gè)中斷信號(hào),用來(lái)啟動(dòng)ADC模塊,通過(guò)查閱AD7606的數(shù)據(jù)手冊(cè),配合ADC時(shí)序圖,中斷子程序可以更加快速地進(jìn)行ADC模塊的啟動(dòng)與運(yùn)行。
ADC初始程序主要功能在于DSP對(duì)于ADC芯片的控制,DSP提供控制信號(hào),用來(lái)進(jìn)行ADC的啟動(dòng)、數(shù)據(jù)傳輸、時(shí)序控制等,其部分程序如下所示:
interrupt void cpu_timer0_isr(void)
SET_ADCLK;//啟動(dòng)轉(zhuǎn)換信號(hào)
DELAY_US(1);//給予適當(dāng)?shù)碾娖窖訒r(shí)
CLR_ADCLK;
DELAY_US(1);
while(AD_BUSY)//等待轉(zhuǎn)換結(jié)束
for(i=0;i<8;i++)
DOUT[i]=AD7656_BASIC;//讀取 8路 AD通道數(shù)據(jù)
conv_flg=1;
EALLOW;//確認(rèn)此中斷以從組1接收更多中斷
PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;
EDIS;}
為了驗(yàn)證該數(shù)據(jù)采集系統(tǒng)的可行性,對(duì)其進(jìn)行性能測(cè)試,輸入信號(hào)為Keithley 2280S-32-6高精度測(cè)量直流電源給出,測(cè)量值由AD采樣模塊通過(guò)數(shù)據(jù)采集經(jīng)過(guò)數(shù)據(jù)重建得到,由表1可以看出該數(shù)據(jù)采集系統(tǒng)的誤差值在0.01V以下,而DSP2812內(nèi)部的12位AD采樣模塊采樣精度在0.1V,可見(jiàn)此數(shù)據(jù)采集系統(tǒng)的精度要比利用單片機(jī)內(nèi)部采樣模塊精度提高十倍以上。
表1 AD采樣結(jié)果測(cè)試
本文描述了以16位AD采樣芯片AD7606和TI公司TMS320F2812型DSP分別為采樣芯片和控制芯片的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),給出了AD7606以及DSP硬件連接方案,同時(shí)提出了軟件編程的基本框架。目前該軟硬件設(shè)計(jì)方案已經(jīng)運(yùn)用在具體數(shù)據(jù)采集實(shí)驗(yàn)測(cè)試當(dāng)中,8通道的數(shù)據(jù)采集可以實(shí)現(xiàn)井下工況的多種信號(hào)同時(shí)測(cè)量,具有實(shí)際的使用和參考作用。