摘 要:介紹嵌入式系統的DIS應用,分析DIS的一般模型,設計并實現了其主體部分的軟硬件。硬件以ARM7核微控制器AT91SAM7SE512為核心,包括A/D轉換、帶觸摸屏的液晶顯示、ZigBee無線連接、數據存儲等多個組成部分;軟件采用μC/OS-Ⅱ實時操作系統,移植了FAT文件系統和圖形用戶界面。經測試,系統性能穩定,操作簡便。
關鍵詞:ARM;DIS;數據采集;AT91SAM7SE512;μC/OS-Ⅱ
中圖分類號:TP335文獻標識碼:B
文章編號:1004-373X(2010)06-043-04
Data Acquisition System of DIS Based on ARM
JI Xiaoliang1,ZHANG Rong1,HE Aijun1,XIA Caoyu2
(1.Institute for Biomedical Electronic Engineering,Department of Electronic Science and Engineering,
Nanjing University,Nanjing,210093,China;2.CHEDC,Nanjing,210024,China)
Abstract:The embedded system application in DIS and the general model of DIS are introduced.The main parts of DIS are designed and implemented.It equips AT91SAM7SE512 as its main controller,contains many other components such as AD converter,LCD display with touch screen,ZigBee wireless,data storage device,etc.It utilizes μC/OS-Ⅱ real-time operating system,transplants FAT file system and graphical user interface.The data acquisition system has stable performance,and is easy to use.
Keywords:ARM;DIS;data acquisition;AT91SAM7SE512;μC/OS-Ⅱ
0 引 言
數字化信息系統實驗室(Digital Information System,DIS)是新一代的中小學實驗教學系統,是先進的數字技術應用到實驗教學的產物,也是探究、創新的實驗教學新理念注入傳統實驗教學后的必然結果。2006年,教育部將DIS納入了中小學實驗儀器裝備標準,建議有條件的學校配備[1]。目前,國內已有多家企業有相應的產品,但大多不夠成熟。而國外的類似產品雖然較為成熟,但價格偏高,難以普及。更重要的是,國外的產品不能夠很好地與我國的實驗教材配合,難以開展教學。在此提出一種廉價、功能強大、基于ARM技術的DIS采集系統設計。它是DIS的一個重要組成部分,并已與江蘇教育家教學裝備有限公司合作形成了產品。
1 DIS的組成
從物理結構上看DIS,可以分成三個部分:傳感器端、采集器端和計算機端。三個部分既緊密聯系,又相對獨立。三部分之間定義標準的接口,為不同的傳感器裝置、采集器的使用方式和計算機處理分析軟件的組合提供極大的靈活性;而三者結合可以提供強大的實驗功能,供師生創新和探究。事實上,用于傳感器物理量轉換、采集器數字化、計算機數據分析的實驗分析模型,也都是當今實驗科學研究的通用模型。
1.1 傳感器端
傳感器,又叫換能器,是將物理量轉換成電學量的器件。測量不同的物理量,需要不同的傳感器。對于DIS來說,傳感器端并非單指傳感器,而是傳感器和實驗裝置的總稱。針對不同的實驗,如何將傳感器與實驗裝置很好的結合,以便容易、真實、準確地完成實驗,是DIS傳感器端設計的一個難點。
1.2 采集器端
采集器的功能主要是通過模/數轉換器件,將傳感器端提供的電學模擬量數字化,以便作后續處理。對于DIS來說,采集器端是其主體,是一個復雜的系統,它需要保證數據采集的實時性、準確性;它需要處理與傳感器端和計算機端的交互;考慮到易用性,它往往還要對采集的數據作一些初步的顯示和分析。
1.3 計算機端
計算機端就是指基于通用計算機平臺的DIS相關軟件集合,其開發主要體現在軟件。這部分也非常重要,它提供了強大的數據分析和可視化功能。
2 DIS采集系統硬件設計
2.1 總體設計
該設計選用Atmel公司的AT91SAM7SE512微控制器為控制核心。AT91SAM7SE512微控制器內嵌ARM7TDMI處理器核心,主頻48 MHz,提供豐富的外設及接口,而且系統并行總線全數引出,擴展性強。AT91SAM7SE512性能優越,配以320×240的TFT真彩屏和觸摸屏,可以對采集的數據作采集器端的簡單處理和顯示,以豐富DIS系統的使用方式,提高便攜性和易用性[2]。
模/數轉換器件(ADC)選用Analog Devices公司的AD7323。AD7323為4通道,雙極輸入,12位ADC,最高采樣率達500 KSPS。其精度高,性能強,對于音頻采樣亦是綽綽有余,完全滿足DIS數據采集系統的要求,并有潛力完成將來可能出現的高采樣率需求的新實驗。
系統的整體硬件結構如圖1所示。
圖1 硬件原理框圖
系統擴展了大容量的SDRAM和DataFLASH,以滿足運行較大規模程序和大容量數據存儲的需求。E2PROM通過TWI(基本與I2C兼容)總線連接,以存儲系統重要的非易失性信息。
2.2 傳感器端的設計
如圖2所示,傳感器主要由傳感器前端、信號放大電路、A/D轉換電路和單片機組成。對于模擬傳感器,信號放大電路的輸出直接接至采集器,由采集器的高精度A/D做模/數轉換,串口只負責提供傳感器ID號等信息。對于數字傳感器,單片機負責控制本地A/D轉換,并將數據通過串口傳輸到采集器。數字傳感器留有通用無線模塊的接口,可以加裝通用無線模塊,將數據通過無線方式傳輸[5]。
2.3 與傳感器端的連接
傳感器分為模擬傳感器和數字傳感器。采集系統與傳感器端的連接分為有線和無線方式。在有線方式下,傳感器通過串口與采集器通信。數字傳感器的控制信號和數據都通過串口傳輸。為了獲得較高的數據精度,模擬傳感器的串口只傳輸控制信號,而將信號放大電路的輸出直接接至采集器端的高精度ADC,由采集器采樣處理。數字傳感器可以通過加裝通用無線模塊而變為無線數字傳感器(即無線方式)。通用無線模塊基于ZigBee將串口數據透傳。
圖2 傳感器端原理框圖
有線連接的接口加入了保護電路,支持熱插拔,以滿足實用需求。無線方式解除了某些實驗中由于連接電纜帶來的制約,并使得遠距離運動學實驗成為可能。目前,國內外同類產品中均沒有類似的功能。
2.4 與計算機端的連接
采集系統通過SD卡和USB電纜的方式與計算機端進行數據交換。SD卡體積小,容量大,價格便宜,既可以作為采集系統的擴展存儲,又可以作為采集系統與計算機端之間或者采集系統彼此之間交換數據的媒介。USB接口通用性強,數據傳輸率高,即插即用,是外設與計算機間通信的理想接口。
3 DIS采集系統軟件設計
3.1 總體概述
DIS采集器端的軟件以固件的形式固化在芯片內部FLASH之中。主要功能包括:硬件外設的驅動、實驗數據的實時采集與處理、人機交互以及與傳感器端和計算機端之間的通信。系統總體的軟件架構如圖3所示。
DIS采集系統作為一個數據采集的應用,首先要確保數據采樣的實時性和準確性;其次,系統還需要對數據做適當的處理并顯示;另外,系統還必須適時地對用戶的觸摸操作和計算機端的指令做出響應。軟件既要保證實時性,又要完成多項復雜的功能。小型嵌入式系統中常用的簡單的前后臺程序開發模型已不能滿足需要,于是引入了實時操作系統(RTOS)。它以多任務的模型管理程序功能,降低了程序開發的復雜度;搶占式的任務調度,保證了系統的實時性[6]。
軟件分為三個層次:設備驅動層、實時操作系統層和用戶應用層。
3.2 設備驅動層
設備驅動層在實現總線驅動的基礎上進而實現外設驅動。如圖2所示,總線驅動包括SPI驅動、USART驅動等。外設驅動包括ZigBee無線模塊驅動、LCD驅動、觸摸屏(Touch Screen,TS)驅動等。
圖3 軟件總體架構
3.3 實時操作系統層
采用小型實時操作系統內核μC/OS-Ⅱ,負責任務調度、任務間通信、內存管理、互斥訪問等[7]。又移植了FAT文件系統和GUI圖形庫,共同形成實時操作系統的概念。
3.4 用戶應用層
具體針對DIS采集系統的需要,劃分任務,完成各項功能。共劃分了五個任務,并根據緊迫性要求設置了不同的優先級。
(1) 采樣任務,負責與傳感器端的簡單通信及實時信號的采集。由于數據采樣的實時性和準確性是采集系統的第一重要任務,所以設置為最高優先級。
采樣任務由點擊圖形用戶界面的響應功能發起,也可由計算機通過USB命令發起。采樣任務首先檢測在線的傳感器類型,獲取他們的ID號,然后設置采樣率,裝載采樣中斷,并打開傳感器,最后打開中斷進入等待狀態,響應指令。采樣中斷根據采樣率定時采樣,如果是模擬傳感器,則讀取本地A/D,進行模/數轉換;如果是數字傳感器,則讀取串口的數據緩沖區,獲得采樣數據。對于特殊的傳感器還要做濾波等特殊處理。當采樣到足夠多的數據,則將數據包發送給處理程序。若是本地發起的采樣任務,則發送給界面任務處理予以顯示;若是計算機通過USB發起的,則發送給USB任務將數據轉發給計算機處理[8]。大致流程圖如圖4所示。
(2) 觸摸屏輸入任務,負責實時探測用戶的觸摸操作,更新輸入坐標。
(3) USB通信任務,負責響應計算機端的指令,根據需要,將采集數據傳輸到計算機端。
在初始化完成后,任務運行一個狀態機,進入空閑狀態。當接到計算機的USB中斷請求后,轉換為不同的狀態,以完成任務。大致流程圖如圖5所示。
圖4 采樣任務流程圖
(4) 圖形用戶界面任務,負責與用戶的交互,完成相應的操作,處理顯示數據等。
在初始化完桌面、菜單等一些窗口后,界面任務進入等待狀態,等待采樣數據,并定時刷新界面。若有顯示的需求,界面任務在接收到數據后,根據不同的顯示方式作相應的顯示。
圖5 USB通信任務流程圖
(5) 系統空閑任務,負責收集系統信息,更新系統狀態,刷新屏幕內容等。顧名思義,設置為最低優先級。
正如上面提及的順序,各任務優先級從高到低排列為:采樣任務,觸摸屏輸入任務,USB通信任務,圖形用戶界面任務,系統空閑任務。
4 結 語
經過測試,系統完成了設計功能,并且經過大批量,長時間的采集,系統沒有出現數據遺漏和出錯情況,能夠穩定的運行。
DIS是數字信息技術和嵌入式技術在教育領域的最新應用。分析了DIS系統的整體模型,給出了其主體的一個具體實現。由于硬件上定義了統一的接口,軟件上引入了實時操作系統,系統的擴展性極強。創新性地提出了傳感器的無線連接方式,以方便實驗。系統硬件上基于ARM7平臺,體積小,重量輕,功耗低,價格便宜;軟件上提供了圖形用戶界面,支持觸摸操作,使用方便,界面友好。系統集數據采集與分析顯示于一體,可獨立使用,又可以方便地與計算機通信,性能優越,穩定性好。可以預見,該設計在中小學實驗教學領域將有廣泛的應用前景。
參考文獻
[1]唐曉春.DIS在高中生物學實驗中的應用初探[J].生物學通報,2008,43(8):42-43.
[2]張曉偉,劉盼盼.ARM嵌入式系統設計原理與開發實例[M].北京:電子工業出版社,2008.
[3]賴于樹.ARM微處理器與應用開發[M].北京:電子工業出版社,2007.
[4]周立功.ARM微控制器基礎與實戰[M].北京:北京航空航天大學出版社,2003.
[5]王盟,馬艷崢,徐曉輝,等.一種無線數據采集及遠程監測系統的設計[J].現代電子技術,2009,32(1):30-32.
[6]周航慈,吳光文.基于嵌入式實時操作系統的程序設計技術[M].北京:北京航空航天大學出版社,2006.
[7]Jean J Labrosse.μC/OS-Ⅱ——源碼公開的實時嵌入式操作系統[M].邵貝貝,譯.北京:中國電力出版社,2001.
[8]Jean J Labrosse.嵌入式系統構件[M].袁勤勇,譯.北京:機械工業出版社,2002.
[9]胡小軍,張愛成.USB接口開發技術[M].西安:西安電子科技大學出版社,2005.
[10]張洪,董秀成.基于AVR單片機的通用USB接口模塊設計[J].國外電子元器件,2008(5):18-21.