基于ARM9的嵌入式LINUX地震數(shù)據(jù)采集系統(tǒng)設計
【關鍵詞】AT91RM9200 嵌入式LINUX操作系統(tǒng) 數(shù)據(jù)采集 www.51kaifa.com
【Summary】This text has introduced the microprocessor AT91RM9200 and embedded LINUX operating system briefly, and discussed hardware designing and corresponding software design method of the data collecting system of the earthquake.
【key】AT91RM9200 embedded LINUX operating system data collecting
0 引言
隨著數(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)的硬件平臺,其基本目的是獲取外界信號,例如模擬量、開關量,并且能夠將數(shù)字量信號,轉化成模擬量信號輸出,以達到對外部設備的控制。在此基礎上,本文所要設計的系統(tǒng)有以下的要求:www.51kaifa.com
(1)多通道模擬量采集。因為工控現(xiàn)場的模擬量數(shù)據(jù)非常多,而且各種模擬量所需要的放大倍數(shù)是不一樣的,這就需要可變增益的放大器。
(2)支持以太網(wǎng)等多種通訊接口?,F(xiàn)代工業(yè)測控現(xiàn)場要求控制器能夠更加速高效的傳輸數(shù)據(jù)。
(3)數(shù)據(jù)采集具有移動轉儲功能。基于現(xiàn)場的實際工況,需要控制平臺在正常工作的情況下,能夠將部分數(shù)據(jù)通過移動存儲器提取出來,以便在其它設備上進行數(shù)據(jù)分析。
設計要求為整個系統(tǒng)的性能提出了最低要求,它為器件選型和系統(tǒng)內部的設計提供了指導原則。根據(jù)要求總的系統(tǒng)框圖如下:
圖1 系統(tǒng)的總體結構框圖
2 系統(tǒng)硬件設計
構建地震采集嵌入式系統(tǒng)必須有硬件支持,嵌入式系統(tǒng)硬件沒有統(tǒng)一的標準,根據(jù)應用要求對嵌入式系統(tǒng)進行裁剪,系統(tǒng)設計的微處理器采用ATMEL公司生產的AT91RM9200微處理器,它是一個真正的片上系統(tǒng),片內集成了USB、以太網(wǎng)、EBI、, MCI、SSC和SPI等多種通信接口,200MIPS的處理速度和先進電源管理使這款芯片非常適合于系統(tǒng)控制領域。
設計基于AT91RM9200的硬件框圖如下所示:
圖2 系統(tǒng)硬件結構圖
本系統(tǒng)是一款功能強大的微功耗嵌入式高精度數(shù)據(jù)采集系統(tǒng),采用基于ARM9內核的工業(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擁有的許多特點,比如廣泛的硬件支持,內核高效穩(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 位的轉換數(shù)據(jù),有效轉換位數(shù)會根據(jù)轉換速率、輸入緩沖器及放大器的設置而有所改變,在輸入緩沖器和放大器的設置不變的情況下,轉換速率成了影響有效位數(shù)的要素。數(shù)據(jù)采集頻率在允許范圍內可人為改動,但無論采集頻率為多少,ADC的轉換速率始終設置為最高 30Ksps,這是為了滿足在最高采樣頻率下工作時,使有效數(shù)據(jù)位數(shù)始終處于最小值,但并不能照顧在低采樣頻率下工作的情況,因為這時數(shù)據(jù)量相對較低,對轉換速率沒有太高的要求,故可以當改選用較低采樣頻率工作時,相應的將 ADC 工作參數(shù)進行設置,將其改為在較低的低轉換速率下工作,當然要求是滿足此時采樣頻率下的數(shù)據(jù)要求,這樣可以提高系統(tǒng)在某些采樣頻率下 ADC 工作的轉換精度。
使用ADC模塊時,先要將測量通道引腳設置為AINx,然后通過ADCR寄存器設置ADC的工作模式,ADC轉換通道,轉換通道(CLKDIV時鐘分頻值),并啟動ADC轉換??梢酝ㄟ^查詢或中斷的方式等待AD轉換完畢,轉換數(shù)據(jù)保存在ADDR存器中。ADC轉換時鐘分頻值計算: CLKDIV= -1(Fadclk為所要設置的ADC時鐘,其值不能大于4.5MHZ)。
進行多通道AD轉換的時候,首先切換到通道1并進行第一次轉換,等待轉換結束,再次啟動轉換,等待轉換結果,讀取ADC結果。然后切換到通道2并進行第一次轉換,操作過程與通道1相同,依次再切換到通道3, 4......,最終完成所有通道的轉換。
A/D轉換任務的流程如圖所示:
圖3 A/D任務轉換流程圖
3.2 USB通道模塊的軟件設計
USB的拓撲結構中居于核心地位的是主機,任何一次USB的數(shù)據(jù)傳輸都必須由主機來發(fā)起和控制,所有的USB設備都只能和主機建立連接,而目前,大量的扮演主機角色的是個人電腦。因此我們目前所使用的USB移動設備都是USB的設備如U盤,在嵌入式平臺上使用U盤,就必須使得嵌入式產品支持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 結束語
作為嵌入式系統(tǒng)在工業(yè)控制領域的應用,本文主要討論了基于AT91系列處理器AT91RM9200、嵌入式Linux操作系統(tǒng)的地震數(shù)據(jù)采集系統(tǒng)的硬件軟件設計,在對目前地震測量技術發(fā)展進行研究的基礎上,對本數(shù)據(jù)采集的功能和設計方法提出了一整套系統(tǒng)的方案。在不斷更新總結的過程中完成了采集系統(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月