《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于ARM和FPGA的便攜人工地震數據采集系統設計
基于ARM和FPGA的便攜人工地震數據采集系統設計
來源:電子技術應用2011年第1期
李從慶1,2,王夫運2,薛 兵3
(1.中國地震局地球物理研究所,北京100081;2.中國地震局地球物理勘探中心,河南 鄭州4500
摘要: 介紹了一種基于Atmel AT91SAM9G20(ARM926EJ-S核)低功耗微處理器和Actel AGL600(低功耗Flash-based FPGA)并融合嵌入式Linux技術的便攜式人工地震數據采集系統的設計原理和實現方法。該設計引入動態電源管理技術,根據系統負載自動進行微處理器工作頻率調節和外圍I/O設備的工作模式調整。本數據采集系統功耗低、體積小,野外使用安裝便捷,對降低數據采集成本、延長系統有效工作時間、提高野外工作效率有著積極意義。
中圖分類號: TP29
文獻標識碼: A
文章編號: 0258-7998(2011)01-0038-04
The portable artificial seismic data acquisition system based on ARM and FPGA
Li Congqing1,2,Wang Fuyun2,Xue Bing3
1.Institute of Geophysics,CEA,Beijing 100081,China; 2.Geophysical Exploration Center of CEA,Zhengzhou 450002,China; 3.Beijing Gangzhen Mechanical & Electronic Technology Co.,Ltd,Beijing 102628,China
Abstract: This article describes the design principles and implementation methods of an artificial seismic sounding data acquisition system,which is based on ARM926EJ-S core processor(Atmel AT91SAM9G20) and ultra low-power FPGA chip(Actel AGL600) in combination with embedded Linux technology. By making use of existing seismic instruments and embedded technology,design a sounding seismic seismograph equipment that features low power,small size,easy to carry and internet access. Besides, dynamic CPU frequency scaling is introduced in this design to further reduce watt loss.
Key words : embedded Linux;AT91SAM9G20;FPGA;CPU frequency scaling


    近年來,隨著可編程邏輯器件(CPLD/FPGA)的迅猛發展,可編程邏輯器件在數據采集、邏輯接口設計、電平接口轉換和高性能數字信號處理等領域取得越來越廣泛的應用。CPLD/FPGAD不僅可以解決電子系統小型化、低功耗、高可靠性等問題,而且開發周期短、投入少,同時不斷下降的芯片價格極大推動了CPLD/FPGA器件在廣泛應用領域的使用。本文介紹一種ARM微處理器+FPGA的硬件設計,融合嵌入式Linux技術,實現一種小型化、移動性強、網絡耦合度高的便攜式人工地震數據采集系統。該系統以滿足人工地震觀測的需要、減小儀器尺寸和重量、降低功耗、降低野外工作強度和提高數據采集工作效率為目標。
1 系統硬件設計
    采集系統由CPU核心板、A/D數據采集板和電源板組成,系統原理如圖1所示。CPU板以Atmel  AT91SAM9G20微處理器為核心,通過總線和GPIO分別與64 MB SDRAM、16 MB Norflas和FPGA A3P250接口。板上大容量CF卡安裝有FAT文件系統,用于地震波形數據的本地存儲。網絡接口提供遠程登錄、數據傳輸及系統控制功能,包括實時數據流傳輸。LCD屏顯示系統工作參數,如溫度、經緯度、高程、系統網絡IP地址等信息。串口用于輸出調試信息,也被SAM-BA軟件用來下載燒寫引導加載程序U-boot和嵌入式Linux操作系統內核映像文件。A/D采集板上有三路模數轉換數據采集通道,標定信號發生器和檢波器控制信號調理電路。高效的電源轉換電路是實現系統低功耗的基礎。電源板主要提供CPU等數字電路+3.3 V/+1.8 V電源,地震計反饋電路供電±12 V、±4 V,參考電壓±2.5 V,標定電路和檢波器控制電路供電。GPS系統提供時間服務和地理位置信息。

    AT91SAM9G20是Atmel公司推出的一款基于ARM926EJ-S核的低功耗SoC。ARM核工作頻率高達400 MHz,具有DSP指令擴展,支持Java硬件加速,具備全功能的MMU。內部集成2個容量為16 KB的高速SRAM,具有豐富的片上I/O設備,包括以太網MAC、USB主機和設備接口、通用同/異步發送接收器USART、SPI接口、同步串行接口SSC、多媒體存儲接口等。電源管理控制器(PMC)提供了CPU動態調頻的硬件支持。
1.1 FPGA邏輯設計
    FPGA芯片的功能主要包括:(1)采集三個通道的A/D數據。當三路數據準備就緒,nDRDY1、nDRDY2、nDRDY3信號全部拉低,啟動由FPGA實現的SPI數據傳輸狀態機,地震波形數據被緩沖到FPGA內部的16 bit寬的FIFO_2k_ADC_DATA中。當FIFO_2k_ADC_DATA中數據達到一個閾值時,向ARM微處理器觸發AD_INT中斷。在中斷處理程序ad_irq_rx()中,通過系統數據總線把FIFO中數據轉移到內存緩沖區ad_data_buff[]中。之后,調用schedule_work(&tasklet)把諸如數字信號濾波等耗時任務放到中斷下半部中進行處理。(2)根據標定數據文件,控制DAC生成模擬標定波形輸出。標定波形類型有正弦波、方波等。(3)檢波器控制電路驅動地震計調零電機動作。(4)IRIG讀碼。生成IRIG-B數據幀,通過PPS_interrupt觸發CPU中斷,pps_irq_handle()中斷處理程序負責把IRIG碼存儲到內存變量irig_frame中,等待解碼以提取時間、經緯度、高程等信息。下面是spi實體的Top-level行為級VHDL語言描述。
ENTITY spi IS
    PORT (    CLK        :in  STD_LOGIC;--4.096 MHz
            CLK40    :in  STD_LOGIC;--40 MHz
            SYNC    :out STD_LOGIC;--PINMODE模式下,
使用復位信號同步數據采集信號
            DOUT1    :in STD_LOGIC;
            SCLK1    :out STD_LOGIC;--第一通道的
ADS1281模數轉換器的SPI時鐘
            nDRDY1,nDRDY2,nDRDY3:in STD_LOGIC;
--ADS1281數據就緒等待采集信號
            spi_clk    :out STD_LOGIC;--擴展SPI時鐘
            spi_mosi    :out STD_LOGIC;--擴展SPI主機
發送從機接收數據信號線
            spi_cs1    :out  STD_LOGIC;--擴展SPI片選
信號
            EINT1,EINT2:out STD_LOGIC;--FIFO半滿數
據采集中斷信號AD_INT,
和DAC數據請求中斷信號INT
            ENABLE1,A2,A3,A4,A5:in STD_LOGIC;
            DATA:inout STD_LOGIC_VECTOR(15 downto 0);
--ARM處理器數據總線
            led_drv:out STD_LOGIC;--LED狀態指示
            PPS_interrupt:out  STD_LOGIC;--1 Hz,
GPS秒脈沖
            nRESET:in STD_LOGIC;
            GPS_IRIGL:in STD_LOGIC;--IRIG碼讀寫
            nRD:in STD_LOGIC;--ARM讀
            nWR:in STD_LOGIC;--ARM寫
            nCS:in STD_LOGIC);--ARM片選
END spi;
1.2 A/D數據采集通道
    A/D轉換器采用TI公司的ADS1281。該A/D轉換器具有高分辨率、高精度特性,內置4階穩定的ΔΣ調制器,可配置SINC、FIR和IIR濾波器,數據率250 S/s~4 KS/s,特別適合地震數據觀測環境。在本設計中,模擬地動波形信號經差分放大后輸入到AD1281的AINP和AINN端。SCLK由FPGA分頻產生的1.024 MHz的時鐘驅動,用于串行輸出A/D數據到FPGA FIFO。當A/D完成數據轉化后,CH1_DRDY拉低向FPGA表示數據準備就緒,等待讀取。CH1_ DOUT連接至FPGA的DOUT1端口,用于數據到FPGA FIFO的串行傳輸。AD_CLK由4.096 MHz時鐘驅動,是A/D的工作時鐘。A/D轉換原理電路如圖2所示。

2 系統軟件設計概要
    Linux因其源代碼開放性特點,成為嵌入式系統中應用最為廣泛的操作系統之一。本系統采用嵌入式操作系統Linux-2.6.30內核,交叉編譯工具使用arm-none-linux-gnueabi-gcc,底層硬件驅動和數字信號FIR/IIR濾波程序使用C語言,部分代碼使用嵌入式匯編語言,上層應用程序開發則使用C、C++。本系統的軟件設計主要任務包括操作系統的移植、驅動程序開發(包括數據采集驅動、系統控制及標定驅動程序等模塊)以及嵌入式應用軟件和上位PC機應用軟件開發。
2.1 嵌入式操作系統Linux-2.6.30的裁剪
    下載解壓縮內核源文件。修改頂層目錄下的Makefile文件,設定目標硬件ARCH=arm,指定交叉編譯環境路徑CROSS_COMPILE=/usr/locaL/arm-2007q1/bin/arm-none-linux- gnueabi-。使用圖形界面或文本行界面進行內核配置,根據硬件電路和軟件系統功能對內核模塊進行剪裁,完成操作系統鏡像的定制、編譯與調試,并在此環境上進行應用軟件和驅動程序的開發。在ARM中植入嵌入式linux平臺,首先根據目標設備的硬件配置及需要,對linux-2.6.30內核進行基本定制,開發并安裝驅動程序,增加CPU動態調頻特性,生成鏡像文件。JTAG將U-boot寫入Flash后,通過網卡將鏡像文件下載到目標設備中進行調試,最終把U-boot、linux-2.6.30內核及文件系統映像文件等燒寫入Flash存儲器。
2.2 A/D數據采集驅動
    設備驅動程序是操作系統內核與硬件之間的接口,屬于內核的一部分。根據功能劃分,設備驅動程序代碼有以下幾個部分:(1)驅動程序的注冊與注銷;(2)設備的打開與釋放;(3)設備的讀/寫操作;(4)設備的控制操作;(5)數據采集中斷處理程序和PPS_INTERRUPT中斷處理程序。AD驅動程序最終實現一個字符設備驅動,為了使該驅動程序能夠被上層的應用程序方便地調用,需要實現以下的接口函數:
    (1)open調用:打開數據采集通道,需要注意的是open調用不應該自動啟動AD采樣,而應該由ioctl調用提供顯式的控制接口。
    (2)read調用:讀取采樣數據,阻塞式讀取,以字節數返回讀取到的數據量。
    (3)release調用:關閉數據采集通道,釋放系統資源。
    (4)ioctl調用:提供以下一些設置命令。DS—ADC—START:啟動AD采樣,每次開始都會清空上次未讀走的數據。DS—ADC—ST0P:停止AD采樣。DS—ADC—SET—SAMPIE_RATE:設定采樣率。DS—AdC—GET—COUNT:獲取內存環行緩沖區中已存儲的采樣數據。
2.3 應用軟件設計
    應用軟件包括嵌入式應用軟件和PC機應用軟件。嵌入式應用軟件運行在采集器ARM處理器上,具體實現為一個命令解析服務器,通過Socket接口連接到上位PC機,并接收PC機端發送來的控制命令,執行相應的操作。PC機應用軟件由主線程和數據通信線程組成。主線程為文檔—視圖結構,實現參數查詢與設置操作、實時波形顯示與波形存儲等功能;數據通信線程與硬件通信,接收波形數據。主要功能包括,(1)實時接收、存儲波形數據;(2)實時瀏覽波形;(3)查詢、設置系統工作參數;(4)查詢GPS信息;(5)查詢、設置標定參數、啟動停止標定;(6)查詢、設置觸發參數;(7)設置數據采集器通信參數。
3 動態電源管理
    在本設計中,從微處理器和A/D等芯片的選型到電源系統設計都充分考慮低功耗設計,為了進一步降低系統功耗,設計中引入了CPU動態調頻技術。位于系統內核的負載監控器Load Monitor負責統計核算負載信息,并根據系統負載輕重,驅動電源管理控制器Power Controller對CUP工作頻率和相關設備能效狀態做出調整。該模型對應用層程序完全透明,但應用程序也可通過proc接口顯式調整系統狀態。在開發板的初步實驗中,在測試程序為while死循環情況下,測得系統在三個頻率點上的總功率為169 mA×12 V@400 MHz,133 mA×12 V@
200 MHz,112 mA×12 V@99 MHz,系統存在可觀的降耗空間。值得注意的是,動態調頻對系統穩定性造成很大挑戰,調頻代碼需進一步完善。
    本文主要討論了基于低功耗微處理器AT91SAM9G20和可編程邏輯門陣列器件(FPGA)的地震數據采集系統的硬件設計和嵌入式Linux軟件開發思路。值得一提的是,在系統中引入動態調頻技術,為進一步降低系統動態功耗以至總體功耗做了有益探索。本設計是在對當前地震測量技術發展研究的基礎上,提出的一種功耗低、體積小、野外使用安裝便捷的實現方案,對降低數據采集成本、延長系統有效工作時間、提高野外工作效率有著積極意義。
參考文獻
[1] 杜春雷.Arm體系結構與編程[M].北京:清華大學出版社,2003.
[2] CHARLES H.ROTH,Jr.數字系統設計與VHDL[M].北京:電子工業出版社,2008.
[3] GROUT I著.基于FPGA和CPLD的數字系統設計[M].北京:電子工業出版社,2009.
[4] 劉淼.嵌入式系統接口設計與Linux驅動程序開發[M].北京:北京航空航天出版社,2O06.
[5] 宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008.
[6] Jens Ha kov,著.地震觀測技術與儀器[M].趙仲,趙建和譯.北京:地震出版社,2007.
[7] 張朋.嵌入式系統在工程地震儀的應用研究[J].計算機與數字工程,2008,36(2):l37-l39.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲欧美视频| 亚洲欧美日韩一区二区在线| 亚洲欧美另类久久久精品2019| 亚洲毛片一区二区| 国产精品va在线播放| 篠田优中文在线播放第一区| 午夜国产欧美理论在线播放 | 国产日韩精品电影| 久久gogo国模裸体人体| 亚洲成人直播| 亚洲靠逼com| 亚洲国产精品一区二区第四页av | 亚洲欧美国产制服动漫| 宅男噜噜噜66一区二区| 一个色综合导航| 亚洲免费一在线| 一区精品久久| 欧美伦理视频网站| 亚洲欧美日韩在线不卡| 亚洲国产成人精品女人久久久 | 亚洲欧美卡通另类91av| 亚洲影视在线| 亚洲国产成人在线| 久久精品国产欧美亚洲人人爽| 亚洲理论在线观看| 亚洲精品久久久久久下一站| 国产精品日韩精品| 蜜桃精品久久久久久久免费影院| 亚洲少妇最新在线视频| 亚洲视频每日更新| 亚洲专区一区二区三区| 欧美在线999| 久久精品99久久香蕉国产色戒| 日韩天堂av| 性色av一区二区三区红粉影视| 亚洲人成人一区二区三区| 国产日韩av一区二区| 国产日韩在线视频| 欧美手机在线视频| 欧美波霸影院| 久久精品二区| 老司机久久99久久精品播放免费| 午夜精品免费视频| 久久av资源网站| 久久综合亚洲社区| 欧美精品日韩www.p站| 久久久久久九九九九| 亚洲视频免费| 久久精品国产精品亚洲综合| 久久综合九色欧美综合狠狠| 欧美精品亚洲精品| 国产精品无码专区在线观看| 极品日韩久久| 日韩午夜av在线| 尤物yw午夜国产精品视频明星| 国产伦精品一区二区三区照片91| 欧美日韩蜜桃| 欧美激情精品久久久久久蜜臀| 久久色在线观看| 午夜日韩在线观看| 久久综合九色综合欧美狠狠| 欧美另类videos死尸| 国产精品视频网| 亚洲第一久久影院| 在线观看国产一区二区| 99riav1国产精品视频| 欧美一区二区三区视频免费播放 | 日韩亚洲欧美成人| 欧美一区二区视频在线| 亚洲欧美日韩另类| 开心色5月久久精品| 欧美日韩一区二区欧美激情| 欧美超级免费视 在线| 久久久av毛片精品| 久久久久久久综合狠狠综合| 欧美国产一区二区在线观看 | 午夜精品在线| 99天天综合性| 99re热精品| 久久久久国产成人精品亚洲午夜| 欧美喷水视频| 国产综合第一页| 黄色在线成人| 精品999在线观看| 在线中文字幕一区| 正在播放亚洲| 亚洲日产国产精品| 99re国产精品| 久久久久久有精品国产| 欧美日韩免费在线视频| 一区二区三区无毛| 亚洲欧美另类在线| 一本久道久久综合中文字幕| 久久精品亚洲| 国产精品久久久一区二区三区| 国产精品久久国产三级国电话系列| 欧美三级欧美一级| 在线精品国产欧美| 午夜视频久久久久久| 亚洲午夜久久久| 亚洲欧美日韩中文播放| 欧美成人精品在线视频| 好吊日精品视频| 午夜精品久久久久久久99热浪潮| 亚洲一二三四区| 欧美日韩免费高清| 亚洲精品视频在线看| 亚洲黄色在线视频| 亚洲免费观看| 久久综合网络一区二区| 国际精品欧美精品| 午夜精品视频在线| 午夜精品短视频| 国产精品豆花视频| 一区二区三区精品视频在线观看| 99在线精品视频在线观看| 欧美xxxx在线观看| 亚洲大黄网站| 亚洲人成人77777线观看| 可以看av的网站久久看| 狠狠色综合色区| 久久精品成人一区二区三区蜜臀| 久久久久久久久久久一区 | av不卡在线观看| 欧美精品麻豆| 日韩一级精品| 亚洲调教视频在线观看| 欧美日韩免费观看一区=区三区| 亚洲精品中文字| 一区二区三区日韩欧美| 欧美日韩免费观看一区三区| 日韩网站在线观看| 亚洲一区二区在线观看视频| 国产精品a级| 亚洲欧美成人精品| 欧美在线www| 黑人一区二区三区四区五区| 久久精品国产一区二区电影 | 国产精品美女久久久免费| 亚洲欧美中文另类| 久久久欧美一区二区| 国产区在线观看成人精品| 午夜宅男欧美| 久久夜色撩人精品| 亚洲国产欧美一区| 午夜精品福利视频| 欧美在线亚洲一区| 韩国一区二区三区美女美女秀| 亚洲国产美女| 欧美日韩国产一区精品一区 | 欧美一区二区三区久久精品| 国产亚洲女人久久久久毛片| 99视频精品在线| 亚洲综合成人婷婷小说| 国产日韩欧美三级| 亚洲国产日韩欧美综合久久| 欧美精品日韩三级| 亚洲一区欧美| 六月丁香综合| 宅男66日本亚洲欧美视频| 欧美一区激情视频在线观看| 韩国一区二区三区美女美女秀| 亚洲美女中文字幕| 久久久久久久网站| 亚洲国产欧美不卡在线观看| 亚洲天堂激情| 韩国视频理论视频久久| 99精品免费| 国产毛片一区| 日韩视频在线一区二区| 国产免费成人av| 日韩一级免费观看| 国产欧美一区二区精品秋霞影院| 亚洲国产日韩在线| 国产精品另类一区| 亚洲国产精品一区二区第一页| 欧美日韩亚洲不卡| 欧美尤物一区| 欧美日韩一区二区国产| 久久国产加勒比精品无码| 性欧美xxxx视频在线观看| 韩国精品久久久999| 一区二区三区.www| 国语自产在线不卡| 亚洲一级免费视频| 一区二区亚洲| 亚洲免费视频在线观看| 亚洲高清视频在线| 久久精品国产免费观看| 亚洲毛片在线| 久久一本综合频道| 亚洲一区二区三区精品在线观看| 亚洲一区二区视频在线| 精品1区2区3区4区| 性欧美18~19sex高清播放| 91久久精品美女| 久久久久久尹人网香蕉| 亚洲一区二区精品视频| 欧美精品情趣视频| 亚洲国产婷婷香蕉久久久久久99|