新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于GENE-8310的嵌入式TinyOs系統(tǒng)設(shè)計

基于GENE-8310的嵌入式TinyOs系統(tǒng)設(shè)計

作者:張麗華,傅劍偉,錢 慧 時間:2008-12-15 來源:現(xiàn)代電子技術(shù) 收藏

  無線傳感器網(wǎng)絡(luò)是當(dāng)前國際上備受關(guān)注的、多學(xué)科高度交叉、知識高度集成的前沿?zé)狳c研究技術(shù),其核心技術(shù)Tinyos被譽為是“無線嵌入式系統(tǒng)”。Tinyos是一個開源的嵌入式操作系統(tǒng),他由加州大學(xué)的伯利克分校開發(fā)出來,越來越多的無線傳感器網(wǎng)絡(luò)通信協(xié)議正不斷被開發(fā)并加入Tinyos系統(tǒng)組件中,并應(yīng)用于技術(shù)研究和系統(tǒng)開發(fā)中。

本文引用地址:http://m.butianyuan.cn/article/90216.htm

  無線傳感器網(wǎng)絡(luò)通常利用無線技術(shù)在某個區(qū)域內(nèi)實時部署一個專用的無線局域網(wǎng)絡(luò)。傳輸傳感器上采集到的數(shù)據(jù)是無線傳感器網(wǎng)絡(luò)的主要目標(biāo)。在無線傳感器網(wǎng)絡(luò)的部署過程,Web服務(wù)器是確立網(wǎng)絡(luò)部署和監(jiān)控通信傳輸?shù)年P(guān)鍵。由于嵌入式操作系統(tǒng)具有高可靠性,在惡劣環(huán)境或突然斷電的情況下,系統(tǒng)仍然能夠正常工作,系統(tǒng)中的軟件代碼一般都固化在只讀存儲器中。因此,要求在惡劣環(huán)境中仍然能高穩(wěn)定工作的無線傳感器網(wǎng)絡(luò)可以采用嵌入式操作系統(tǒng)作為其實現(xiàn)平臺,這其中包括:嵌入式Linux,Windows CE,Windows XP Embedded,VxWorks,μCOSⅡ,QNX,F(xiàn)reeRTOS,還有定制版的NetBSD和FreeDOS等多種移植平臺。本文主要采用Windows XPEmbedded設(shè)計平臺。

  本文主要致力于在嵌入式開發(fā)板上移植Tinyos應(yīng)用操作系統(tǒng),將作為無線傳感器網(wǎng)絡(luò)中的遠(yuǎn)程服務(wù)器,實現(xiàn)無線網(wǎng)絡(luò)與有線網(wǎng)絡(luò)的跨網(wǎng)段傳輸和遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控。是研揚科技研制的第三代無風(fēng)扇解決方案,與以往的3.5 in單板電腦相比GENE-8310在低功耗和高性能方面都有很大的改進(jìn),對于客戶在低功耗控制下的優(yōu)秀處理能力等更高需求方面都是最好的選擇。

1 嵌入式Tinyos移植

  嵌入式Tinyos移植方案方框圖如圖1所示:

 

  首先,在開發(fā)機PC上,利用Microsoft Windows Embedded Studio工具套件中的組件設(shè)計器開發(fā)出網(wǎng)關(guān)MIB520的驅(qū)動組件,并結(jié)合第三方工具Dependencywalker,InCtr15開發(fā)出應(yīng)用程序cygwin.bat的組件,之后把構(gòu)建完成的驅(qū)動組件和應(yīng)用程序組件通過工具套件中的組件數(shù)據(jù)庫管理器導(dǎo)入到組件數(shù)據(jù)庫中,以便開發(fā)操作系統(tǒng)時添加。接下來定制Windows XP Embedded操作系統(tǒng)的功能組件,確定系統(tǒng)所支持的功能,再利用目標(biāo)設(shè)計器添加功能組件、組件數(shù)據(jù)庫中的驅(qū)動組件和應(yīng)用程序組件并生成Windows XP Embedded操作系統(tǒng)映像。最后再把操作系統(tǒng)映像部署到嵌入式目標(biāo)平臺——GENE-8310中,并將其作為無線傳感器網(wǎng)絡(luò)Web服務(wù)器,驗證Tinyos移植的結(jié)果。

2 嵌入式Tinyos移植開發(fā)流程

  無線傳感器網(wǎng)絡(luò)由節(jié)點、服務(wù)器和遠(yuǎn)程PC終端組成。節(jié)點負(fù)責(zé)采集外部數(shù)據(jù),完成后把數(shù)據(jù)通過網(wǎng)關(guān)轉(zhuǎn)發(fā)到服務(wù)器,最后由遠(yuǎn)程PC實時監(jiān)測數(shù)據(jù)。其中網(wǎng)關(guān)的作用重大,但是需要手動安裝驅(qū)動。通過網(wǎng)關(guān)驅(qū)動組件的開發(fā),便可把網(wǎng)關(guān)驅(qū)動集成在操作系統(tǒng)映像中,實現(xiàn)自動識別網(wǎng)關(guān)。同理,應(yīng)用程序也可作成組件。具體的移植開發(fā)流程如下:

  (1)開發(fā)網(wǎng)關(guān)驅(qū)動組件。該功能的實現(xiàn)相對比較簡單,可以將設(shè)備驅(qū)動程序.INF文件直接導(dǎo)入到組件設(shè)計器工具中。組件設(shè)計器會根據(jù)INF文件自動配置相關(guān)文件,之后便可生成該驅(qū)動組件。

  (2)開發(fā)相關(guān)的應(yīng)用程序組件。這里利用第三方工具軟件和Windows Embedded Studio工具套件來共同開發(fā)。首先利用InCtr15從安裝程序中捕獲信息,確定應(yīng)用程序所需的文件和注冊表設(shè)置。然后再根據(jù)DependencyWalker獲得應(yīng)用程序依賴項,即程序運行所必須的DLL的列表。最后再利用Windows Embedded Studio工具套件中的組件設(shè)計器生成該應(yīng)用程序組件。

  (3)定制Windows XP Embedded操作系統(tǒng)映像。確定Windows XP Embedded操作系統(tǒng)所要支持的功能組件,如要支持USB設(shè)備,則添加相關(guān)USB功能組件,要支持網(wǎng)絡(luò)功能,則添加TCP/IP協(xié)議。通過可實現(xiàn)縮小嵌入式系統(tǒng)的體積,這就嵌入式系統(tǒng)的可裁減特性,便于實現(xiàn)特定場合的應(yīng)用。

  (4)生成和部署Windows XP Embedded操作系統(tǒng)映像。定制完系統(tǒng)功能之后,利用目標(biāo)設(shè)計器添加功能組件,進(jìn)行關(guān)聯(lián)性檢查之后生成Windows XP Embedded操作系統(tǒng)映像。該映像可以在目標(biāo)設(shè)備上直接運行,并可以運行特定的應(yīng)用程序。

  (5)移植應(yīng)用及功能測試。當(dāng)應(yīng)用程序移植完后,必須測試其能否在目標(biāo)設(shè)備正常運行。運行應(yīng)用程序,如果應(yīng)用程序無法運行,則其會出現(xiàn)相應(yīng)的提示信息,如文件無法找到等,根據(jù)提示添加缺少的文件和注冊表項即可解決。因為Tinyos的主要應(yīng)用是無線傳感器網(wǎng)絡(luò),故將其應(yīng)用于無線傳感器網(wǎng)絡(luò)的Web服務(wù)器。

  無線傳感器將采集溫度數(shù)據(jù),在網(wǎng)絡(luò)運行正常、應(yīng)用程序移植成功的情況下,遠(yuǎn)程主機能接收到溫度數(shù)據(jù),并能顯示出來。

2.1 MIB520網(wǎng)關(guān)驅(qū)動組件開發(fā)

  MIB520具備網(wǎng)關(guān)的基本功能,接口為USB。安裝完MIB520驅(qū)動之后,其會在計算機上生成2個虛擬串口,一般是COM3和COM4。COM3一般是編程端口,COM4為通信端口。驅(qū)動程序里包括2個FTDIBUS.INF和FT-DIPORT.INF文件,他含有網(wǎng)關(guān)的信息或腳本和控制網(wǎng)關(guān)的操作。在INF文件中指明網(wǎng)關(guān)驅(qū)動該如何安裝到系統(tǒng)中,源文件在哪里、安裝到哪一個文件夾中、怎樣在注冊表中加入自身相關(guān)信息。設(shè)計主要分為6步:

  (1)在組件設(shè)計器里分別導(dǎo)入網(wǎng)關(guān)驅(qū)動自帶的FT-DIBUS.INF和FTDIPORT.INF文件;

  (2)在驅(qū)動程序目錄里找出Files列出的文件名稱,把這些文件拷貝到自己命名的文件夾里;

  (3)在Repositories文件夾下新建一個Repositories,重命名為FTDIBUS,在Source Path中,找到剛才拷貝Files下文件所在的文件夾,并添加;

  (4)點擊Component下USB Serial Converter組件,在右邊找到“Repositoty”,點擊Repositories按鈕,選中新建的Repository為FTDIBUS;

  (5)在Components上點右鍵,選擇release,在GroupMemberships上,右鍵選擇Add Group Membership,并選擇一個組;

  (6)在目標(biāo)設(shè)計器中搜索可找到4個與網(wǎng)關(guān)相關(guān)的組件USB Serial Converter,USB Serial Port1,USB SerialPort2,USB Serial Port3

2.2 應(yīng)用程序組件開發(fā)

  移植TinyOS嵌入式系統(tǒng)需要開發(fā)MoteWorks 2.0,Cygwin和XServe三個部分的組件。在移植過程中需要先利用InCtrl5導(dǎo)出應(yīng)用程序組件所需的文件清單和注冊表信息。在獲得相關(guān)文件后,應(yīng)用程序組件的開發(fā)過程與驅(qū)動組件開發(fā)大體上相似。不同的是,他沒有.INF文件,故Components文件夾下的Files,Registry Data下的文件和注冊表項需要手動添加,并且要設(shè)置好在目標(biāo)設(shè)備上的路徑。

2.3 構(gòu)造Windows XP Embedded操作系統(tǒng)映像

  (1)目標(biāo)平臺分析。分析目標(biāo)設(shè)備上GENE-8310的硬件,使用的硬件分析工具TAP.EXE來識別硬件。他會對的系統(tǒng)進(jìn)行檢測,并創(chuàng)建一個硬件定義文件devices.pmq。

  (2)創(chuàng)建初始化配置。在目標(biāo)設(shè)計器上創(chuàng)建一個配置(Configuration),并重命名為WSN SERVER0.six,導(dǎo)入devices.pmg。文件導(dǎo)入過程,即分析硬件,并從組件數(shù)據(jù)庫中選取相應(yīng)組件的過程。完成后軟件自動添加所有的硬件支持組件。此時,系統(tǒng)共添加了66組件,F(xiàn)AT格式下大小為6 676 kB,NTFS格式下為4 806 kB。

  (3)關(guān)聯(lián)性檢查。在目標(biāo)設(shè)計器的菜單欄Tools的Options…中對關(guān)聯(lián)性檢查進(jìn)行設(shè)置。將DependencyCheek中的Auto-resolve dependencies選項鉤上。設(shè)置完后,關(guān)聯(lián)性檢查會自動添加關(guān)聯(lián)的組件,如果要把握組件的內(nèi)在聯(lián)系,則Auto-resolve dependencies前的鉤可以去掉,但是要根據(jù)提示逐一添加。此時,系統(tǒng)添加的組件已達(dá)423個,壓縮后大小為120 MB。但是提示有4errors。這是由于一些功能組件未添加進(jìn)去,如要支持的語言、登陸方式、文件系統(tǒng)等。雙擊提示,分別選擇NT Loader,English Language Support,Windows Logon,F(xiàn)AT Format,NTFS Format。

  (4)定制功能組件。根據(jù)傳感器網(wǎng)絡(luò)應(yīng)用,要求支持USB設(shè)備、TCP/IP協(xié)議,則這二者必須添加。其余的功能組件也適當(dāng)添加,組件添加完成后,所有的組件列表如圖2所示。

 

  (5)生成映像

  向WSN SERVER0配置中添加上述必須的核心組件。再次進(jìn)行關(guān)聯(lián)性檢查,完成無誤后,展開WSNSERVER0.slx,選中Settings,這時右邊的屬性設(shè)置面板會顯示可以設(shè)置的選項。以上設(shè)置完成后,組件達(dá)527個,壓縮后大小為186 MB。最后,按下Build按鈕,目標(biāo)設(shè)計器會完成映像的構(gòu)建,并輸出到指定的文件下。

2.4 部署Windows XP Embedded操作系統(tǒng)映像

  將GENE-8310的硬盤格式化,分區(qū)并激活主分區(qū)。然后將開發(fā)機上生成的映像(D盤目錄中)拷貝到GENE-8310 C盤的根目錄下。

  將顯示器、硬盤、光驅(qū)、鼠標(biāo)、鍵盤連接至GENE-8310,從光盤啟動進(jìn)入DOS環(huán)境下,運行BOOTPREP.EXE(可以在開發(fā)機C:\Program Files\Windows Embed-ded\utilities中找到)。重啟進(jìn)入FBA(First Boot Agent)階段,第一次啟動Windows XP Embedded后系統(tǒng)會進(jìn)行必要的設(shè)置,會花費比較長的時間。FBA之后,系統(tǒng)就可以正常運行,到此,完成了整個開發(fā)過程。

3 系統(tǒng)測試

  在系統(tǒng)測試過程中,本文使用了采用克爾斯博科技公司的Micaz和配套的網(wǎng)關(guān)MIB520搭建的實際的無線傳感器網(wǎng)絡(luò)。調(diào)試無線傳感器網(wǎng)絡(luò)的主要工作在于驗證移植的應(yīng)用程序cygwin.bat調(diào)用的XServe能否正常工作。調(diào)試完cygwin.bat界面如圖3所示。

  在命令提示符后輸入xserve—device=com4,即調(diào)用XServe。XServe調(diào)用結(jié)果顯示如圖4所示。

  最后,在客戶端MoteView顯示的溫度數(shù)據(jù)如圖5所示:

 

  Data標(biāo)簽下顯示的是該傳感器網(wǎng)絡(luò)實時的溫度數(shù)據(jù),在temp一欄顯示為29.65C。至此,無線傳感器網(wǎng)絡(luò)的調(diào)試工作已經(jīng)完成,GENE-8310實現(xiàn)了作為無線傳感器網(wǎng)絡(luò)Web服務(wù)器的功能,證明Tinyos應(yīng)用操作系統(tǒng)移植成功。

4 結(jié) 語

  作為一項正在研究中的新興技術(shù),無線傳感器網(wǎng)絡(luò)從20世紀(jì)90年代開始逐步為人熟知,目前有多種通信標(biāo)準(zhǔn)正在制定中。TinyOS平臺的設(shè)計和移植一直是無線傳感器網(wǎng)絡(luò)研究的重要技術(shù)之一。在GENE-8310嵌入式開發(fā)板上移植TinyOS系統(tǒng)是一個新的技術(shù)嘗試。

 

tcp/ip相關(guān)文章:tcp/ip是什么




關(guān)鍵詞: GENE-8310 TinyOs

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉