基于A(yíng)RM9的嵌入式LINUX地震數據采集系統設計
【摘要】本文簡(jiǎn)要地介紹了微處理器AT91RM9200和嵌入式LINUX操作系統,同時(shí)討論了地震數據采集系統的硬件設計以及相應的軟件設計方法。
本文引用地址:http://dyxdggzs.com/article/83297.htm【關(guān)鍵詞】AT91RM9200 嵌入式LINUX操作系統 數據采集
0 引言
隨著(zhù)數字技術(shù)的飛速發(fā)展,數字化儀器已成為觀(guān)測技術(shù)領(lǐng)域的主流儀器,因而數據采集技術(shù)也成為觀(guān)測技術(shù)領(lǐng)域中一個(gè)十分重要的技術(shù)環(huán)節。眾所周知,地震預報一個(gè)的世界性難題,作為地震預報的基礎,地震及地震前兆觀(guān)測數據的地位可想而知,獲得真實(shí)、可靠的觀(guān)測數據取決于地震觀(guān)測儀(包括傳感器和采集器兩部分)。伴隨著(zhù)計算機的迅速發(fā)展,以嵌入式為平臺的數據采集系統就應運而生了,它具有可靠性高,體積小,易擴展、功能強,開(kāi)發(fā)周期短、成本低。本論文是基于東方地球物理公司地震采集系統設計項目,采用ARM9的嵌入式系統,因此對其研究具有非常重要的現實(shí)意義。
1 總體設計方案
作為一個(gè)通用的工業(yè)數據采集系統的硬件平臺,其基本目的是獲取外界信號,例如模擬量、開(kāi)關(guān)量,并且能夠將數字量信號,轉化成模擬量信號輸出,以達到對外部 設備的控制。在此基礎上,本文所要設計的系統有以下的要求
(1)多通道模擬量采集。因為工控現場(chǎng)的模擬量數據非常多,而且各種模擬量所需要的放大倍數是不一樣的,就需要可變增益的放大器。
(2)支持以太網(wǎng)等多種通訊接口?,F代工業(yè)測控現場(chǎng)要求控制器能夠更加速高效的傳輸數據。
(3)數據采集具有移動(dòng)轉儲功能?;诂F場(chǎng)的實(shí)際工況,需要控制平臺在正常工作的情況下,能夠將部分數據通過(guò)移動(dòng)存儲器提取出來(lái),以便在其它設備上進(jìn)行數據分析。
設計要求為整個(gè)系統的性能提出了最低要求,它為器件選型和系統內部的設計提供了指導原則。根據要求總的系統框圖如下:
圖1 系統的總體結構框圖
2 系統硬件設計
構建地震采集嵌入式系統必須有硬件支持,嵌入式系統硬件沒(méi)有統一的標準,根據應用要求對嵌入式系統進(jìn)行裁剪,系統設計的微處理器采用ATMEL公司生產(chǎn)的AT91RM9200微處理器,它是一個(gè)真正的片上系統,片內集成了USB、以太網(wǎng)、EBI、, MCI、SSC和SPI等多種通信接口,200MIPS的處理速度和先進(jìn)電源管理使這款芯片非常適合于系統控制領(lǐng)域。
設計基于A(yíng)T91RM9200的硬件框圖如下所示:
圖2 系統硬件結構圖
本系統是一款功能強大的微功耗嵌入式高精度數據采集系統,采用基于ARM9內核的工業(yè)級處理器和嵌入式Linux操作系統。該系統具備豐富的外圍控制接口和通信接口,可通過(guò)IO輸出的形式控制外圍部件以及進(jìn)行多路模擬信號的切換,采集到的高精度數據可以通過(guò)RS232或者高速以太網(wǎng)等方式傳送到遠程監控端。由于系統采用了功能強大的處理器以及Linux操作系統,除了可以完成高精度數據的采集外,還可以允許用戶(hù)完成數據處理以及其他的一些應用層的功能。
3 系統軟件設計
該系統的實(shí)現是在嵌入式Linux操作系統下完成的。嵌入式系統是以應用為中心,以計算機技術(shù)為基礎,并且軟硬件是可裁剪的,適用于對功能、可靠性、成本、體積、功耗等有嚴格要求的專(zhuān)用計算機系統。Linux擁有的許多特點(diǎn),比如廣泛的硬件支持,內核高效穩定,開(kāi)放源碼,軟件豐富,優(yōu)秀的開(kāi)發(fā)工具,完善的網(wǎng)絡(luò )通信和文件管理機制,免費的等等,它的這些優(yōu)良特性使得其在嵌入式系統中應用十分合適。嵌入式系統是在滿(mǎn)足實(shí)際應用基礎上的最小簡(jiǎn)化型系統,嵌入式數據采集系統上運行的各種任務(wù)繁多并且部分實(shí)時(shí)性要求高,嵌入式微處理器需要管理的資源豐富,這些都決定了要在嵌入式平臺上引入操作系統。
根據系統要求完成的任務(wù),相應的各模塊的設計也就有運用而生了。
3.1 A/D通道模塊的軟件設計
本系統中采用的 ADS1256 芯片,具有 24 位的轉換數據,有效轉換位數會(huì )根據轉換速率、輸入緩沖器及放大器的設置而有所改變,在輸入緩沖器和放大器的設置不變的情況下,轉換速率成了影響有效位數的要素。數據采集頻率在允許范圍內可為改動(dòng),但無(wú)論采集頻率為多少,ADC的轉換速率始終設置為最高 30Ksps,這是為了滿(mǎn)足在最高采樣頻率下工作時(shí),使有效數據位數始終處于最小值,但并不能照顧在低采樣頻率下工作的情況,因為這時(shí)數據量相對較低,對轉換速率沒(méi)有太高的要求,故可以當改選用較低采樣頻率工作時(shí),相應的將 ADC 工作數進(jìn)行設置,將其改為在較低的低轉換速率下工作,當然要求是滿(mǎn)足此時(shí)采樣頻率下的數據要求,這樣可以提高系統在某些采樣頻率下 ADC 工作的轉換精度。
使用ADC模塊時(shí),先要將測量通道引腳設置為AINx,然后通過(guò)ADCR寄存器設置ADC的工作模式,ADC轉換通道,轉換通道(CLKDIV時(shí)鐘分頻值),并啟動(dòng)ADC轉換??梢酝ㄟ^(guò)查詢(xún)或中斷的方式等待AD轉換完畢,轉換數據保存在A(yíng)DDR存器中。ADC轉換時(shí)鐘分頻值計算: CLKDIV= -1(Fadclk為所要設置的ADC時(shí)鐘,其值不能大于4.5MHZ)。
進(jìn)行多通道AD轉換的時(shí)候,首先切換到通道1并進(jìn)行第一次轉換,等待轉換結束,再次啟動(dòng)轉換,等待轉換結果,讀取ADC結果。然后切換到通道2并進(jìn)行第一次轉換,操作過(guò)程與通道1相同,依次再切換到通道3, 4......,最終完成所有通道的轉換。
A/D轉換任務(wù)的流程如圖所示:
圖3 A/D任務(wù)轉換流程圖
3.2 USB通道模塊的軟件設計
USB的拓撲結構中居于核心地位的是主機,任何一次USB的數據傳輸都必須由主機來(lái)發(fā)起和控制,所有的USB設備都只能和主機建立連接,而目前,大量的扮演主機角色的是個(gè)人電腦。因此我們目前所使用的USB移動(dòng)設備都是USB的設備如U盤(pán),在嵌入式平臺上使用U盤(pán),就必須使得嵌入式產(chǎn)品支持USB host接口。
USB總線(xiàn)包含4種基本數據傳輸類(lèi)型:控制傳輸、中斷傳輸、批傳輸以及同步傳輸,本文中用到的是控制傳輸和批傳輸。由于一般U盤(pán)都屬于mass-storage存儲類(lèi),遵循Bulk-Only傳輸協(xié)議和UFI命令規范。在該種傳輸方式下,有3種類(lèi)型的數據在板卡和U盤(pán)之間傳送:CBW, CSW和普通數據。CBW是從板卡發(fā)送到U盤(pán)的命令,這里為SCSI傳輸命令集(包括標志信息,數據度,UFI命令),完成后U盤(pán)向板卡反映當前命令執行狀態(tài)的CSW,板卡根據CSW來(lái)決定是否發(fā)送數據。
圖4 U盤(pán)寫(xiě)數據流程圖
3.3 串口模塊的軟件設計
一般工控現場(chǎng)所使用的控制器或者智能儀表都需要具有與PC機通訊的功能,以充分發(fā)揮PC機和智能設備各自資源的優(yōu)勢??梢栽O置通訊的波特率,串行口為8位異步通信接口,一幀信息為10位:1位起始位(0), 8位數據位(低位先)和1位停止位(1) TXD1為發(fā)送端,RXD1為接收端,這些都是對USART寄存器的初始化。
完成初始化后,下圖是程序流程圖:
圖5 串口流程圖
4 結束語(yǔ)
作為嵌入式系統在工業(yè)控制領(lǐng)域的應用,本文主要討論了基于A(yíng)T91系列處理器AT91RM9200、嵌入式Linux操作系統的地震數據采集系統的硬件軟件設計,在對目前地震測量技術(shù)發(fā)展進(jìn)行研究的基礎上,對本數據采集的功能和設計方法提出了一整套系統的方案。在不斷更新總結的過(guò)程中完成了采集系統的研發(fā)和制作,并且進(jìn)行了系統的 ADC性能和數據存儲各方面的測試。
參考文獻
[1] 江俊輝,基于A(yíng)RM的嵌入式系統硬件設計,微計算機信息,2005年第7-2期
[2] 周振安 范良龍等. 數據采集系統的設計與實(shí)踐. 地震出版社,2005年7月
[3] 馬建明. 數據采集與處理技術(shù). 西安交通大學(xué)出版社,2005年9月
[4] 楊恒. ARM嵌入式系統設計與實(shí)踐. 西安電子科技大學(xué)出版社,2005年10月
[5] 鄒思軼. 嵌入式 Linux 設計與應用. 清華大學(xué)出版社,2002年4月
[6] 何加銘. 嵌入式32位微處理器系統設計與應用. 電子工業(yè)出版社,2005年12月
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論