顏 良 ,羅蘭兵 ,陳儒軍 ,韋 佳
(1.英洛瓦(天津)物探裝備有限責(zé)任公司中國研發(fā)部,河北 涿州,072750;2.中南大學(xué) 地球科學(xué)與信息物理學(xué)院,湖南 長沙,410083)
目前在地震儀器中主要采用以ARM架構(gòu)為核心的低功耗系統(tǒng),也有以FPGA為核心的系統(tǒng)?;诒疚慕榻B的SoPC可編程片上系統(tǒng),是近幾年才在這個(gè)領(lǐng)域應(yīng)用。
基于FPGA形式的SOPC系統(tǒng)[1],雖然技術(shù)上沒有ARM成熟,但是發(fā)展迅速,成功應(yīng)用的案例很多。其包含了硬件邏輯和軟件部分,具有設(shè)計(jì)靈活的特點(diǎn)。其內(nèi)部嵌入了CPU軟核(或硬核),集成度高、功耗低,因此很多功能可以通過C程序等軟件來實(shí)現(xiàn),而不必都采用硬件邏輯實(shí)現(xiàn)。因此在系統(tǒng)復(fù)雜情況下可大大節(jié)省資源,一方面利于性能的提高,另一方面由于是基于FPGA,其實(shí)現(xiàn)上比較靈活,可根據(jù)需要反復(fù)修改,提高了研發(fā)效率。本設(shè)計(jì)中的核心技術(shù)如數(shù)據(jù)傳輸以及采集控制等,就得益于其不可替代的優(yōu)點(diǎn)。
在本設(shè)計(jì)中,采用了Altera公司Cyclone II 2C35芯片,其為百萬門的FPGA,應(yīng)用于野外站體的主控芯片設(shè)計(jì),包括采集站(DAU)、電源站(PMU)以及交叉站(LMU)部分,由于其主控系統(tǒng)部分的相似性,這里只對(duì)采集站一種做介紹。
采集站總體結(jié)構(gòu)圖如圖1所示。
上述采集站結(jié)構(gòu)圖中的基于FPGA的SoPC系統(tǒng)的設(shè)計(jì)的方案如圖2所示。
由圖2可知,系統(tǒng)各部分通過avlaon總線與CPU以及各模塊之間進(jìn)行通信,avalon為Altera公司自定義的總線規(guī)范[2],與其他總線規(guī)范如 wishbone、AMBA一樣具有通用性。正是基于此,使得各種IP核可以重復(fù)利用和移植。
CPU選擇其免費(fèi)提供的軟核Nios II,為32 bit標(biāo)準(zhǔn)型(Altera公司的軟件也提供多CPU支持,且類型可根據(jù)需要來定制,這里采用的是單個(gè)CPU形式),其性能相當(dāng)于ARM構(gòu)架的CPU。
Flash接口采用QuartusII軟件提供的控制接口,F(xiàn)lash為16 MB。對(duì)于SRAM接口,由于軟件沒有提供相應(yīng)的IP code,所以需要定制接口,后面會(huì)有相應(yīng)的討論,其大小為 4 MB。
為了控制和處理采集來的數(shù)據(jù),需要采集接口完成采集芯片和CPU之間的通信,采集接口在數(shù)據(jù)流中的位置如圖3所示。
圖3 采集接口的系統(tǒng)位置
地震數(shù)據(jù)采集時(shí)要進(jìn)行參數(shù)設(shè)置,如采樣率、增益、濾波系數(shù)、采集長度等,都需要由主機(jī)系統(tǒng)下發(fā)到采集站,然后由采集站的CPU通過采集接口對(duì)采集芯片進(jìn)行設(shè)置,以完成采集前的施工參數(shù)設(shè)置。
數(shù)據(jù)傳輸部分為野外站體系統(tǒng)設(shè)計(jì)中的核心部分,其主要任務(wù)為完成地震數(shù)據(jù)的完整性傳輸,采用點(diǎn)對(duì)點(diǎn)方式,圖4為其2個(gè)傳輸節(jié)點(diǎn)間的連接圖。
圖4 兩節(jié)點(diǎn)傳輸結(jié)構(gòu)圖
根據(jù)需要,在FPGA中設(shè)計(jì)了物理層的數(shù)據(jù)時(shí)鐘恢復(fù)模塊,用于信道平衡的編碼,以及RS糾錯(cuò)檢錯(cuò)模塊,通過這些技術(shù),以及通道的預(yù)加重和均衡電路,可以讓采集的數(shù)據(jù)以極低的誤碼率傳輸?shù)街鳈C(jī)處理系統(tǒng)。本設(shè)計(jì)通過這些技術(shù)上的處理,使傳輸距離為220 m,單通道可以傳輸 20 MHz的速度,而實(shí)測(cè)誤碼率優(yōu)于10-9指標(biāo)。
串口模塊用于與電源管理芯片之間的通信,以使下行命令可以讓CPU控制電源部分電路便于執(zhí)行;另外一個(gè)用處為方便調(diào)試測(cè)試用,在研發(fā)階段有很大的用處。
這里主要指的是自定制的接口模塊,由于軟件提供的IP核的有限性,需要自定制一些接口,以滿足設(shè)計(jì)要求,如SRAM接口、I2C接口及與外部數(shù)據(jù)流交互的接口等。這些接口需要做兩方面的工作:一方面是需要自己用硬件描述語言以產(chǎn)生硬件邏輯模塊部分,此部分模塊的接口信號(hào)一端為與Avalon總線規(guī)范一致的信號(hào),另一端為與外部交互的信號(hào),中間根據(jù)需要可以設(shè)置必要的寄存器以及控制信號(hào),以便用于底層驅(qū)動(dòng)的編寫。
Avalon交互式總線是由Altera開發(fā)的一種專用的內(nèi)部連線技術(shù),Avalon交互式總線由SoPC Builder自動(dòng)生成,是一種理想的用于系統(tǒng)處理器和外設(shè)之間的內(nèi)聯(lián)總線,其定義的內(nèi)聯(lián)線策略使得任何一個(gè)Avalon總線上的主外設(shè)都可以與任何一個(gè)從外設(shè)溝通。Avalon接口定義Avalon外設(shè)與Avalon交互結(jié)構(gòu)之間的連接,是一個(gè)靈活的接口,可以只使用系統(tǒng)所需的幾個(gè)信號(hào)進(jìn)行數(shù)據(jù)傳輸[3]。Avalon總線為用戶提供了非常友好的接口,使系統(tǒng)搭建過程中的一些細(xì)節(jié)問題得到屏蔽,大大減輕系統(tǒng)搭建的工作量。此外,Avalon總線的“從外設(shè)仲裁”機(jī)制,消除了帶寬瓶頸,實(shí)現(xiàn)了超大系統(tǒng)吞吐量。
另一方面的工作就是為此接口編寫底層驅(qū)動(dòng)函數(shù),以便讓上層應(yīng)用軟件調(diào)用,與一般CPU的底層驅(qū)動(dòng)編碼原理一致。
本設(shè)計(jì)為基于NiosII的SoPC,在其嵌入的32位CPU內(nèi)可運(yùn)行站體的控制軟件,包括命令接收處理、對(duì)采集數(shù)據(jù)的控制,以及對(duì)上傳和轉(zhuǎn)發(fā)的數(shù)據(jù)的控制等。
系統(tǒng)采用前臺(tái)/后臺(tái)系統(tǒng)形式,無操作系統(tǒng),單線程[4]。它以及時(shí)的方式處理異步事件的ISR組成的前臺(tái);而使用所有剩余的CPU周期來執(zhí)行時(shí)間上不太關(guān)鍵的動(dòng)作的一個(gè)無限循環(huán),即后臺(tái)。圖5為其主程序流程圖。
其中命令采用中斷觸發(fā)方式。即每個(gè)命令到來時(shí)會(huì)給CPU一個(gè)中斷,CPU能及時(shí)地響應(yīng),然后進(jìn)行命令解析和執(zhí)行??臻e時(shí)進(jìn)入一個(gè)無限循環(huán)狀態(tài)。
系統(tǒng)進(jìn)行以下兩方面的測(cè)試[5]:
(1)數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性,包括數(shù)據(jù)通道和命令通道;
圖5 主控軟件流程圖
(2)站體主控軟件對(duì)每項(xiàng)命令功能的響應(yīng)以及完成情況。
測(cè)試結(jié)果表明,各項(xiàng)指標(biāo)達(dá)到了預(yù)期要求。
以上為室內(nèi)環(huán)境測(cè)試,此外還要進(jìn)行野外實(shí)際工作試驗(yàn)。一般來說,地震數(shù)據(jù)采集時(shí),不論是何種儀器,如sercel 408、系統(tǒng)4等地震儀器,在野外工作時(shí)一般布置為三維或二維的排列。對(duì)此,在系統(tǒng)集成后,以此對(duì)新型地震儀器進(jìn)行了野外大道數(shù)試驗(yàn),其三維實(shí)驗(yàn)布局如圖6所示。
試驗(yàn)地為中石油東方地球物理公司華北經(jīng)理部管轄區(qū)內(nèi)的雄縣,選擇的地震隊(duì)為2 311隊(duì),共布設(shè)了兩種測(cè)試排列,即三維和二維排列(三維實(shí)際測(cè)試時(shí)布設(shè)了5條測(cè)線),震源分別選擇了炸藥和可控震源兩種。一共順利采集了1 400多炮;同時(shí)與國外的ARIES儀器進(jìn)行現(xiàn)場(chǎng)采集,以便試驗(yàn)后對(duì)采集回來的數(shù)據(jù)進(jìn)行效果對(duì)比。
后經(jīng)處理中心和采集技術(shù)支持兩部門的分析和處理,一致認(rèn)為新型地震儀器與ARIES儀器對(duì)測(cè)區(qū)采集的數(shù)據(jù)基本一致,對(duì)處理后的測(cè)區(qū)剖面圖表現(xiàn)一致,甚至在某些細(xì)節(jié)方面表現(xiàn)更好,而在其他方面則各有自己的特點(diǎn)。
[1]潘松,黃繼業(yè).SoPC技術(shù)實(shí)用教材[M].北京:清華大學(xué)出版社,2005.
[2]Altera Corporation.Nios II Software Developer's Handbook,2011.
[3]彭澄廉.挑戰(zhàn)SoC——基于Nios的SoPC設(shè)計(jì)與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2004.
[4]李蘭英.Nios II嵌入式軟核SoPC設(shè)計(jì)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.
[5]易碧金,姜耕.地震數(shù)據(jù)采集站原理與測(cè)試[M].北京:電子工業(yè)出版社,2010.
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2011年24期