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