<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    支持網絡傳感器的嵌入式操作系統設計

    發布時間:2010-9-29 13:16    發布者:conniede
    關鍵詞: 傳感器 , 通信網絡
    一 引言

    網絡傳感器是集傳感器技術、嵌入式計算技術、現代網絡及通信技術、分布式信息處理技術于一身的資源受限的嵌入式設備,是“普適計算”在微型嵌入式領域的一種重要應用模式。

    網絡傳感器的研究過去一直受限于硬件平臺而發展緩慢。隨著半導體技術、通信技術、微電子技術和微機械技術的不斷進步,低功耗、低價格、多功能的傳感器網絡系統得到了快速發展,使得制作微小、有彈性、低功耗的傳感器節點成為現實。

    二 背景

    1 應用特點

    網絡傳感器應用有其自身的特點,主要有以下幾個方面:小尺寸和低功耗、并發密集操作、有限的物理并行性和控制層次、多樣化的設計和使用。一方面,傳感器資源極其有限,給底層嵌入式程序設計帶來較大的限制;另一方面,傳感器上運行的應用程序和系統內核通常是緊密結合在一起的,且運行時需要的任務數量、執行時間、執行結果以及內存消耗等是可以較好預計的。

    此外,傳感器種類繁多,針對不同應用場合需要不同種類的傳感器;在軍事應用、空間探索等特定應用場合下,更是需要大量的不同種類的傳感器協同合作來完成特定應用事件。因而傳感器上運行的軟件系統如果能夠具備相對較好的靈活性、可配置性和可重用性,將能更好地滿足應用需求。

    1.1 現有嵌入式OS比較

    當前存在眾多的嵌入式操作系統,其中具有代表性的如Vxwork、WindowsCE,pSOS和Neculeus等,它們的優點是:功能強大;具有豐富的API和嵌入式應用軟件;具備良好的實時性能,尤以Vxwork為代表;具備良好的穩定性。缺點是:價格昂貴;源代碼不公開,以及由此導致的諸如對設備的支持、應用軟件的移植等一系列的問題;另外對于傳感器器件來說,這些嵌入式OS都顯得過于“龐大”了一些。 uc/os和嵌入式Linux當前正獲得越來越廣泛的應用。

    它們的優點是:執行效率高、占用空間小、可擴展性能好,同時是免費且源代碼公開的。uc/os具備良好的實時性能,嵌入式Linux的實時性能有待進一步提高。缺點是:它們都是相對通用的嵌入式操作系統,不能完全適應傳感器應用領域的需求,如嵌入式Linux最小仍然需要上百K的ROM和RAM空間才能工作,而uc/os的內核盡管可縮減至幾K,但是對于某些傳感器應用來說,仍然顯得不夠精簡。

    UC Berkeley設計開發了無線傳感器網絡應用的嵌入式操作系統TinyOS以及系統編程語言nesC。我們在剖析現有嵌入式OS特別是TinyOS的基礎之上,設計實現了支持網絡傳感器的微型嵌入式操作系統γOS,并開發了系統編程語言AntC。

    1.2 γOS設計

    γOS是以網絡傳感器應用為目標的微型嵌入式操作系統,針對網絡傳感器的前述應用特點,γOS的設計具備幾個特性:支持足夠微小的硬件系統,便于傳感器設備在檢測環境中的任意撒布;支持足夠低的系統功耗,保證傳感器設備具備足夠長的生命期;支持集成可與物理世界交互的傳感設備,實現數據的采集和傳輸;同時兼顧適度靈活的可重用性、可配置性。

    γOS還必須解決傳感器網絡的兩個突出問題:

    1)由于網絡傳感器操作的并發密集性,因而必須保證眾多不同數據流的并發即時傳輸;

    2)系統必須提供高效的模塊化管理策略,具體硬件設備和具體應用組件必須緊密地結合在一起,減小處理和存儲開銷。為此,γOS的設計重點主要集中在以下幾個方面:低能耗的微型內核;微線程的系統架構;組件化的功能設計;支持傳感通信的接口。

    1.3 支持低能耗的微型內核

    為了降低能耗,γOS設計了一種相對簡單的內核機制,它由兩部分組成:系統初始化代碼以及一個微小的核心調度組件。系統初始化代碼具有平臺相關性;核心調度組件實現基于優先級的兩級調度機制,它分別由兩個調度隊列組成:事件隊列和任務隊列。事件隊列優先級高于任務隊列的優先級,每個隊列內部基于FIFO調度機制。


    圖1 γOS的內核調度示意圖

    此外,為了降低能耗,在借鑒TinyOS的能耗管理算法的基礎之上,設計實現了能耗控制組件:動態電源管理DPM組件和動態電壓調整DVS組件。

    1.4 微線程的系統架構



    圖2 微線程的系統架構

    如圖2所示,γOS的通過組件來實現基于事件驅動模式的微線程系統架構,采用事件觸發去喚醒相應的功能組件工作。每個功能組件可以由以下幾個部分組成:事件處理函數 用以實現對底層硬件中斷的處理,如MCU外部中斷、定時器中斷等,它可以向核心調度組件提交任務,但并不等待任務的執行。事件優先級高,可搶占任務執行,可以傳遞。

    它提供了一個簡明的方法用于抽象軟硬件之間的邊界,使得支持硬件中斷變得非常簡單。

    命令:  用以執行對底層組件的操作,是非阻塞的,且必須向調用者返回命令執行的結果(成功或失敗)。

    任務: 用于表示組件中計算相對集中的一組操作。任務不具有搶占性,任務與任務之間是原子化的,以先進先出的方式執行,即一個任務必須執行完之后才能執行下一個任務。但任務可以被事件處理函數搶占。  
    組件狀態 用以表示組件當前的工作狀態,可以被自己的功能函數或其他組件所參考。
    利用微線程的系統架構,γOS可有效降低上下文切換代價;同時,通過引入原子語句來處理任務和事件,甚至事件和事件之間的并發操作,實現微線程異步通訊機制,有效地避免阻塞、輪詢和數據資源競爭。

    1.5 組件化的功能設計

    在特定應用場合下,需要大量的不同種類的傳感器協同合作來完成特定應用事件,因而傳感器上運行的軟件系統具備相對較好的靈活性和可配置性。

    為此,γOS提供了對組件化的功能設計方式的支持。γOS可分解為一個核心調度組件和若干功能組件,F有的功能組件主要包括:能耗控制組件如動態電源管理DPM組件和動態電壓調整DVS組件,AntIP協議(支持微型嵌入式TCP/IP協議)組件,USB驅動組件,網卡驅動組件和XML分析器組件等。

    根據不同應用配置不同的功能組件,以實現特定的目標。γOS支持靜態配置和動態加載兩種方式。靜態配置組件最少可只包括一個核心調度組件,而其他的功能組件

    可根據相應的應用需求選擇預先靜態配置方式或者動態加載方式。


    圖3 γOS組件示意圖

    1.6 支持傳感通信的接口

    γOS通過AntIP組件實現對傳感器通信的接口支持,主要有支持傳感器節點間的對等(Peer-To-Peer)通信和組播通信模式,支持傳感器節點與PC間的對等通信模式和支持基于事件的異步通信處理模式。

    AntIP是一個適用于8/16位機的微型嵌入式TCP/IP協議棧,它盡管去掉了許多全功能協議棧中不常用的功能,但仍然保留了網絡通信所必要的協議機制,支持ARP,IP,ICMP,TCP,UDP等協議,并且提供了簡易的應用層接口和設備驅動層接口。AntIP的設計借鑒了uip的設計思想。

    2 典型應用



    圖4 硬件平臺示意圖

    γOS是以網絡傳感器應用為目標的,它可以運行在多種目標傳感器上。我們采用γOS機制,針對圖像數據采集方面的應用,設計了一套較典型的網絡圖像傳感器系統。該系統主要由主控模塊、存儲模塊、USBhost模塊、以太網模塊、攝像頭模塊和串口模塊(預留接口)組成,采用的芯片分別為Philips公司的p89c60x2(80C51芯片)、USB控制芯片SL811HS、RAM芯片62256和NIC芯片RTL8019AS。

    平臺部分初始化代碼(AntC語言)如下:

      useSL811HS

    useCamera

    useRTL8019

    classPlatform

    {

    publicstaticintInit()

    {

    RTL8019.Init();

    if(SL811HS.UsbInit()==FALSE)

    return-1;

    if(Camera.CameraInit()==FALSE)

    return-1;

    if(Camera.CameraStart()==FALSE)

    return-1;

    AntIP.Init();

    return1;

    }

    publicstaticvoidStart()

    {

    postAntIP.Run;

    }

    publicstaticvoidmain()

    {

    Init();

    Start();

    }

    }


    該部分代碼做了網卡模塊、USB模塊以及攝像頭模塊的初始化工作。

    結語

    采用γOS的網絡圖像傳感器的各模塊的代碼量及所需數據空間大小如表1所示。從該表中可看出γOS的核心代碼量基本接近TinyOS的核心代碼量。

    表1 模塊代碼量與所需數據空間



    在這篇文章中,我們簡要闡述了網絡傳感器在普適計算環境下的應用特點,介紹了一個以網絡傳感器為應用目標的嵌入式操作系統γOS的設計和幾個特點,并建立了一個典型應用平臺,最后簡要給出了γOS在該平臺上的性能。
    本文地址:http://www.portaltwn.com/thread-29942-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷