基于SOPC的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計
SOPC技術(shù)將CPU、存儲器、I/O接口等系統(tǒng)設(shè)計所必須的模塊集成在一片F(xiàn)PGA上,是一種新的系統(tǒng)設(shè)計技術(shù)。這種設(shè)計方式,具有開發(fā)周期短、設(shè)計靈活、可裁減、可擴充、可升級、軟硬件在系統(tǒng)可編程的功能,特別適用于復(fù)雜系統(tǒng)的設(shè)計。
本文給出了一種基于SOPC的數(shù)據(jù)采集與處理系統(tǒng)的設(shè)計方案。系統(tǒng)用24位模數(shù)轉(zhuǎn)換芯片實現(xiàn)多通道地震數(shù)據(jù)前端采集;利用FPGA的可并行及高速運算特點,用FPGA代替?zhèn)鹘y(tǒng)的DSP芯片,設(shè)計并行的數(shù)據(jù)信號同步處理,以提高系統(tǒng)的實時性和同步性。該系統(tǒng)成功地應(yīng)用到礦井地震勘探中,得到良好的效果。
1 系統(tǒng)硬件實現(xiàn)
數(shù)據(jù)采集與處理系統(tǒng)主要是對數(shù)據(jù)的采集以及對得到數(shù)據(jù)的處理,本系統(tǒng)采用SOPC技術(shù),以軟核處理器N IOS II為控制核心,N IOSⅡCPU和各IP模塊之間通過Avalon片上總線相連。系統(tǒng)原理圖見圖1所示。系統(tǒng)主要由四個硬件模塊構(gòu)成:數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲模塊和數(shù)據(jù)通訊模塊。數(shù)據(jù)采集模塊主要用24位高精度A /D芯片進行地震數(shù)據(jù)采集; 數(shù)據(jù)處理模塊主要用FPGA實現(xiàn)各DSP算法; 數(shù)據(jù)存儲模塊采用SDRAM實現(xiàn);數(shù)據(jù)通訊模塊采用RS232串口通訊,負責(zé)把數(shù)據(jù)上傳到上位機上顯示。
圖1 系統(tǒng)原理圖
1. 1 NIOS II CPU
Nios II系列軟核處理器是Altera的第二代FP2GA嵌入式處理器,是一個用戶可配置的通用Risc嵌入式處理器,擴展了目前世界上最流行的軟核嵌入式處理器的性能。用戶可以從三種處理器(快速、標(biāo)準(zhǔn)、經(jīng)濟)以及超過60個的IP核中選擇所需要的,NiosII系統(tǒng)為用戶提供了最基本的多功能性,設(shè)計師可以以此來創(chuàng)建一個最適合他們需求的嵌入式系統(tǒng)。本設(shè)計采用的是標(biāo)準(zhǔn)型的N IOS IICPU,并調(diào)用了SDRAM 控制器和異步串口URAT (RS_232 Serial port)等接口IP。
1. 2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊采用多通道同步采集,其基本原理如圖2所示: 4通道同步采集,每個通道由信號前端調(diào)理電路、模數(shù)轉(zhuǎn)換采樣電路及A /D接口構(gòu)成。
對采集信號的調(diào)理,主要是針對信號的濾波和信號放大處理:地震檢波器采集來相關(guān)數(shù)據(jù)后,使用無源低通濾波器去除高頻無用信號,以防止后續(xù)數(shù)字濾波產(chǎn)生頻譜混疊;使用高速反饋放大器OPA1632D實現(xiàn)對輸入模擬數(shù)據(jù)的放大。對于采樣電路,使用24位的A /D7766芯片,該芯片在以125 kHz輸出數(shù)據(jù)速率工作時具有108 dB的動態(tài)范圍,它比具有相同輸出數(shù)據(jù)速率的同類器件高3 dB,其特別適合地震采集的低功耗和鑒別大信號中的微弱信號要求。
圖2 數(shù)據(jù)采集模塊原理圖
1. 3 數(shù)據(jù)處理模塊
SOC系統(tǒng)的一個重要思想就是IP復(fù)用,因此本文充分利用了ALTERA公司豐富的DSP IP核資源以提高產(chǎn)品開發(fā)效率,實現(xiàn)多通道數(shù)據(jù)的并行同步處理。
1. 3. 1 數(shù)字濾波模塊
對于地震勘探來說,由檢波器接收到的有效地震信號具備多頻率特性。為了現(xiàn)場技術(shù)人員更好地了解地質(zhì)情況,需要看到特定范圍頻帶的信號,因此需要設(shè)計一個具備多頻帶的帶通濾波器。濾波模塊調(diào)用了Altera公司的F IR IP核來生成,通過設(shè)置參數(shù),即可實現(xiàn)不同要求的濾波器。
本系統(tǒng)生成的濾波模塊圖如圖3 所示,其中cofe_set為濾波選擇信號,可以通過N IOS II提供給cofe_set值命令,完成四種不同帶寬的通帶濾波。
圖3 濾波模塊圖
1. 3. 2 頻譜分析模塊
為了了解地震信號的頻譜分布范圍,需要對隨時間變化的地震信號進行傅里葉變換,以得到隨頻率而變化的振幅和相位的函數(shù)。本設(shè)計的原理圖如圖4所示:先采用ALTERA公司的FFT IP核設(shè)計一個1 024點的FFT模塊,得到的數(shù)據(jù)再送給相位譜計算模塊和振幅譜計算模塊得到振幅譜和相位譜。
圖4 頻譜分析模塊原理圖
振幅譜、相位譜的公式見式( 1)與式( 2) , ReF(mΔf)和ImF (mΔf)為輸入數(shù)據(jù)經(jīng)FFT模塊處理后得到的實部和虛部值。
由式(1)可知,振幅譜模塊主要由乘法模塊、加法模塊及開方模塊組成,其都可以用ALTERA公司對應(yīng)的IP核來實現(xiàn)。對于相位譜模塊,其需要求反正切函數(shù),對此本設(shè)計用了基于查找表的設(shè)計方法。
如圖5所示:在phase中把實部Re的絕對值乘100后除以虛部Im的絕對值,得到的值按照一定的規(guī)律轉(zhuǎn)化成Counter (從0到1 024) 。rom中事先存著0到90的相位值, Counter做為RAM的地址輸入,此時通過Counter的值就可以查找出對應(yīng)的相位。再根據(jù)sign產(chǎn)生的實部、虛部的符號來判斷相位的象限,得出0到360°范圍的相位值。
圖5 相位譜模塊電路圖
1. 4 SDRAM外部存儲
為了對數(shù)據(jù)進行緩存,本設(shè)計采用了hy57v561620SDRAM外部存儲芯片。SDRAM具有大容量和高速度的特點,滿足地震勘探的大數(shù)據(jù)容量和高速度要求。
在SOPC Builder中,已經(jīng)存在基于Avalon 接口的SDRAM控制內(nèi)核,用戶可以很方便的使用SDRAM控制器創(chuàng)建一個可以靈活的與SDRAM芯片接口的儲存系統(tǒng)。
模塊工作在96 M的系統(tǒng)主時鐘下,當(dāng)接收到N IOS II發(fā)出的讀命令后, SDRAM開始讀取A /D傳來的數(shù)據(jù),直到數(shù)據(jù)存放完畢。然后在N IOS II的控制下,再與DSP模塊進行互相間的數(shù)據(jù)傳輸。
1. 5 通訊模塊
為了把數(shù)據(jù)上傳到上位機上進行顯示,本系統(tǒng)采用了RS232 串口通信,串口通信的概念非常簡單,串口按位發(fā)送和接收字節(jié),可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù),此外它還能夠?qū)崿F(xiàn)遠距離通信。在SOPC Builder中,也已經(jīng)存在基于Avalon接口的UART內(nèi)核接口,為Altera FPGA上的嵌入式系統(tǒng)和外部設(shè)備提供了串行字符流的通信方式,內(nèi)核執(zhí)行RS2232協(xié)議時序。
2 系統(tǒng)軟件設(shè)計
軟件設(shè)計主要包括驅(qū)動程序和應(yīng)用級代碼編寫等部分,如圖6所示。在Nios II IDE中建立新的軟件工程時, IDE會根據(jù)SOPC Builder對系統(tǒng)的硬件配置自動生成一個定制HAL (硬件抽象層)系統(tǒng)庫。這個庫能為程序和底層硬件的通信提供接口驅(qū)動程序,之后進行編譯、調(diào)試、下載軟件到開發(fā)板上。
圖6 系統(tǒng)軟件結(jié)構(gòu)框圖
本設(shè)計的應(yīng)用程序流程如圖7所示:系統(tǒng)工作時先初始化,接著控制A /D模塊進行數(shù)據(jù)采集,采集來的數(shù)據(jù)進行直接送入DSP模塊進行實時處理,并把處理前和處理后的數(shù)據(jù)都存儲到SDRAM中。
最后把SDRAM中的數(shù)據(jù)經(jīng)過串口發(fā)送到PC機上。
圖7 應(yīng)用程序流程圖
3 系統(tǒng)實驗結(jié)果
低通濾波器相關(guān)文章:低通濾波器原理
評論