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