基于ARM的DIS采集系統(tǒng)設(shè)計(jì)
軟件分為三個(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無(wú)線模塊驅(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)存管理、互斥訪問(wèn)等。又移植了FAT文件系統(tǒng)和GUI圖形庫(kù),共同形成實(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ī)通過(guò)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ī)通過(guò)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é)語(yǔ)
經(jīng)過(guò)測(cè)試,系統(tǒng)完成了設(shè)計(jì)功能,并且經(jīng)過(guò)大批量,長(zhǎng)時(shí)間的采集,系統(tǒng)沒(méi)有出現(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)新性地提出了傳感器的無(wú)線連接方式,以方便實(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)論