作者:周靜 ,樊晶晶 ,牛潔 ,丁旭東
從上個(gè)世紀(jì)九十年代起,電子技術(shù)在鉆井井下得到應(yīng)用。但井下鉆具的振動(dòng)會(huì)給很多傳感器帶來不利影響。
特別是對(duì)測(cè)量井下鉆頭姿態(tài)的慣性導(dǎo)航傳感器影響巨大,在隨鉆振動(dòng)環(huán)境中,如果對(duì)信號(hào)不作處理,根本就不能測(cè)量出正確的井斜角和方位角,也就無法實(shí)現(xiàn)井眼軌跡隨鉆控制的要求。本文介紹應(yīng)用SoC芯片中的DMA技術(shù)對(duì)振動(dòng)的高速采集和存儲(chǔ)功能的實(shí)現(xiàn)方法,并給出了鉆井環(huán)境中測(cè)試的結(jié)果。
1 方法的提出
傳統(tǒng)的數(shù)據(jù)采集方法采用CPU直接控制的方式進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)傳送需要經(jīng)過CPU的中轉(zhuǎn)才能存入存儲(chǔ)器,傳送速度慢且采集速率受到CPU的限制,極大影響了系統(tǒng)的采樣頻率,不能滿足對(duì)振動(dòng)信號(hào)高速采集的要求。而在DMA傳送方式下,數(shù)據(jù)傳送不經(jīng)過CPU,由DMA控制器來實(shí)現(xiàn)內(nèi)存和外設(shè)之間數(shù)據(jù)的直接快速傳送。在XTCS的測(cè)控系統(tǒng)中,CPU采用的SoC芯片中集成有DMA,將其與其它器件協(xié)同工作就可以實(shí)現(xiàn)采集與存儲(chǔ)的同時(shí)進(jìn)行,達(dá)到高速采集信號(hào)的目的,得到高保真的井下振動(dòng)信號(hào)。
2 系統(tǒng)介紹
該采集系統(tǒng)以C8051F060 SoC為核心,C8051F060內(nèi)部集成有ADC和DMA。另外,以大容量存儲(chǔ)芯片K9F2808作為數(shù)據(jù)存儲(chǔ)器。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 信號(hào)采集系統(tǒng)結(jié)構(gòu)圖
該系統(tǒng)應(yīng)用于井下相關(guān)信號(hào)的檢測(cè)裝置。由于通過壓力與振動(dòng)傳感器所采集的壓力和振動(dòng)信號(hào)比較微弱,故還需放大電路對(duì)信號(hào)進(jìn)行調(diào)理放大。傳感器的輸出均為模擬信號(hào),采集數(shù)據(jù)時(shí)會(huì)受到噪聲的干擾,為了消除噪聲并提高電路的共模抑制比和輸入阻抗,該采集放大電路使用了前置輸入緩沖器三運(yùn)放結(jié)構(gòu)。由于SoC內(nèi)的ADC0只能采集正信號(hào),因而在經(jīng)過調(diào)理放大電路后設(shè)有偏置電路,將-5V ~ +5V的電壓轉(zhuǎn)換為0V~+2.5V,以利于信號(hào)的采集。
CPU控制多路選擇開關(guān)進(jìn)行信號(hào)的采集,然后通過ADC轉(zhuǎn)換,在DMA的傳送方式下,采集的數(shù)據(jù)直接寫入存儲(chǔ)器K9F2808中,在DMA存儲(chǔ)數(shù)據(jù)的同時(shí),ADC也一直進(jìn)行采集。經(jīng)軟件測(cè)試,即采用SoC內(nèi)集成的定時(shí)器2記錄采集一頁512個(gè)字節(jié)所需時(shí)間是1.277ms,而向片外存儲(chǔ)器K9F2808寫一頁數(shù)據(jù)需要0.722ms。
ADC采集一頁的時(shí)間小于DMA向片外寫一頁數(shù)據(jù)的時(shí)間,因而可實(shí)現(xiàn)數(shù)據(jù)采集與存儲(chǔ)的同時(shí)進(jìn)行,而不會(huì)出現(xiàn)數(shù)據(jù)覆蓋丟失現(xiàn)象,實(shí)現(xiàn)快速準(zhǔn)確的數(shù)據(jù)采集。
3 硬件部分
C8051F060單片機(jī)與51系列單片機(jī)內(nèi)核兼容,其內(nèi)部集成有兩個(gè)16位SAR(逐次比較)ADC和一個(gè)DMA功能模塊。片內(nèi)有4352個(gè)字節(jié)的數(shù)據(jù)存儲(chǔ)器、64KB 閃存和64KB的數(shù)據(jù)存儲(chǔ)器接口,可以進(jìn)行系統(tǒng)編程。兩個(gè)SAR ADC的精度為16位,可作為兩個(gè)單端或一個(gè)差分轉(zhuǎn)換器。若采用DMA直接將數(shù)據(jù)存儲(chǔ)到RAM中,就不再需要額外的軟件開銷。
K9F2808UOC存儲(chǔ)器是NAND結(jié)構(gòu)的超大容量數(shù)據(jù)存儲(chǔ)器件,在MP3、U盤、數(shù)碼相機(jī)和PDA中有廣泛的應(yīng)用。其電源電壓為1.7V~3.6V,體積小,功耗低,按頁進(jìn)行讀寫,按塊擦除,通過I/O口分時(shí)復(fù)用作為命令/地址/數(shù)據(jù),端口支持實(shí)時(shí)雙向輸入輸出。將閃存的各控制端口與SoC的P3口連接,通用I/O口與SoC的P7口連接,通過控制SoC口線的輸出,可實(shí)現(xiàn)對(duì)FLASH存儲(chǔ)器的讀、寫、擦除操作。圖2為芯片的接口電路圖。
圖2 芯片接口電路圖
4 A/D轉(zhuǎn)換與數(shù)據(jù)存儲(chǔ)
C8051F060的ADC子系統(tǒng)中集成了跟蹤保持電路、可編程窗口檢測(cè)器和DMA接口。這兩個(gè)ADC可以被配置為兩個(gè)獨(dú)立的單端方式ADC或組成一個(gè)差分對(duì)。數(shù)據(jù)轉(zhuǎn)換方式、窗口檢測(cè)器和DMA接口都可用軟件特殊功能寄存器來控制。ADC控制寄存器ADCnCN中的ADnEN位被置為邏輯1時(shí)ADCn被使能。該系統(tǒng)選用的ADC0有4種轉(zhuǎn)換啟動(dòng)方式,由ADC0CN中的ADC0啟動(dòng)轉(zhuǎn)換方式位(AD0CM1,AD0CM0)的狀態(tài)決定。該測(cè)控系統(tǒng)軟件采用定時(shí)器3溢出進(jìn)行定時(shí)的連續(xù)轉(zhuǎn)換采集。將ADC初始化后,定時(shí)器3溢出一次ADC就自動(dòng)采集一次。當(dāng)采集完一頁的數(shù)據(jù)后,在DMA傳送方式下,采集的數(shù)據(jù)直接存儲(chǔ)到片外的閃存存儲(chǔ)器K9F2808中,并對(duì)該芯片進(jìn)行讀、寫及擦除。
在該測(cè)控系統(tǒng)中,采用VB語言編寫上位機(jī)程序,采用C51語言編寫下位機(jī)程序。通過上位機(jī)來控制下位機(jī)執(zhí)行相應(yīng)的任務(wù)。由于該系統(tǒng)的SoC集成有UART,可以通過PC機(jī)的RS232串口實(shí)現(xiàn)通信,下位機(jī)每次接收到任務(wù)命令后,下位機(jī)程序跳入到相應(yīng)的串行中斷程序中執(zhí)行任務(wù)。下位機(jī)主程序包括連續(xù)啟動(dòng)DMA程序、調(diào)用片外存儲(chǔ)器K9F2808UOC的寫程序,將用DMA方式采集的512字節(jié)送到K9F2808中,實(shí)現(xiàn)采集與存儲(chǔ)同步進(jìn)行。主程序流程圖如圖3所示。子程序主要包括:晶振初始化、端口初始化、串口初始化、ADC初始化、DMA初始化、定時(shí)器3初始化、片外存儲(chǔ)器K9F2808UOC的擦除程序、延遲程序等。
圖3 下位機(jī)主程序流程圖
這里,晶振初始化主要完成對(duì)外部振蕩器使用的配置;端口初始化完成對(duì)端口p0~p7的初始化配置;串口初始化完成對(duì)定時(shí)計(jì)數(shù)器T0和T1的配置及對(duì)波特率的設(shè)定;ADC0初始化對(duì)ADC0進(jìn)行配置;DMA0初始化主要完成對(duì)DMA0的配置,設(shè)置外部數(shù)據(jù)存儲(chǔ)器開始值,ADC0開啟模式等;定時(shí)器3初始化主要完成對(duì)重裝載值的設(shè)定,激發(fā)ADC0進(jìn)行采集;片外存儲(chǔ)器K9F2808的擦除程序完成對(duì)K9F2808內(nèi)數(shù)據(jù)的擦除。
5 性能測(cè)試與室內(nèi)實(shí)驗(yàn)
硬軟件調(diào)試結(jié)束后,我們把測(cè)試電路和傳感器送到石油儀器儀表質(zhì)量檢驗(yàn)中心的標(biāo)準(zhǔn)振動(dòng)臺(tái)上,在(10g,1000Hz)、(25g,100Hz)、 (25g,200Hz)、(25g,1000Hz)條件下對(duì)測(cè)試系統(tǒng)進(jìn)行標(biāo)定,證明對(duì)振動(dòng)幅度的測(cè)量精度為1%,振動(dòng)頻率的測(cè)量精度為5‰,這樣的精度可以滿足導(dǎo)向鉆井系統(tǒng)對(duì)振動(dòng)測(cè)量的要求。
責(zé)任編輯:gt
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634660 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163765 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
6053瀏覽量
113623
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論