《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM9的嵌入式Linux地震數(shù)據(jù)采集系統(tǒng)
基于ARM9的嵌入式Linux地震數(shù)據(jù)采集系統(tǒng)
微計算機信息
雷于紅 劉益成 劉凱
摘要: 基于ARM9的嵌入式LINUX地震數(shù)據(jù)采集系統(tǒng)設計,本文簡要地介紹了微處理器AT91RM9200和嵌入式LINUX操作系統(tǒng),同時討論了地震數(shù)據(jù)采集系統(tǒng)的硬件設計以及相應的軟件設計方法。
Abstract:
Key words :

【摘要】本文簡要地介紹了微處理器AT91RM9200嵌入式LINUX操作系統(tǒng),同時討論了地震數(shù)據(jù)采集系統(tǒng)的硬件設計以及相應的軟件設計方法。
【關鍵詞】AT91RM9200  嵌入式inux操作系統(tǒng)  數(shù)據(jù)采集 

隨著數(shù)字技術的飛速發(fā)展,數(shù)字化儀器已成為觀測技術領域的主流儀器,因而數(shù)據(jù)采集技術也成為觀測技術領域中一個十分重要的技術環(huán)節(jié)。眾所周知,地震預報是一個的世界性難題,作為地震預報的基礎,地震及地震前兆觀測數(shù)據(jù)的地位可想而知,獲得真實、可靠的觀測數(shù)據(jù)取決于地震觀測儀(包括傳感器和采集器兩部分)。伴隨著計算機的迅速發(fā)展,以嵌入式為平臺的數(shù)據(jù)采集系統(tǒng)就應運而生了,它具有可靠性高,體積小,易擴展、功能強,開發(fā)周期短、成本低。本論文是基于東方地球物理公司地震采集系統(tǒng)設計項目,采用ARM9的嵌入式系統(tǒng),因此對其研究具有非常重要的現(xiàn)實意義。

1 總體設計方案

    作為一個通用的工業(yè)數(shù)據(jù)采集系統(tǒng)的硬件平臺,其基本目的是獲取外界信號,例如模擬量、開關量,并且能夠?qū)?shù)字量信號,轉(zhuǎn)化成模擬量信號輸出,以達到對外部設備的控制。在此基礎上,本文所要設計的系統(tǒng)有以下的要求:www.51kaifa.com

    (1)多通道模擬量采集。因為工控現(xiàn)場的模擬量數(shù)據(jù)非常多,而且各種模擬量所需要的放大倍數(shù)是不一樣的,這就需要可變增益的放大器。

    (2)支持以太網(wǎng)等多種通訊接口。現(xiàn)代工業(yè)測控現(xiàn)場要求控制器能夠更加速高效的傳輸數(shù)據(jù)。

    (3)數(shù)據(jù)采集具有移動轉(zhuǎn)儲功能?;诂F(xiàn)場的實際工況,需要控制平臺在正常工作的情況下,能夠?qū)⒉糠謹?shù)據(jù)通過移動存儲器提取出來,以便在其它設備上進行數(shù)據(jù)分析。

設計要求為整個系統(tǒng)的性能提出了最低要求,它為器件選型和系統(tǒng)內(nèi)部的設計提供了指導原則。根據(jù)要求總的系統(tǒng)框圖如下:

                          

 圖1 系統(tǒng)的總體結(jié)構(gòu)框圖

2 系統(tǒng)硬件設計

    構(gòu)建地震采集嵌入式系統(tǒng)必須有硬件支持,嵌入式系統(tǒng)硬件沒有統(tǒng)一的標準,根據(jù)應用要求對嵌入式系統(tǒng)進行裁剪,系統(tǒng)設計的微處理器采用ATMEL公司生產(chǎn)的AT91RM9200微處理器,它是一個真正的片上系統(tǒng),片內(nèi)集成了USB、以太網(wǎng)、EBI、, MCI、SSC和SPI等多種通信接口,200MIPS的處理速度和先進電源管理使這款芯片非常適合于系統(tǒng)控制領域。

設計基于AT91RM9200的硬件框圖如下所示:

圖2  系統(tǒng)硬件結(jié)構(gòu)圖

本系統(tǒng)是一款功能強大的微功耗嵌入式高精度數(shù)據(jù)采集系統(tǒng),采用基于ARM9內(nèi)核的工業(yè)級處理器和嵌入式Linux操作系統(tǒng)。該系統(tǒng)具備豐富的外圍控制接口和通信接口,可通過IO輸出的形式控制外圍部件以及進行多路模擬信號的切換,采集到的高精度數(shù)據(jù)可以通過RS232或者高速以太網(wǎng)等方式傳送到遠程監(jiān)控端。由于系統(tǒng)采用了功能強大的處理器以及Linux操作系統(tǒng),除了可以完成高精度數(shù)據(jù)的采集外,還可以允許用戶完成數(shù)據(jù)處理以及其他的一些應用層的功能。

3 系統(tǒng)軟件設計

該系統(tǒng)的實現(xiàn)是在嵌入式Linux操作系統(tǒng)下完成的。嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,并且軟硬件是可裁剪的,適用于對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統(tǒng)。Linux擁有的許多特點,比如廣泛的硬件支持,內(nèi)核高效穩(wěn)定,開放源碼,軟件豐富,優(yōu)秀的開發(fā)工具,完善的網(wǎng)絡通信和文件管理機制,免費的等等,它的這些優(yōu)良特性使得其在嵌入式系統(tǒng)中應用十分合適。嵌入式系統(tǒng)是在滿足實際應用基礎上的最小簡化型系統(tǒng),嵌入式數(shù)據(jù)采集系統(tǒng)上運行的各種任務繁多并且部分實時性要求高,嵌入式微處理器需要管理的資源豐富,這些都決定了要在嵌入式平臺上引入操作系統(tǒng)。

根據(jù)系統(tǒng)要求完成的任務,相應的各模塊的設計也就有運用而生了。

3.1  A/D通道模塊的軟件設計

本系統(tǒng)中采用的 ADS1256 芯片,具有 24 位的轉(zhuǎn)換數(shù)據(jù),有效轉(zhuǎn)換位數(shù)會根據(jù)轉(zhuǎn)換速率、輸入緩沖器及放大器的設置而有所改變,在輸入緩沖器和放大器的設置不變的情況下,轉(zhuǎn)換速率成了影響有效位數(shù)的要素。數(shù)據(jù)采集頻率在允許范圍內(nèi)可人為改動,但無論采集頻率為多少,ADC的轉(zhuǎn)換速率始終設置為最高 30Ksps,這是為了滿足在最高采樣頻率下工作時,使有效數(shù)據(jù)位數(shù)始終處于最小值,但并不能照顧在低采樣頻率下工作的情況,因為這時數(shù)據(jù)量相對較低,對轉(zhuǎn)換速率沒有太高的要求,故可以當改選用較低采樣頻率工作時,相應的將 ADC 工作參數(shù)進行設置,將其改為在較低的低轉(zhuǎn)換速率下工作,當然要求是滿足此時采樣頻率下的數(shù)據(jù)要求,這樣可以提高系統(tǒng)在某些采樣頻率下 ADC 工作的轉(zhuǎn)換精度。

使用ADC模塊時,先要將測量通道引腳設置為AINx,然后通過ADCR寄存器設置ADC的工作模式,ADC轉(zhuǎn)換通道,轉(zhuǎn)換通道(CLKDIV時鐘分頻值),并啟動ADC轉(zhuǎn)換??梢酝ㄟ^查詢或中斷的方式等待AD轉(zhuǎn)換完畢,轉(zhuǎn)換數(shù)據(jù)保存在ADDR存器中。ADC轉(zhuǎn)換時鐘分頻值計算:  CLKDIV= -1(Fadclk為所要設置的ADC時鐘,其值不能大于4.5MHZ)。

進行多通道AD轉(zhuǎn)換的時候,首先切換到通道1并進行第一次轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,再次啟動轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)果,讀取ADC結(jié)果。然后切換到通道2并進行第一次轉(zhuǎn)換,操作過程與通道1相同,依次再切換到通道3, 4......,最終完成所有通道的轉(zhuǎn)換。

A/D轉(zhuǎn)換任務的流程如圖所示:

                    圖3  A/D任務轉(zhuǎn)換流程圖

3.2 USB通道模塊的軟件設計

USB的拓撲結(jié)構(gòu)中居于核心地位的是主機,任何一次USB的數(shù)據(jù)傳輸都必須由主機來發(fā)起和控制,所有的USB設備都只能和主機建立連接,而目前,大量的扮演主機角色的是個人電腦。因此我們目前所使用的USB移動設備都是USB的設備如U盤,在嵌入式平臺上使用U盤,就必須使得嵌入式產(chǎn)品支持USB host接口。

USB總線包含4種基本數(shù)據(jù)傳輸類型:控制傳輸、中斷傳輸、批傳輸以及同步傳輸,本文中用到的是控制傳輸和批傳輸。由于一般U盤都屬于mass-storage存儲類,遵循Bulk-Only傳輸協(xié)議和UFI命令規(guī)范。在該種傳輸方式下,有3種類型的數(shù)據(jù)在板卡和U盤之間傳送:CBW, CSW和普通數(shù)據(jù)。CBW是從板卡發(fā)送到U盤的命令,這里為SCSI傳輸命令集(包括標志信息,數(shù)據(jù)長度,UFI命令),完成后U盤向板卡反映當前命令執(zhí)行狀態(tài)的CSW,板卡根據(jù)CSW來決定是否發(fā)送數(shù)據(jù)。

                    

圖4  U盤寫數(shù)據(jù)流程圖

3.3 串口模塊的軟件設計

    一般工控現(xiàn)場所使用的控制器或者智能儀表都需要具有與PC機通訊的功能,以充分發(fā)揮PC機和智能設備各自資源的優(yōu)勢??梢栽O置通訊的波特率,串行口為8位異步通信接口,一幀信息為10位:1位起始位(0), 8位數(shù)據(jù)位(低位先)和1位停止位(1) TXD1為發(fā)送端,RXD1為接收端,這些都是對USART寄存器的初始化。www.51kaifa.com

    完成初始化后,下圖是程序流程圖:

 

             圖5  串口流程圖

4        結(jié)束語

    作為嵌入式系統(tǒng)在工業(yè)控制領域的應用,本文主要討論了基于AT91系列處理器AT91RM9200、嵌入式Linux操作系統(tǒng)的地震數(shù)據(jù)采集系統(tǒng)的硬件軟件設計,在對目前地震測量技術發(fā)展進行研究的基礎上,對本數(shù)據(jù)采集的功能和設計方法提出了一整套系統(tǒng)的方案。在不斷更新總結(jié)的過程中完成了采集系統(tǒng)的研發(fā)和制作,并且進行了系統(tǒng)的 ADC性能和數(shù)據(jù)存儲各方面的測試。

參考文獻

 [1] 江俊輝,基于ARM的嵌入式系統(tǒng)硬件設計,微計算機信息,2005年第7-2期

[2] 周振安 范良龍等. 數(shù)據(jù)采集系統(tǒng)的設計與實踐. 地震出版社,2005年7月www.51kaifa.com

[3] 馬建明. 數(shù)據(jù)采集與處理技術.  西安交通大學出版社,2005年9月

[4] 楊恒. ARM嵌入式系統(tǒng)設計與實踐. 西安電子科技大學出版社,2005年10月

[5] 鄒思軼. 嵌入式 Linux 設計與應用. 清華大學出版社,2002年4月www.51kaifa.com

[6] 何加銘. 嵌入式32位微處理器系統(tǒng)設計與應用. 電子工業(yè)出版社,2005年12月

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。