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