基于ARM的DIS采集系統(tǒng)設(shè)計
數(shù)字化信息系統(tǒng)實驗室(Digital Information System,DIS)是新一代的中小學(xué)實驗教學(xué)系統(tǒng),是先進的數(shù)字技術(shù)應(yīng)用到實驗教學(xué)的產(chǎn)物,也是探究、創(chuàng)新的實驗教學(xué)新理念注入傳統(tǒng)實驗教學(xué)后的必然結(jié)果。2006年,教育部將DIS納入了中小學(xué)實驗儀器裝備標準,建議有條件的學(xué)校配備。目前,國內(nèi)已有多家企業(yè)有相應(yīng)的產(chǎn)品,但大多不夠成熟。而國外的類似產(chǎn)品雖然較為成熟,但價格偏高,難以普及。更重要的是,國外的產(chǎn)品不能夠很好地與我國的實驗教材配合,難以開展教學(xué)。在此提出一種廉價、功能強大、基于ARM技術(shù)的DIS采集系統(tǒng)設(shè)計。它是DIS的一個重要組成部分,并已與江蘇教育家教學(xué)裝備有限公司合作形成了產(chǎn)品。
1 DIS的組成
從物理結(jié)構(gòu)上看DIS,可以分成三個部分:傳感器端、采集器端和計算機端。三個部分既緊密聯(lián)系,又相對獨立。三部分之間定義標準的接口,為不同的傳感器裝置、采集器的使用方式和計算機處理分析軟件的組合提供極大的靈活性;而三者結(jié)合可以提供強大的實驗功能,供師生創(chuàng)新和探究。事實上,用于傳感器物理量轉(zhuǎn)換、采集器數(shù)字化、計算機數(shù)據(jù)分析的實驗分析模型,也都是當(dāng)今實驗科學(xué)研究的通用模型。
1.1 傳感器端
傳感器,又叫換能器,是將物理量轉(zhuǎn)換成電學(xué)量的器件。測量不同的物理量,需要不同的傳感器。對于DIS來說,傳感器端并非單指傳感器,而是傳感器和實驗裝置的總稱。針對不同的實驗,如何將傳感器與實驗裝置很好的結(jié)合,以便容易、真實、準確地完成實驗,是DIS傳感器端設(shè)計的一個難點。
1.2 采集器端
采集器的功能主要是通過模/數(shù)轉(zhuǎn)換器件,將傳感器端提供的電學(xué)模擬量數(shù)字化,以便作后續(xù)處理。對于DIS來說,采集器端是其主體,是一個復(fù)雜的系統(tǒng),它需要保證數(shù)據(jù)采集的實時性、準確性;它需要處理與傳感器端和計算機端的交互;考慮到易用性,它往往還要對采集的數(shù)據(jù)作一些初步的顯示和分析。
1.3 計算機端
計算機端就是指基于通用計算機平臺的DIS相關(guān)軟件集合,其開發(fā)主要體現(xiàn)在軟件。這部分也非常重要,它提供了強大的數(shù)據(jù)分析和可視化功能。
2 DIS采集系統(tǒng)硬件設(shè)計
2.1 總體設(shè)計
該設(shè)計選用Atmel公司的AT91SAM7SE512微控制器為控制核心。AT91SAM7SE512微控制器內(nèi)嵌ARM7TDMI處理器核心,主頻48 MHz,提供豐富的外設(shè)及接口,而且系統(tǒng)并行總線全數(shù)引出,擴展性強。AT91SAM7SE512性能優(yōu)越,配以320×240的TFT真彩屏和觸摸屏,可以對采集的數(shù)據(jù)作采集器端的簡單處理和顯示,以豐富DIS系統(tǒng)的使用方式,提高便攜性和易用性。
模/數(shù)轉(zhuǎn)換器件(ADC)選用Analog Devices公司的AD7323。AD7323為4通道,雙極輸入,12位ADC,最高采樣率達500 KSPS。其精度高,性能強,對于音頻采樣亦是綽綽有余,完全滿足DIS數(shù)據(jù)采集系統(tǒng)的要求,并有潛力完成將來可能出現(xiàn)的高采樣率需求的新實驗。系統(tǒng)的整體硬件結(jié)構(gòu)如圖1所示。
系統(tǒng)擴展了大容量的SDRAM和DataFLASH,以滿足運行較大規(guī)模程序和大容量數(shù)據(jù)存儲的需求。E2PROMI通過TWI(基本與I2C兼容)總線連接,以存儲系統(tǒng)重要的非易失性信息。
2.2 傳感器端的設(shè)計
如圖2所示,傳感器主要由傳感器前端、信號放大電路、A/D轉(zhuǎn)換電路和單片機組成。對于模擬傳感器,信號放大電路的輸出直接接至采集器,由采集器的高精度A/D做模/數(shù)轉(zhuǎn)換,串口只負責(zé)提供傳感器ID號等信息。對于數(shù)字傳感器,單片機負責(zé)控制本地A/D轉(zhuǎn)換,并將數(shù)據(jù)通過串口傳輸?shù)讲杉?。?shù)字傳感器留有通用無線模塊的接口,可以加裝通用無線模塊,將數(shù)據(jù)通過無線方式傳輸。
2.3 與傳感器端的連接
傳感器分為模擬傳感器和數(shù)字傳感器。采集系統(tǒng)與傳感器端的連接分為有線和無線方式。在有線方式下,傳感器通過串口與采集器通信。數(shù)字傳感器的控制信號和數(shù)據(jù)都通過串口傳輸。為了獲得較高的數(shù)據(jù)精度,模擬傳感器的串口只傳輸控制信號,而將信號放大電路的輸出直接接至采集器端的高精度ADC,由采集器采樣處理。數(shù)字傳感器可以通過加裝通用無線模塊而變?yōu)闊o線數(shù)字傳感器(即無線方式)。通用無線模塊基于ZigBee將串口數(shù)據(jù)透傳。
有線連接的接口加入了保護電路,支持熱插拔,以滿足實用需求。無線方式解除了某些實驗中由于連接電纜帶來的制約,并使得遠距離運動學(xué)實驗成為可能。目前,國內(nèi)外同類產(chǎn)品中均沒有類似的功能。
2.4 與計算機端的連接
采集系統(tǒng)通過SD卡和USB電纜的方式與計算機端進行數(shù)據(jù)交換。SD卡體積小,容量大,價格便宜,既可以作為采集系統(tǒng)的擴展存儲,又可以作為采集系統(tǒng)與計算機端之間或者采集系統(tǒng)彼此之間交換數(shù)據(jù)的媒介。USB接口通用性強,數(shù)據(jù)傳輸率高,即插即用,是外設(shè)與計算機間通信的理想接口。
3 DIS采集系統(tǒng)軟件設(shè)計
3.1 總體概述
DIS采集器端的軟件以固件的形式固化在芯片內(nèi)部FLASH之中。主要功能包括:硬件外設(shè)的驅(qū)動、實驗數(shù)據(jù)的實時采集與處理、人機交互以及與傳感器端和計算機端之間的通信。系統(tǒng)總體的軟件架構(gòu)如圖3所示。DIS采集系統(tǒng)作為一個數(shù)據(jù)采集的應(yīng)用,首先要確保數(shù)據(jù)采樣的實時性和準確性;其次,系統(tǒng)還需要對數(shù)據(jù)做適當(dāng)?shù)奶幚聿@示;另外,系統(tǒng)還必須適時地對用戶的觸摸操作和計算機端的指令做出響應(yīng)。軟件既要保證實時性,又要完成多項復(fù)雜的功能。小型嵌入式系統(tǒng)中常用的簡單的前后臺程序開發(fā)模型已不能滿足需要,于是引入了實時操作系統(tǒng)(RTOS)。它以多任務(wù)的模型管理程序功能,降低了程序開發(fā)的復(fù)雜度;搶占式的任務(wù)調(diào)度,保證了系統(tǒng)的實時性。[!--empirenews.page--]
軟件分為三個層次:設(shè)備驅(qū)動層、實時操作系統(tǒng)層和用戶應(yīng)用層。
3.2 設(shè)備驅(qū)動層
設(shè)備驅(qū)動層在實現(xiàn)總線驅(qū)動的基礎(chǔ)上進而實現(xiàn)外設(shè)驅(qū)動。如圖2所示,總線驅(qū)動包括SPI驅(qū)動、USART驅(qū)動等。外設(shè)驅(qū)動包括zigBee無線模塊驅(qū)動、LCD驅(qū)動、觸摸屏(Touch Screen,TS)驅(qū)動等。
3.3 實時操作系統(tǒng)層
采用小型實時操作系統(tǒng)內(nèi)核μC/OS-Ⅱ,負責(zé)任務(wù)調(diào)度、任務(wù)間通信、內(nèi)存管理、互斥訪問等。又移植了FAT文件系統(tǒng)和GUI圖形庫,共同形成實時操作系統(tǒng)的概念。
3.4 用戶應(yīng)用層
具體針對DIS采集系統(tǒng)的需要,劃分任務(wù),完成各項功能。共劃分了五個任務(wù),并根據(jù)緊迫性要求設(shè)置了不同的優(yōu)先級。
(1)采樣任務(wù),負責(zé)與傳感器端的簡單通信及實時信號的采集。由于數(shù)據(jù)采樣的實時性和準確性是采集系統(tǒng)的第一重要任務(wù),所以設(shè)置為最高優(yōu)先級。
采樣任務(wù)由點擊圖形用戶界面的響應(yīng)功能發(fā)起,也可由計算機通過USB命令發(fā)起。采樣任務(wù)首先檢測在線的傳感器類型,獲取他們的ID號,然后設(shè)置采樣率,裝載采樣中斷,并打開傳感器,最后打開中斷進入等待狀態(tài),響應(yīng)指令。采樣中斷根據(jù)采樣率定時采樣,如果是模擬傳感器,則讀取本地A/D,進行模/數(shù)轉(zhuǎn)換;如果是數(shù)字傳感器,則讀取串口的數(shù)據(jù)緩沖區(qū),獲得采樣數(shù)據(jù)。對于特殊的傳感器還要做濾波等特殊處理。當(dāng)采樣到足夠多的數(shù)據(jù),則將數(shù)據(jù)包發(fā)送給處理程序。若是本地發(fā)起的采樣任務(wù),則發(fā)送給界面任務(wù)處理予以顯示;若是計算機通過USB發(fā)起的,則發(fā)送給USB任務(wù)將數(shù)據(jù)轉(zhuǎn)發(fā)給計算機處理。大致流程圖如圖4所示。
(2)觸摸屏輸入任務(wù),負責(zé)實時探測用戶的觸摸操作,更新輸入坐標。
(3)USB通信任務(wù),負責(zé)響應(yīng)計算機端的指令,根據(jù)需要,將采集數(shù)據(jù)傳輸?shù)接嬎銠C端。
在初始化完成后,任務(wù)運行一個狀態(tài)機,進入空閑狀態(tài)。當(dāng)接到計算機的USB中斷請求后,轉(zhuǎn)換為不同的狀態(tài),以完成任務(wù)。大致流程圖如圖5所示。
(4)圖形用戶界面任務(wù),負責(zé)與用戶的交互,完成相應(yīng)的操作,處理顯示數(shù)據(jù)等。
在初始化完桌面、菜單等一些窗口后,界面任務(wù)進入等待狀態(tài),等待采樣數(shù)據(jù),并定時刷新界面。若有顯示的需求,界面任務(wù)在接收到數(shù)據(jù)后,根據(jù)不同的顯示方式作相應(yīng)的顯示。
(5)系統(tǒng)空閑任務(wù),負責(zé)收集系統(tǒng)信息,更新系統(tǒng)狀態(tài),刷新屏幕內(nèi)容等。顧名思義,設(shè)置為最低優(yōu)先級。
正如上面提及的順序,各任務(wù)優(yōu)先級從高到低排列為:采樣任務(wù),觸摸屏輸入任務(wù),USB通信任務(wù),圖形用戶界面任務(wù),系統(tǒng)空閑任務(wù)。
4 結(jié)語
經(jīng)過測試,系統(tǒng)完成了設(shè)計功能,并且經(jīng)過大批量,長時間的采集,系統(tǒng)沒有出現(xiàn)數(shù)據(jù)遺漏和出錯情況,能夠穩(wěn)定的運行。
DIS是數(shù)字信息技術(shù)和嵌入式技術(shù)在教育領(lǐng)域的最新應(yīng)用。分析了DIS系統(tǒng)的整體模型,給出了其主體的一個具體實現(xiàn)。由于硬件上定義了統(tǒng)一的接口,軟件上引入了實時操作系統(tǒng),系統(tǒng)的擴展性極強。創(chuàng)新性地提出了傳感器的無線連接方式,以方便實驗。系統(tǒng)硬件上基于ARM7平臺,體積小,重量輕,功耗低,價格便宜;軟件上提供了圖形用戶界面,支持觸摸操作,使用方便,界面友好。系統(tǒng)集數(shù)據(jù)采集與分析顯示于一體,可獨立使用,又可以方便地與計算機通信,性能優(yōu)越,穩(wěn)定性好??梢灶A(yù)見,該設(shè)計在中小學(xué)實驗教學(xué)領(lǐng)域?qū)⒂袕V泛的應(yīng)用前景。