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