《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
国产精品入口麻豆原神| 在线国产精品播放| 老司机aⅴ在线精品导航| 西西人体一区二区| 亚洲欧美一级二级三级| 亚洲一区二区三区激情| 亚洲视频在线视频| 国产精品99久久久久久人| 一本色道久久综合亚洲91| 亚洲精品在线视频观看| 日韩一级不卡| 一本色道久久综合亚洲精品高清 | 久久久久久久性| 久久久久成人精品免费播放动漫| 久久激情视频| 久久阴道视频| 嫩草成人www欧美| 欧美激情国产高清| 欧美日韩日韩| 国产精品国产成人国产三级| 国产精品乱人伦中文| 国产精品视频yy9299一区| 国产精品永久在线| 国产亚洲欧洲| 在线看日韩欧美| 亚洲精品日韩在线| 中日韩男男gay无套 | 欧美在线在线| 亚洲欧洲日韩女同| 亚洲视频精选在线| 欧美主播一区二区三区美女 久久精品人 | 欧美区在线播放| 国产精品国产三级欧美二区| 国产精品欧美在线| 国产亚洲精品bt天堂精选| 在线电影一区| 99国产精品久久久久久久久久 | 亚洲人成在线观看网站高清| 日韩亚洲精品电影| 亚洲欧美国产精品va在线观看| 欧美在线观看天堂一区二区三区| 亚洲激情在线观看| 国产精品99久久久久久久久久久久 | 国产欧美精品日韩精品| 国自产拍偷拍福利精品免费一| 亚洲第一久久影院| 宅男噜噜噜66一区二区66| 欧美一级黄色网| 99精品欧美一区| 午夜久久电影网| 美女被久久久| 国产精品vvv| 一区二区视频免费在线观看 | 亚洲第一黄色| 中文在线资源观看视频网站免费不卡| 欧美亚洲网站| 欧美黄色片免费观看| 国产精品视频区| 精品99一区二区三区| 99热在线精品观看| 久久精品国产一区二区三区| 在线亚洲精品| 久久夜色精品国产噜噜av| 欧美视频日韩视频在线观看| 国模大胆一区二区三区| 日韩一级裸体免费视频| 久久国产欧美| 亚洲欧美日韩国产中文| 久久免费精品日本久久中文字幕| 欧美日韩国产亚洲一区 | 影音先锋亚洲视频| 亚洲午夜视频在线观看| 亚洲黄色在线观看| 亚洲欧美日韩在线综合| 欧美黄色视屏| 国产尤物精品| 亚洲一区二区四区| 99精品视频免费在线观看| 久久精品国内一区二区三区| 欧美日韩国产电影| 一区在线影院| 欧美一区二区三区视频免费播放| 亚洲一区二区少妇| 欧美激情精品久久久久久免费印度| 国产一区二区激情| 国产精品99久久久久久宅男| 亚洲精品老司机| 久久久91精品国产一区二区三区| 欧美婷婷六月丁香综合色| 亚洲风情在线资源站| 午夜日韩在线| 欧美一区91| 国产精品久久久91| 亚洲免费精彩视频| 日韩视频免费在线观看| 久久亚洲私人国产精品va| 国产欧美日韩综合精品二区| 一区二区三区黄色| 亚洲视频二区| 欧美日韩国产综合网| 亚洲国产精品成人综合| 久久精品一区二区三区不卡牛牛 | 久久综合九色综合欧美就去吻 | 亚洲视频免费在线观看| 欧美电影电视剧在线观看| 好吊日精品视频| 久久成人这里只有精品| 欧美在线视频在线播放完整版免费观看| 欧美午夜影院| 亚洲婷婷综合色高清在线| 亚洲在线免费视频| 欧美午夜激情在线| 宅男精品视频| 午夜亚洲一区| 国产精品一区久久久| 亚洲免费小视频| 欧美中日韩免费视频| 国产情侣一区| 欧美一区二区精品在线| 久久爱www久久做| 国产综合色产在线精品| 欧美在线免费看| 久久综合精品国产一区二区三区| 精品999成人| 亚洲精品欧洲| 欧美人与禽性xxxxx杂性| 亚洲精品网站在线播放gif| 日韩一区二区精品在线观看| 欧美激情综合五月色丁香| 亚洲精品一区二区三区蜜桃久 | 欧美高清在线播放| 亚洲国产综合91精品麻豆| 99re热精品| 欧美日韩一区在线播放| 一区二区三区欧美日韩| 亚洲系列中文字幕| 国产精品丝袜白浆摸在线| 亚洲欧美日韩视频二区| 久久久91精品国产一区二区三区 | 久久婷婷麻豆| 亚洲茄子视频| 亚洲综合色视频| 国产日韩在线看| 亚洲国产欧美日韩| 欧美日韩国产欧| 亚洲一区二区三区在线观看视频| 久久精品一区二区三区不卡| 精品成人国产| 一本色道久久88综合亚洲精品ⅰ| 欧美午夜国产| 欧美在线免费观看| 欧美高清视频在线| 亚洲视频每日更新| 久久久99免费视频| 亚洲欧洲三级电影| 亚洲欧美日韩在线不卡| 狠狠噜噜久久| 一区二区三区产品免费精品久久75| 国产精品极品美女粉嫩高清在线 | 国产精品亚洲成人| 亚洲国产小视频| 欧美亚洲成人精品| 欧美一级片久久久久久久| 欧美成人在线免费视频| 一区二区三区国产精华| 久久久99国产精品免费| 亚洲狠狠丁香婷婷综合久久久| 亚洲一区网站| 极品少妇一区二区| 亚洲一区二区三区在线播放| 黑人操亚洲美女惩罚| 一区二区日韩免费看| 国产在线国偷精品产拍免费yy| 99av国产精品欲麻豆| 国产区精品视频| 一本到高清视频免费精品| 国产视频亚洲精品| 一区二区三区日韩精品视频| 国产视频一区在线观看一区免费| 亚洲人妖在线| 国产亚洲一区二区在线观看| 一本久久综合亚洲鲁鲁五月天| 国产一区二区三区高清播放| 在线一区免费观看| 一区二区亚洲精品国产| 亚洲欧美在线免费观看| 亚洲日本视频| 久久色中文字幕| 亚洲免费在线视频| 欧美日韩不卡| 亚洲国产精品精华液2区45| 国产精品乱码人人做人人爱| 亚洲伦理在线免费看| 国产日韩欧美高清| 亚洲中午字幕| 亚洲人成网站777色婷婷| 久久久噜久噜久久综合| 亚洲午夜精品久久久久久浪潮| 欧美精品一卡| 最近中文字幕日韩精品|