顏 良 ,羅蘭兵 ,陳儒軍 ,韋 佳
(1.英洛瓦(天津)物探裝備有限責任公司中國研發部,河北 涿州,072750;2.中南大學 地球科學與信息物理學院,湖南 長沙,410083)
目前在地震儀器中主要采用以ARM架構為核心的低功耗系統,也有以FPGA為核心的系統。基于本文介紹的SoPC可編程片上系統,是近幾年才在這個領域應用。
基于FPGA形式的SOPC系統[1],雖然技術上沒有ARM成熟,但是發展迅速,成功應用的案例很多。其包含了硬件邏輯和軟件部分,具有設計靈活的特點。其內部嵌入了CPU軟核(或硬核),集成度高、功耗低,因此很多功能可以通過C程序等軟件來實現,而不必都采用硬件邏輯實現。因此在系統復雜情況下可大大節省資源,一方面利于性能的提高,另一方面由于是基于FPGA,其實現上比較靈活,可根據需要反復修改,提高了研發效率。本設計中的核心技術如數據傳輸以及采集控制等,就得益于其不可替代的優點。
在本設計中,采用了Altera公司Cyclone II 2C35芯片,其為百萬門的FPGA,應用于野外站體的主控芯片設計,包括采集站(DAU)、電源站(PMU)以及交叉站(LMU)部分,由于其主控系統部分的相似性,這里只對采集站一種做介紹。
采集站總體結構圖如圖1所示。

上述采集站結構圖中的基于FPGA的SoPC系統的設計的方案如圖2所示。
由圖2可知,系統各部分通過avlaon總線與CPU以及各模塊之間進行通信,avalon為Altera公司自定義的總線規范[2],與其他總線規范如 wishbone、AMBA一樣具有通用性。正是基于此,使得各種IP核可以重復利用和移植。

CPU選擇其免費提供的軟核Nios II,為32 bit標準型(Altera公司的軟件也提供多CPU支持,且類型可根據需要來定制,這里采用的是單個CPU形式),其性能相當于ARM構架的CPU。
Flash接口采用QuartusII軟件提供的控制接口,Flash為16 MB。對于SRAM接口,由于軟件沒有提供相應的IP code,所以需要定制接口,后面會有相應的討論,其大小為 4 MB。
為了控制和處理采集來的數據,需要采集接口完成采集芯片和CPU之間的通信,采集接口在數據流中的位置如圖3所示。

圖3 采集接口的系統位置
地震數據采集時要進行參數設置,如采樣率、增益、濾波系數、采集長度等,都需要由主機系統下發到采集站,然后由采集站的CPU通過采集接口對采集芯片進行設置,以完成采集前的施工參數設置。
數據傳輸部分為野外站體系統設計中的核心部分,其主要任務為完成地震數據的完整性傳輸,采用點對點方式,圖4為其2個傳輸節點間的連接圖。

圖4 兩節點傳輸結構圖
根據需要,在FPGA中設計了物理層的數據時鐘恢復模塊,用于信道平衡的編碼,以及RS糾錯檢錯模塊,通過這些技術,以及通道的預加重和均衡電路,可以讓采集的數據以極低的誤碼率傳輸到主機處理系統。本設計通過這些技術上的處理,使傳輸距離為220 m,單通道可以傳輸 20 MHz的速度,而實測誤碼率優于10-9指標。
串口模塊用于與電源管理芯片之間的通信,以使下行命令可以讓CPU控制電源部分電路便于執行;另外一個用處為方便調試測試用,在研發階段有很大的用處。
這里主要指的是自定制的接口模塊,由于軟件提供的IP核的有限性,需要自定制一些接口,以滿足設計要求,如SRAM接口、I2C接口及與外部數據流交互的接口等。這些接口需要做兩方面的工作:一方面是需要自己用硬件描述語言以產生硬件邏輯模塊部分,此部分模塊的接口信號一端為與Avalon總線規范一致的信號,另一端為與外部交互的信號,中間根據需要可以設置必要的寄存器以及控制信號,以便用于底層驅動的編寫。
Avalon交互式總線是由Altera開發的一種專用的內部連線技術,Avalon交互式總線由SoPC Builder自動生成,是一種理想的用于系統處理器和外設之間的內聯總線,其定義的內聯線策略使得任何一個Avalon總線上的主外設都可以與任何一個從外設溝通。Avalon接口定義Avalon外設與Avalon交互結構之間的連接,是一個靈活的接口,可以只使用系統所需的幾個信號進行數據傳輸[3]。Avalon總線為用戶提供了非常友好的接口,使系統搭建過程中的一些細節問題得到屏蔽,大大減輕系統搭建的工作量。此外,Avalon總線的“從外設仲裁”機制,消除了帶寬瓶頸,實現了超大系統吞吐量。
另一方面的工作就是為此接口編寫底層驅動函數,以便讓上層應用軟件調用,與一般CPU的底層驅動編碼原理一致。
本設計為基于NiosII的SoPC,在其嵌入的32位CPU內可運行站體的控制軟件,包括命令接收處理、對采集數據的控制,以及對上傳和轉發的數據的控制等。
系統采用前臺/后臺系統形式,無操作系統,單線程[4]。它以及時的方式處理異步事件的ISR組成的前臺;而使用所有剩余的CPU周期來執行時間上不太關鍵的動作的一個無限循環,即后臺。圖5為其主程序流程圖。
其中命令采用中斷觸發方式。即每個命令到來時會給CPU一個中斷,CPU能及時地響應,然后進行命令解析和執行。空閑時進入一個無限循環狀態。
系統進行以下兩方面的測試[5]:
(1)數據傳輸的穩定性和可靠性,包括數據通道和命令通道;

圖5 主控軟件流程圖
(2)站體主控軟件對每項命令功能的響應以及完成情況。
測試結果表明,各項指標達到了預期要求。
以上為室內環境測試,此外還要進行野外實際工作試驗。一般來說,地震數據采集時,不論是何種儀器,如sercel 408、系統4等地震儀器,在野外工作時一般布置為三維或二維的排列。對此,在系統集成后,以此對新型地震儀器進行了野外大道數試驗,其三維實驗布局如圖6所示。
試驗地為中石油東方地球物理公司華北經理部管轄區內的雄縣,選擇的地震隊為2 311隊,共布設了兩種測試排列,即三維和二維排列(三維實際測試時布設了5條測線),震源分別選擇了炸藥和可控震源兩種。一共順利采集了1 400多炮;同時與國外的ARIES儀器進行現場采集,以便試驗后對采集回來的數據進行效果對比。
后經處理中心和采集技術支持兩部門的分析和處理,一致認為新型地震儀器與ARIES儀器對測區采集的數據基本一致,對處理后的測區剖面圖表現一致,甚至在某些細節方面表現更好,而在其他方面則各有自己的特點。

[1]潘松,黃繼業.SoPC技術實用教材[M].北京:清華大學出版社,2005.
[2]Altera Corporation.Nios II Software Developer's Handbook,2011.
[3]彭澄廉.挑戰SoC——基于Nios的SoPC設計與實現[M].北京:清華大學出版社,2004.
[4]李蘭英.Nios II嵌入式軟核SoPC設計原理及應用[M].北京:北京航空航天大學出版社,2006.
[5]易碧金,姜耕.地震數據采集站原理與測試[M].北京:電子工業出版社,2010.