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

正文內(nèi)容

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

2025-06-08 16:18 本頁面


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