成曉煒,范濤
(西安石油大學電子工程學院,西安710065)
在石油鉆井中,獲得精確的鉆具姿態(tài)信息(井斜角I、方位角A、工具面角T)是實現井下全角度導向鉆井的關鍵因素[1-2]。石油鉆井中使用測斜儀對井下鉆具姿態(tài)參數進行測量,受機械制造、加工,以及傳感器安裝等工藝水平的影響,實際上測斜儀各軸與理想坐標系各軸并不重合,即存在位置誤差。位置誤差引起的井斜角測量誤差可達30%,嚴重影響鉆具姿態(tài)測量的精確性。在如今石油鉆井中,井上工作人員需要對井下的工況進行實時的掌握,這就需要對井下鉆具的姿態(tài)信息,溫度等信息進行實時的采集。早期采用單片機對井下各種參數進行數據的采集,但其外設硬件電路設計復雜、數據處理能力不強、運算速度慢,因此并不適合如今的設計[3-4]。
針對以上問題,系統(tǒng)選用TMS320F2812作為核心控制器。這款DSP芯片硬件支持32位定點數快速運算、代碼編寫簡單、精度高、算法移植性好,具備ADC、SPI、SCI等豐富功能外設,可簡化硬件電路的設計難度。本系統(tǒng)使用ADI公司生產的模數轉換芯片AD7606進行數據的采集,AD7606是一款16位8通道的雙極性同步采樣SAR ADC,具有片內過壓保護功能,可簡化信號調理電路,降低成本。
系統(tǒng)采用TI公司生產的TMS320F2812型DSP為系統(tǒng)主控芯片,其為32位定點微控制處理器,主頻高達150MHz,芯片內核采用1.9V直流電源供電,外設引腳采用3.3V直流電源供電,其外設硬件電路主要包括電源供電電路、時鐘電路、復位電路、TATG仿真接口電路等,并且具備SPI、SCI、CAN 等總線接口,體積小,性能強,外設集成度高,同時對于不同的工作環(huán)境擁有不同溫度級別的芯片,可適用于多種控制類工業(yè)設備。
本設計采用16位8通道AD7606,片內集成輸入放大器、過壓保護電路、二階模擬抗混疊濾波器、模擬多路復用器、2.5V基準電壓源、基準電壓緩沖以及高速串行和并行接口。AD7606采用單電源5V供電,可以對±5V和±10V真雙極性輸入信號,同時所有通道均能以高達200KSPS的吞吐速率采樣。AD7606共有64個引腳,除去供電與接地的部分引腳外,
DB0~DB15引腳表示并行數據輸出位,用來傳輸AD轉換得到的數據,是ADC與控制器之間進行數據通信的通道。REFIN/REFOUT引腳表示基準電壓輸入/輸出,如果此引腳置高時,將提供2.5V片內基準電壓供外部使用;置低時,可以將外部的2.5V基準電壓供給AD使用[5]。
系統(tǒng)總體硬件設計如下圖所示,主要包括DSP的最小系統(tǒng)和AD采樣模塊電路。DSP最小系統(tǒng)包括由TPS767D301組成的芯片供電電路、時鐘電路、復位電路、JATG仿真接口電路。AD模塊主要是將傳感器采集到的信號經過數字濾波后傳到AD7606進行數據的模數轉換,AD采樣值為±10V。為提高系統(tǒng)的數據采集精度,系統(tǒng)采用ADR421基準電壓芯片為ADC提供基準電壓,ADC將采集到的信號通過DB0~DB15引腳與DSP的外部接口XINTF連接進行數據的通信。

圖1 系統(tǒng)結構圖
系統(tǒng)軟件部分采用模塊化編程,系統(tǒng)控制程序主要由主程序、XINTF子程序、定時器中斷子程序、AD7606初始化程序等組成。系統(tǒng)主程序如圖2所示,主要負責DSP系統(tǒng)的初始化,包括時鐘初始化、中斷初始化、初始化系統(tǒng)等任務[6]。

圖2 系統(tǒng)主程序流程圖
XINTF子程序主要完成的是AD7606與DSP芯片之間的數據通信。TMS320F2812的外部接口XINTF采用非復用異步總線,通常用來擴展SRAM、ADC等模塊。XINTF接口是DSP2812與外部設備進行通信的重要接口,這些接口與DSP片內的存儲空間相互對應,當ADC與DSP通信時,DSP處理器通過對存儲空間進行讀/寫操作,從而控制外部接口,在使用XINTF與AD7606進行通信時,無論是讀操作還是寫操作,DSP都作為主設備,外部設備作為從設備,ADC不能控制F2812的外部接口信號線,只能讀取、判斷信號線的狀態(tài),來進行數據的傳輸。
定時器中斷子程序用來提供一個中斷信號,用來啟動ADC模塊,通過查閱AD7606的數據手冊,配合ADC時序圖,中斷子程序可以更加快速地進行ADC模塊的啟動與運行。
ADC初始程序主要功能在于DSP對于ADC芯片的控制,DSP提供控制信號,用來進行ADC的啟動、數據傳輸、時序控制等,其部分程序如下所示:
interrupt void cpu_timer0_isr(void)
SET_ADCLK;//啟動轉換信號
DELAY_US(1);//給予適當的電平延時
CLR_ADCLK;
DELAY_US(1);
while(AD_BUSY)//等待轉換結束
for(i=0;i<8;i++)
DOUT[i]=AD7656_BASIC;//讀取 8路 AD通道數據
conv_flg=1;
EALLOW;//確認此中斷以從組1接收更多中斷
PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;
EDIS;}
為了驗證該數據采集系統(tǒng)的可行性,對其進行性能測試,輸入信號為Keithley 2280S-32-6高精度測量直流電源給出,測量值由AD采樣模塊通過數據采集經過數據重建得到,由表1可以看出該數據采集系統(tǒng)的誤差值在0.01V以下,而DSP2812內部的12位AD采樣模塊采樣精度在0.1V,可見此數據采集系統(tǒng)的精度要比利用單片機內部采樣模塊精度提高十倍以上。

表1 AD采樣結果測試
本文描述了以16位AD采樣芯片AD7606和TI公司TMS320F2812型DSP分別為采樣芯片和控制芯片的數據采集系統(tǒng)的設計,給出了AD7606以及DSP硬件連接方案,同時提出了軟件編程的基本框架。目前該軟硬件設計方案已經運用在具體數據采集實驗測試當中,8通道的數據采集可以實現井下工況的多種信號同時測量,具有實際的使用和參考作用。