• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設計應用 > 基于無線傳感器網絡的橋梁監測系統研究

    基于無線傳感器網絡的橋梁監測系統研究

    作者: 時間:2012-12-05 來源:網絡 收藏

    4 TinyOS 的與移植

    TinyOS 是由UCBerkeley 開發的一種組件的開源嵌入式操作,其應用領域是。在中, 節點有兩個突出的特點: 一是并發性強, 可能存在多個需要同時執行的邏輯控制; 二是節點的模塊化程度高。這兩個特點給設計面向傳感器的操作提出了新的挑戰。針對這些特點, 加州大學伯克利分校開發出了適合傳感網絡的組件化編程語言nesC 和微型操作TinyOS, 引入了輕量級線程( lightweight thread) 、主動消息( active message) 、事件驅動( event-driven) 模式、 組件化編程( componentbased programming ) 等技術, 很好地利用了傳感器節點的有限資源。目前這個系統被國內外大學和機構廣泛應用。

    4.1 TinyOS 的組件模型

    TinyOS 組件化編程語言nesC 實現, 將模塊化/組件化編程同事件驅動的執行聯系起來。可以將TinyOS 及在其上運行的應用程序看成是由許多功能獨立且相互有聯系的軟件組件構成, 一個組件提供一些接口。接口中包含命令和事件,命令是接口具有的功能,接口使用者可以通過關鍵字call 來調用命令; 事件是接口具有事件通告的能力, 可以通過關鍵字signal 來通知使用者事件發生, 事件在接口使用者的組件中實現。組件又分為模塊文件(module)和配線文件(configuration)兩種。模塊文件具體實現接口中的命令和事件; 配線文件則完成組件之間的接口連接。一般一個應用程序,只能有一個頂層配件。

    4.2 TinyOS 的調度機制

    TinyOS 的調度機制比較簡單, 按照輕量級線程( 即任務) 以FIFO 的方式調度, 線程之間不允許強占; 當有硬件中斷到來時,可以打斷用戶的輕量級線程, 對硬件中斷進行快速響應。任務可以調用下層命令, 可以向上層發信號通知事件發生, 也可以在組件內部調度其他任務。任務的原子性, 使得TinyOS 只需要維護一個任務堆棧就可以了。這種方法在資源極其有限的傳感器節點中顯得十分有效。TinyOS 是事件驅動型的操作系統。當一個任務完成后, 就可以觸發一個事件, TinyOS就會自動調用相應的處理函數。因此, CPU 只有在有事件觸發時才喚醒處理, 其余時間都可以處于睡眠狀態, 從而可以大大降低系統的能耗。

    4.3 TinyOS 通信機制

    TinyOS 的通信方式采用主動消息模型(AM)。AM是面向消息通信的一種通信模式, 它是基于地址的, 并且支持信息確認和分發。為了在應用層實現更加復雜的通信協議, 需要把主動消息模型實現為TinyOS 的一個基本通信組件, 這樣既可以屏蔽下層不同的通信硬件, 也可以為上層提供統一的通信原語, 方便應用開發。當數據通過網絡到達傳感器節點時, 首先要進行緩存, 然后主動消息的分發(dispatch)層把緩存中的消息交給上層處理。因為nesC不支持動態分配內存, 所以要求每個應用程序在消息被釋放以后, 必須能返回一塊未用的內存, 來接收下一個將要到來的消息。因此, 主動消息通信組件需要維持一個額外的消息緩存。在TinyOS 中, 每次消息發送后, 接收方都會發送一個同步的確認消息。為了節省開銷,在主動消息的最底層生成確認包,并且每次僅僅發送一個隨機數序列作為確認。

    4.4 TinyOS的移植處理

    TinyOS 操作系統的移植主要考慮硬件處理器是否支持對nesC(gcc) 的編譯, 以及對TinyOS 中與硬件平臺相關部分的處理。我們選用Atmel 公司的AVR 芯片作為微處理器, gcc對AVR 有良好的支持, 因此不需要做nesC 從GCC 里的解耦。TinyOS 有三層硬件抽象結構(HAA) , 分別為硬件描述層(HPL) 、硬件改編層(HAL) 和硬件接口層(HIL) 。分層結構和組件化描述提高了可移植性, 并簡化了應用層軟件的開發。越底層的跟硬件越相關, 上層的組件調用下層提供的接口。HPL層主要是對硬件資源的描述, 通過內存或I/O 映射端口與硬件建立通訊。它隱藏了硬件的復雜性, 為上層提供顯示硬件能力的接口; HAL則是在HPL基礎上對硬件特定功能的封裝, 是與硬件相關的功能函數接口; HIL則是與硬件無關的功能函數接口。

    據上分析,移植時, 只需要根據我們硬件平臺的資源修改HPL和HAL開頭的文件即可, 在HPL文件中加入硬件資源的描述, 在HAL文件中修改硬件資源的功能函數。

    5 網絡通信協議

    目前, 通信協議特別是鏈路層的MAC協議和網絡層的路由協議是傳感網絡的熱點。針對不同的應用, 研究人員提出了不同的MAC 協議和路由協議, 這些協議各有長處。本系統在網絡層采用CTP(Collection Tree Protocol) 路由協議, 鏈路層則采用LEEP( Link Es timate ExchangeProtocol)協議來計算雙向鏈路質量, 以給上層的路由選擇提供基礎。通訊協議抽象層結構如圖2。

    系統通訊協議層結構

    圖2 系統通訊協議層結構

    光纖傳感器相關文章:光纖傳感器原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 布拖县| 尤溪县| 吉首市| 青神县| 远安县| 墨江| 定州市| 平南县| 谢通门县| 孟村| 正定县| 余干县| 永修县| 裕民县| 昔阳县| 迭部县| 绩溪县| 闸北区| 黄平县| 铜梁县| 玉树县| 永年县| 常山县| 兴安盟| 昌图县| 海盐县| 荆门市| 东源县| 六盘水市| 英吉沙县| 呼伦贝尔市| 阳江市| 五河县| 佛山市| 荣成市| 茂名市| 柳河县| 公主岭市| 金阳县| 新乐市| 崇明县|