一種基于DSP與FPGA結(jié)合的光柵振動信號處理系統(tǒng)
出處:單片機(jī)與嵌入式系統(tǒng) 發(fā)布于:2011-06-07 18:42:45
地震檢波器是用于地質(zhì)勘探和工程測量的專用傳感器,是一種將地面振動轉(zhuǎn)變?yōu)殡娦盘柕膫鞲衅?,或者說是將機(jī)械能轉(zhuǎn)化為電能的能量轉(zhuǎn)換裝置。 地震數(shù)據(jù)采集系統(tǒng)主要由傳感器(又稱檢波器)和數(shù)字地震儀組成。檢波器埋置于地面的裝置,把地震波引起的地面震動轉(zhuǎn)換成電訊號并通過電纜將電訊號送入地震儀;數(shù)字地震儀將接受到電訊號放大、經(jīng)過模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)、組織數(shù)據(jù)、存貯數(shù)據(jù)。 地震勘探是目前常用石油勘探方法之一,它的基本原理是利用人工地震在地層中產(chǎn)生振動信號,根據(jù)設(shè)計(jì)要求在距離激發(fā)點(diǎn)不同的地方布置傳感器(即地震檢波器)接收振動信號,然后對接收到的振動信號進(jìn)行處理、解釋,根據(jù)信號的頻率、振幅、速度等信息分析不同深度地層的屬性、構(gòu)造的形態(tài)等,從而初步判斷是否有具備生油、儲油條件,提供鉆探的井位。本文設(shè)計(jì)了一種利用DSP與FPGA結(jié)合的光柵振動信號處理系統(tǒng),它主要完成對光柵震動傳感器輸出的兩路正交的正弦波信號的采集、計(jì)數(shù)、高倍細(xì)分等,從而實(shí)現(xiàn)了對快速的振動信號的復(fù)現(xiàn)。
1 光柵地震檢波器的工作原理
光柵地震檢波器主要由光源(白光或單色光)、準(zhǔn)直鏡、光電池、指示光柵(副光柵)、光柵諧振子(主光柵)組成。光柵諧振子(主光柵)為檢波器的可動部分,由上彈簧片和下彈簧片支撐。工作時,檢波器外殼通過檢波器尾釘與大地連接并固定,當(dāng)大地受到震源激發(fā)后,地震波傳至地面引起地面震動,檢波器外殼也隨之震動。而光柵振子由于彈簧片的彈性和本身的慣性,有保持不動的趨勢,從而產(chǎn)生了光柵振子與外殼的相對運(yùn)動,也就是說光柵副中的主光柵與裂向式指示光柵之間產(chǎn)生了相對運(yùn)動。兩塊疊放在一起的光柵具有了相對運(yùn)動也就會產(chǎn)生與之相對應(yīng)的莫爾條紋,從而在相位差為90°的四個光電池上產(chǎn)生莫爾條紋的變化,于是光信號被轉(zhuǎn)化為電信號,再經(jīng)差分放大后形成兩路相位相差90°的正弦或余弦波信號。
2 光柵震動信號的同步采集
要保證整個系統(tǒng)對振動信號的實(shí)時復(fù)現(xiàn),關(guān)鍵是要保證對兩路模擬正弦波的同步采集。若使用DSP直接控制多通道的模數(shù)轉(zhuǎn)換器,由于編程語言的順序結(jié)構(gòu)和單個模數(shù)轉(zhuǎn)換器不能同時采樣保持的限制,對于多路信號的采集只能分時多通道順序采集,這樣對同一點(diǎn)的兩路模擬波的采集肯定會產(chǎn)生相位差,這樣對復(fù)現(xiàn)出來的原振動信號會造成相當(dāng)大的失真。但是由于FPGA的編程語言VHDL執(zhí)行時是并發(fā)執(zhí)行的,并不受到它們在主結(jié)構(gòu)中的編寫順序的影響。根據(jù)上述特點(diǎn),對于本系統(tǒng)的設(shè)計(jì)可以分成三個并行進(jìn)程,分別是2個光柵信號采集的進(jìn)程和一個加減計(jì)數(shù)器的進(jìn)程。
光柵振動莫爾條紋的信號采集采用成直線排列的相位差為90°的四個光電池,分別記為1、2、3和4,如圖1所示。它們接收由被測振動信號調(diào)制的莫爾條紋,并通過差動放大器、整形濾波器輸出兩路正交的正弦信號。這兩路信號分成兩組,其中一組經(jīng)過鑒零比較電路轉(zhuǎn)換成方波送入辨向電路為FPGA中加減計(jì)數(shù)器提供計(jì)數(shù)累加值和辨向信號。另一組則直接將放大的模擬電壓信號送入兩路AD轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量并存入FPGA。在FPGA中開辟3個雙口RAM存儲器用來順序存放每一點(diǎn)的整周期計(jì)數(shù)值和兩路波形的數(shù)字量,為DSP進(jìn)行高倍細(xì)分提供基礎(chǔ)數(shù)據(jù)。

2.1 雙口RAM的設(shè)計(jì)
雙口RAM 是在一個SRAM 存儲器上具有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫控制線,并允許兩個獨(dú)立的系統(tǒng)同時對該存儲器進(jìn)行隨機(jī)性的訪問。即共享式多端口存儲器。雙口RAM的特點(diǎn)是存儲數(shù)據(jù)共享。一個存儲器配備兩套獨(dú)立的地址、數(shù)據(jù)和控制線,允許兩個獨(dú)立的CPU或控制器同時異步地訪問存儲單元。因?yàn)閿?shù)據(jù)共享,就必須存在訪問仲裁控制。內(nèi)部仲裁邏輯控制提供以下功能:對同一地址單元訪問的時序控制;存儲單元數(shù)據(jù)塊的訪問權(quán)限分配;信令交換邏輯(例如中斷信號)等。雙口RAM可用于提高RAM的吞吐率,適用于作于實(shí)時的數(shù)據(jù)緩存。
其工作原理如圖2所示,所設(shè)計(jì)的存儲空間為3個16字容量的雙口RAM,當(dāng)信號采集部分向新地址寫入每一個振動點(diǎn)的三個信息量時(圖中所示地址為15),信號處理部分則讀取先前振動點(diǎn)的三個信息量進(jìn)行細(xì)分等處理(圖中所示地址為0),當(dāng)雙口RAM寫滿數(shù)據(jù)后,寫地址指針又會重新定位到首地址寫入新的數(shù)據(jù),這種緩存結(jié)構(gòu)的設(shè)立不會丟失信息點(diǎn),保證了還原信號的連續(xù)性和可靠性,雖然還原信號滯后源信號3到4個字的時間,但保證了每一個點(diǎn)三個信息量的同步性,這是C語言等順序結(jié)構(gòu)語言所無法達(dá)到的。

2.2 雙口RAM的流程圖設(shè)計(jì)
首先是定義實(shí)體與外部端口,包括時鐘、輸入輸出、讀寫地址端口。它們的作用分別是:
1)時鐘端口:利用時鐘的脈沖邊沿來觸發(fā)讀寫進(jìn)程,使得新舊數(shù)據(jù)在雙口RAM中交替進(jìn)出。
2)輸入輸出端口:分別為16位的位矢量類型,用來保證與16位AD和DSP的數(shù)據(jù)格式匹配。
3)讀寫地址端口:2位的位矢量類型,用來設(shè)置16位字的存儲器容量,并在讀寫RAM操作時提供地址選址信號。
其次是定義結(jié)構(gòu)體,包括定義內(nèi)部緩沖地址信號,并定義了一個容量為16字的Mem(存儲器類型)型變量。
是并發(fā)進(jìn)程的定義,包括寫進(jìn)程和讀進(jìn)程的定義,以時鐘的脈沖信號作為敏感信號來觸發(fā)進(jìn)程的啟動,每一個時鐘周期完成對RAM的讀寫,其中時鐘頻率由FPGA根據(jù)AD的采樣速度和DSP的處理速度來設(shè)定,要保證當(dāng)采集信號寫入尾地址的時刻,至少要保證首地址已經(jīng)被DSP所讀取。圖3為雙口RAM程序流程圖。

2.3 雙口RAM的仿真結(jié)果
圖4為該進(jìn)程的仿真時序圖,由圖可見個時鐘的上升沿?cái)?shù)據(jù)輸入端口data_in的值為4,這時寫選通端口write_address選通地址1,然后對應(yīng)著地址1的存儲器模塊ram_block1的內(nèi)的值在此刻刷新為4,這說明寫進(jìn)程正確。同時應(yīng)注意到讀地址選通信號read_address的值被傳遞到讀地址寄存器read_address_reg中,read_address_reg中的值被刷新為1。當(dāng)個時鐘的下降沿到來時,信號輸出端口data_out根據(jù)讀地址寄存器read_address_reg中的地址值1選通ram_block1,此時data_out的值刷新為4,這說明讀進(jìn)程也正確。

3 DSP的軟件細(xì)分
DSP是一種獨(dú)特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號。再對數(shù)字信號進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是值得稱道的兩大特色。
采用大數(shù)可逆計(jì)數(shù)與小數(shù)細(xì)分計(jì)數(shù)的軟件細(xì)分技術(shù)。其中大數(shù)計(jì)數(shù)是對莫爾條紋整周期數(shù)進(jìn)行可逆的加減計(jì)數(shù),這部分功能有采集模塊中的FPGA來完成,小數(shù)計(jì)數(shù)是對莫爾條紋不到一個周期信號細(xì)分結(jié)果進(jìn)行計(jì)數(shù),其功能由DSP來完成。運(yùn)算的結(jié)果為大數(shù)計(jì)數(shù)結(jié)果乘以光柵柵距與小數(shù)計(jì)數(shù)結(jié)果乘以細(xì)分當(dāng)量之和,其中細(xì)分當(dāng)量為光柵柵距除以細(xì)分倍數(shù)。該模塊的硬件原理圖如圖5所示。

通過DSP的地址選通線依次選通讀取FPGA中三個數(shù)據(jù)緩存區(qū)中的數(shù)據(jù),緩存區(qū)分別存放兩路模擬信號的數(shù)字量與加減計(jì)數(shù)器的累加計(jì)數(shù)值,然后利用公式R=N*w+K*L求出任意一點(diǎn)諧振子的幅值并輸出。式中N為整周期的累加計(jì)數(shù)值,W為光柵柵距,K為細(xì)分計(jì)數(shù),L=W/M,M為細(xì)分倍數(shù)。該細(xì)分模塊主要是完成對細(xì)分計(jì)數(shù)K值、和幅值R值的求取,并完成對幅值的數(shù)字量轉(zhuǎn)換并輸出。
其中細(xì)分方法也就是對K值的求取采用了八卦限幅值分割法,根據(jù)上述方法設(shè)計(jì)了細(xì)分倍數(shù)可變的細(xì)分算法,利用DSP C語言的專用庫函數(shù)實(shí)現(xiàn)了純計(jì)算的算法。細(xì)分算法流程如圖6所示。

由幅值細(xì)分法可知,軟件細(xì)分算法設(shè)計(jì)的關(guān)鍵問題是根據(jù)兩路信號的比值對該點(diǎn)的相位角的正確定位。該點(diǎn)的位置有兩種情況,一種是落在各象限的邊界上,另一種是落在各象限之中。根據(jù)細(xì)分邊界條件判斷該點(diǎn)的采樣數(shù)據(jù)是否發(fā)生在四個象限的分界線上,如果判斷此次換向發(fā)生在象限的分界線上,則細(xì)分?jǐn)?shù)為固定值,并且通過象限的正負(fù)關(guān)系就可以確定具體細(xì)分?jǐn)?shù)值,不需要進(jìn)行復(fù)雜的計(jì)算。如果該點(diǎn)不是發(fā)生在象限分界線上,則需根據(jù)象限正負(fù)關(guān)系判斷換向發(fā)生的具體象限,不同象限對應(yīng)不同計(jì)算公式。細(xì)分算法程序如下:
static int subp(int*input,int*input1)一設(shè)置指針形參用來讀取兩路波形采樣值
{
程序初始化,定義各種變量標(biāo)志字。
float ADSIN_X,ADCOS_X,ABSIN_X,ABCOS_X;一定義存儲變量存放采樣值與
int m=0,n=0,k=0,d=0,i=0;一設(shè)置標(biāo)志字判斷采樣值正負(fù)
ADSIN_X=*input;-從緩存區(qū)讀取sin采樣值
ADCOS_X=*input1;-從緩存區(qū)讀取cos采樣值
ABSIN_X=fabs(ADSIN_X);-求取sin
ABCOS_X=fabs(ADCOS_X);-求取COS
根據(jù)采樣值,寫標(biāo)志字
if(ADSIN_X>0) m=1; else m=0;
if(ADCOS_X>0) n=1; else n=0;
if((ABSIN_X-ABCOS_X)>0)k=1;else if((AB-SIN_X-ABCOS_X)<O) k=0;elsek=2;
根據(jù)標(biāo)志字判斷相位點(diǎn)的位置,根據(jù)相應(yīng)位置不同公式求取細(xì)分值
|
|
|
|
然后利用公式R=N×ω+d×L求出任意一點(diǎn)諧振子的幅值并輸出。式中N為整周期的累加計(jì)數(shù)值,W為光柵柵距,d為細(xì)分計(jì)數(shù),L=ω/m,m為細(xì)分倍數(shù)。
4 結(jié)束語
光柵地震檢波器是基于光柵檢測技術(shù)設(shè)計(jì)的一種新型數(shù)字傳感器,基于單片機(jī)的光柵地震檢波器信號處理速度較慢,現(xiàn)場可編程門陣列FPGA時鐘頻率高,內(nèi)部延時小,硬件資源豐富,在控制數(shù)據(jù)采集、轉(zhuǎn)換等方面有著單片機(jī)和DSP所無法比擬的優(yōu)勢。為了提高光柵地震檢波器的測量和分辨力,該文進(jìn)行了基于FPGA和DSP的光柵地震檢波器信號處理研究,并將軟件細(xì)分原則應(yīng)用于信號處理系統(tǒng)中。該系統(tǒng)基于硬件RAM存儲器進(jìn)行設(shè)計(jì),在有效地減小電路板面積的同時,可實(shí)現(xiàn)數(shù)據(jù)的快速采集和高測量。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38











