freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于無線傳感器的振動檢測畢業(yè)論文-文庫吧

2025-06-08 16:18 本頁面


【正文】 口連接外部傳感器。應用Crossbow的MoteView可實現(xiàn)數(shù)據(jù)記錄和顯示功能。 數(shù)據(jù)采集板 MDA320也是無線傳感器網(wǎng)絡使用最多的芯片之一,每個傳感器都將通過電纜與MDA320連接,通過其板載的模數(shù)轉換器將傳感器采集的模擬信號轉換為數(shù)字信號。同時MDA320通過其板上的插口與XM2110連接,轉換出來的數(shù)字信號經(jīng)過無線電發(fā)送至網(wǎng)關節(jié)點。 CXL10GP3加速計,采用MEMs(微機電系統(tǒng))工藝制造而成。內置包括放大和濾波在內的信號調理電路。直接輸出0~5V標準信號。出廠前經(jīng)過標準測試,提供可信的振動信號輸出。 加速計安裝時加速計通過電線與數(shù)據(jù)采集板相連,數(shù)據(jù)采集板通過插口和XM2110無線電板相連。電池也安裝在無線電板的背面,從而構成一個最基本的數(shù)據(jù)采集單元。該單元通過無線電與網(wǎng)關節(jié)點上的無線電雙向傳輸信息,從而接受命令收集數(shù)據(jù)并將數(shù)據(jù)送至計算機上的XServe軟件。 軟件結構 軟件結構總攬MoteWorks是Crossbow公司的軟件開發(fā)平臺,提供了nesC程序的一整套開發(fā)環(huán)境及附屬軟件包。本文的主要工作都在這個平臺上進行。MoteWorks軟件包主要內容為:Cygwin:Windows環(huán)境下模擬POSIX環(huán)境NCC:nesC語言編輯器PN:Progrmmer Note,代碼編輯器Uisp:程序下載器XServe:無線傳感器網(wǎng)絡服務器中間件Moteview:無線傳感器網(wǎng)絡客戶端管理和監(jiān)控軟件PostreSQL:數(shù)據(jù)庫與硬件層次相對應的是相應的軟件層次結構,TinyOS下的nesC語言應用程序運行在硬件體系的葉子節(jié)點上。專為嵌入式網(wǎng)絡系統(tǒng)設計的TinyOS和nesc語言擁有代碼量小、耗能少、并發(fā)性高、健壯性好的特點,能夠很好的適應無線傳感器網(wǎng)絡節(jié)點的硬件環(huán)境。(對TinyOS和nesc的進一步介紹將在本節(jié)的后面部分展開)同時在計算機端運行著Crossbow公司開發(fā)的服務軟件XServe,其負責監(jiān)聽網(wǎng)關的串口捕獲節(jié)點上傳的數(shù)據(jù)并對其進行解析。通過鍵入相應的命令可以使數(shù)據(jù)顯示,存儲或者轉發(fā)到指定端口。本文中XServe的數(shù)據(jù)將被轉發(fā)到實驗室一位師兄編寫的網(wǎng)站上,并在其網(wǎng)頁上即時的顯示出來。當然這個網(wǎng)站就是我們軟件結構的客戶端部分。:接下來我們將按照由傳感器節(jié)點到網(wǎng)關,由節(jié)點層到服務器層最終到客戶端的順序來說明軟件層次中每一部分的結構和功能。首先從無線傳感器網(wǎng)絡開始。 TinyOS受限于有限硬件資源,無線傳感器網(wǎng)絡節(jié)點操作系統(tǒng)設計應滿足如下的要求:圖 系統(tǒng)整體結圖1. 小代碼量由于節(jié)點的內存有限, 因此運行在其上的操作系統(tǒng)核心代碼量必須較小, 使其可以在有限的空間中具備高效管理硬件的能力。2. 模塊化無線傳感器網(wǎng)絡設計的趨勢是針對特定的應用而不是普遍的應用, 不同的應用所需要的硬件平臺是不相同的。隨著無線傳感器網(wǎng)絡的廣泛應用, 節(jié)點構成的變化是巨大的。在特定的硬件平臺上, 根據(jù)不同的應用快速便利地結合軟件模塊實現(xiàn)應用是非常重要的。3. 低功耗WSN 的大多數(shù)節(jié)點采用電池供電。由于節(jié)點數(shù)量眾多以及節(jié)點被散布的環(huán)境使頻繁更換節(jié)點的電池是不可行的, 甚至是不可能的, 因此低功耗的操作將延長整個網(wǎng)絡的生命周期, 是操作系統(tǒng)設計必須滿足的條件。4. 并發(fā)操作性在傳感器網(wǎng)絡的節(jié)點上存在著大量的并發(fā)操作, 如數(shù)據(jù)采樣、數(shù)據(jù)處理、數(shù)據(jù)轉發(fā)可能同時進行。操作系統(tǒng)需要具備支持嚴格并發(fā)操作的能力。5. 健壯性WSN 節(jié)點數(shù)量眾多以及運行環(huán)境特殊, 要求運行在單個節(jié)點上的操作系統(tǒng)不但健壯, 而且應該便利地適應于可靠的分布式應用的發(fā)展。TinyOS(TinyMicro Threading Operating System)是一個開源的嵌入式操作系統(tǒng), 它由加州大學伯克利分校開發(fā),主要應用于無線傳感器網(wǎng)絡方面。目前在世界范圍內,有超過500個研究小組或者公司正在Berkeley / Crossbow的節(jié)點上使用TinyOS[5]。 Ⅰ. TinyOS 的特點和體系結構伯克利大學開發(fā)的TinyOS 采用了組件的結構, 它是一個基于事件的系統(tǒng)。其設計的主要目標是代碼量小、耗能少、并發(fā)性高、健壯性好, 可以適應不同的應用。TinyOS 系統(tǒng)、庫及應用程序都是用nesC 語言寫的語言寫的,這時一種新的用于編寫結構化的基于組件的應用程序的語言。nesC 語言主要用于諸如傳感器網(wǎng)絡等嵌入式系統(tǒng)。nesC具有類似于C 語言的語法,但支持TinyOS 的并發(fā)模型,同時具有結構化機制、命名機制,能夠與其他軟組件連接在一起從而形成一個健壯的網(wǎng)絡嵌入式系統(tǒng)。其主要目標是幫助應用程序設計者建立可易于組合成完整、并發(fā)式系統(tǒng)的組件,并能夠在編譯時執(zhí)行廣泛的檢查。TinyOS 定義了許多在nesC 中所表達的重要概念。首先,nesC 應用程序要建立在定義良好、具有雙向接口的組件之上。其次,nesC 定義了并發(fā)模型,該模型是基于任務(tast)及硬件事件句柄(hardware event handler)的,在編譯時會檢測數(shù)據(jù)競爭(data race)。Ⅱ. TinyOS的并發(fā)模型(Concurrency Model)TinyOS 一次僅執(zhí)行一個程序。組成程序的組件來自于兩個方面,一部分是系統(tǒng)提供的組件,另一部分是為特定應用用戶自定義的組件。程序運行時,有兩個執(zhí)行線程:一個稱為作業(yè)(task),另一個稱為硬件事件句柄(hardware event handler)。作業(yè)是被延期執(zhí)行的函數(shù),它們一旦被調度,就會運行直至結束,并且在運行過程中不準相互搶占。硬件事件句柄是用來處理相應硬件中斷的,雖然也要運行完畢,但它們可能會搶占任務或其他硬件事件句柄的執(zhí)行。命令和事件要作為硬件事件句柄的一部分而執(zhí)行必須使用關鍵字async 來聲明。因為任務和硬件事件句柄可能被其他異步代碼所搶占,所以nesC 程序易于受到特定競爭條件的影響,導致產生不一致或不正確的數(shù)據(jù)。避免競爭的辦法通常是在任務內排他地訪問共享數(shù)據(jù),或訪問所有數(shù)據(jù)都使用原子語句。nesC 編譯器會在編譯時向程序員報告潛在的數(shù)據(jù)競爭,這里面可能包含事實上并不可能發(fā)生的沖突。如果程序員確實可以擔保對某個數(shù)據(jù)的訪問不會導致麻煩,可以將該變量使用關鍵字norace 來聲明。但使用這個關鍵字一定要格外小心。Ⅲ. TinyOS 的調度機制TinyOS 提供作業(yè)加事件的兩級調度。作業(yè)一般用于對時間要求不高的應用中, 它實際上是一種延遲計算機制。作業(yè)之間互相平等, 沒有優(yōu)先級之分, 所以作業(yè)的調度采用簡單的FIFO。作業(yè)間互不搶占, 而事件( 大多數(shù)情況下是中斷) 可搶占。即作業(yè)一旦運行, 就必須執(zhí)行至結束, 當作業(yè)主動放棄CPU 使用權時才能運行下一個作業(yè), 所以TinyOS 實際上是一種不可剝奪型內核。內核主要負責管理各個作業(yè), 并決定何時執(zhí)行哪個作業(yè)。TinyOS 的作業(yè)隊列如果為空, 則進入極低功耗的Sleep 模式。當被事件觸發(fā)后, 在TinyOS 中發(fā)出信號的事件關聯(lián)的所有作業(yè)被迅速處理當這個事件和所有作業(yè)被處理完成, 未被使用的CPU 被置于睡眠狀態(tài)而不是積極尋找下一個活躍的事件[6]。由前所述, TinyOS 調度機制有以下特點:1. 作業(yè)單線程運行到結束, 只分配單個作業(yè)棧,這對內存受限的系統(tǒng)很有利。2. 沒有進程管理的概念, 對作業(yè)按簡單的FIFO 隊列進行調度。對資源采取 圖 TinyOS作業(yè)調度過程預先分配, 且目前這個隊列里最多只能有7 個待運行的作業(yè)。FIFO 的作業(yè)調度策略是電源敏感的。當作業(yè)隊列為空時, 處理器休眠, 隨后由外部事件喚醒CPU 進行作業(yè)調度。3. 兩級的調度結構可以實現(xiàn)優(yōu)先執(zhí)行少量同事件相關的處理, 同時打斷長時間運行的作業(yè)。4. 基于事件的調度策略, 只需少量空間就可獲得并發(fā)性, 并允許獨立的組件共享單個執(zhí)行上下文。同事件相關的作業(yè)集合可以很快被處理, 不允許阻塞, 具有高度并發(fā)性。5. 作業(yè)之間互相平等, 沒有優(yōu)先級的概念。 nesc語言TinyOS最初是用匯編和C 語言編寫的。但是C 語言不能有效、方便地支持面向無線傳感器網(wǎng)絡的應用和操作系統(tǒng)開發(fā)。為此科研人員經(jīng)過研究對C 語言進行了一定的擴展, 提出了支持組件化編程的nesC 語言。Ⅰ. Nesc的特點1. nesC是c 語言的一個擴展: C 語言可以為所有在傳感器網(wǎng)絡中可能被用到的目標微控制器生成高效代碼。C 為硬件訪問提供了所有必要的底層功能部件, 并且簡化了和現(xiàn)存C 代碼的交互過程, 而且許多程序開發(fā)人員都熟悉C 語言。但是, C 語言也有許多的不足之處: C 語言的安全性和程序結構化方面做的工作很不夠。NesC通過控制表達能力來提供安全性, 通過組件來實現(xiàn)結構化設計。2. 整體程序分析:節(jié)點的應用程序的大小都是很有限, 這使得整個程序分析成為現(xiàn)實。NesC 的編譯器要求對用nesC 編寫的程序進行整體程序分析( 為安全性考慮) 和整體程序優(yōu)化。3. NesC 是一個“靜態(tài)語言”:nesC 的組件模型和參數(shù)化的接口減少了許多動態(tài)內存分配的要求。用nesC 編寫的程序里不存在動態(tài)內存分配, 而且在編譯期間就可以確定函數(shù)調用流程。這些限制使得程序分析和優(yōu)化操作得以簡化, 同時操作也更加精確。4. nesC 支持和反映基于事件的并發(fā)控制模型: 基于組件概念的nesC 直接支持基于事件的并發(fā)控制模型。此外 nesC 要設計應對共享數(shù)據(jù)訪問的策略。Ⅱ. Nesc概念簡介1. 組件nesC的應用程序都是由組件(ponent)構成,他們裝配到一起(配線)構成完整程序。nesC組件類分為模塊和配置兩種:①. 模塊:提供,使用,實現(xiàn)接口,包含類C代碼。②. 配置:一系列通過配線語法連接在一起的組件,不使用類C代碼,也可以提供和使用接口。之所以設置模塊和配置兩種組件就是為了使程序開發(fā)者能夠使用預建的模塊快速的裝配新的應用程序而不需要額外的編程。例如一個程序員可以簡單的通過一個配置文件配線已有的組件來生成一個應用程序。這樣就可以構建一個庫使得程序員可以方便的調用已有的模塊。2. 接口接口定義了模塊和配置文件相互作用的邊界,同時也定義了公共的方法供組件使用。接口使用關鍵字Provides和Uses來界定方法。a. Provides = 向其他組件提供方法b. Uses = 需要其他組件實現(xiàn)方法 接口有雙向性: 它們敘述一組接口供給者 (指令)提供的函數(shù)和一組被接口的使用者(事件)實現(xiàn)的函數(shù)。
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1