色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

傳感器網(wǎng)絡(luò)應(yīng)用程序的建模、仿真與自動代碼生成框架

發(fā)布時間:2009-12-3 14:56    發(fā)布者:賈延安
引言

無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)在現(xiàn)場應(yīng)用時,傳感器節(jié)點(mote)由傳感、計算、通信、傳動和動力組件構(gòu)成。WSN由數(shù)十乃至數(shù)千個這樣的節(jié)點構(gòu)成,通過無線信道通信進行信息共享和協(xié)作處理。

WSN應(yīng)用目前存在兩種功能分析包,即特定平臺操作系統(tǒng)和量身定制模型,在應(yīng)用程序開發(fā)階段都存在明顯的缺陷。第一類將應(yīng)用程序遷移到其他平臺時很困難,例如從TinyOS遷移到MANTIS或遷移到ZigBee兼容平臺,必須重寫大量代碼并進行大量調(diào)試。第二類有許多依賴于平臺的具體代碼需要開發(fā)和調(diào)試,如果在開發(fā)和集成階段結(jié)束后發(fā)現(xiàn)問題,惟一的解決方法就是基于LED進行調(diào)試,極為耗時。

參考仿真框架

The MathWorks公司構(gòu)建了基于 Simulink的傳感器網(wǎng)絡(luò)模型作為動態(tài)系統(tǒng)的基時仿真器。模型具有兩個主要組件:無線信道模型(下文稱為Communication Medium)和Node塊。

Communication Medium塊可以通過C語言實現(xiàn),可將其修改為重用任意現(xiàn)有信道和連接模型。

Node塊有多個完全參數(shù)化的mote,包含硬件與軟件平臺模型。例如包括計時器、LED以及應(yīng)用程序的參數(shù)化Stateflow塊。Stateflow 是一種有限狀態(tài)機語言,用于建模、仿真控制邏輯和流程圖。可以用于實現(xiàn)各mote內(nèi)運行的算法(應(yīng)用程序、中間件或設(shè)備驅(qū)動器)。

只需修改模板算法(Stateflow 庫對象),在Communication Medium塊中設(shè)置節(jié)點的連接參數(shù)即可開始仿真。使用動畫狀態(tài)圖、觀測儀器和顯示器收集統(tǒng)計數(shù)據(jù),以執(zhí)行算法的功能分析。如果結(jié)果分析表明需要改進,則可通過改進算法實現(xiàn)。

完成算法的功能分析后,通過算法的Stateflow自動為任何受支持的WSN平臺生成代碼。這是利用RealTime Workshop Embedded Coder軟件的自定義功能完成的,它能為Simulink和Stateflow塊生成可嵌入的ANSI C代碼。


圖1 WSN的一個簡單仿真框架

WSN應(yīng)用程序操作系統(tǒng)示例:TinyOS與MANTIS
TinyOS的編程模型基于組件,概念實體由模塊和配置兩類組件表示,實現(xiàn)用于聲明命令和事件簽名的接口。事件即軟件抽象,例如接受信息包、完成傳感器取樣等。命令用于觸發(fā)操作,例如傳感器讀取操作或啟動無線電接收和傳輸信息等。TinyOS應(yīng)用程序是使用nesC編寫的,這是C語言的一個擴展。

MANTIS是一種輕量級、多線程的操作系統(tǒng),能在能源受限的分布式傳感器網(wǎng)絡(luò)上進行多任務(wù)處理。調(diào)度程序采用基于優(yōu)先級的輪叫調(diào)度,支持線程先占 (pre-emption),允許操作系統(tǒng)在活動線程間自由切換而無需等待。由于采用了這樣的方法,操作系統(tǒng)對于關(guān)鍵事件的響應(yīng)速度比TinyOS更快。 MANTIS的內(nèi)核和API都是使用標準C語言編寫的。


圖2 WSN應(yīng)用程序建模、仿真和代碼生成框架

實現(xiàn) WSN 應(yīng)用程序

MANTIS線程和任務(wù)的計算主體以及TinyOS的命令實際上都是使用C語言編寫的。在MANTIS中,集成非常直接,因為Real-Time Workshop Embedded Coder的ANSI C輸出可直接用作用戶線程。TinyOS的程序由高級抽象組成,但這些抽象的主體是使用C語言編寫的,因而只需要一個代碼轉(zhuǎn)換器,以C語言代碼作為輸入,將代碼分割成不同的部分(包括定義、函數(shù)等),并使用這些部分來生成nesC代碼。

本文使用The MathWorks公司的 Target Language Compiler(TLC)實現(xiàn)這樣的代碼轉(zhuǎn)換器。它提供了生成特定平臺代碼的機制,可接受來自ANSI C代碼的部分(例如包含、定義、函數(shù)代碼等),也可為目標平臺添加自定義代碼。使用Stateflow時無需考慮通用函數(shù)在TinyOS或MANTIS中的實際實現(xiàn),因為TLC庫中已經(jīng)實現(xiàn)了這些函數(shù),可用于任意操作系統(tǒng)。通過使用TLC腳本自動生成TinyOS或MANTIS應(yīng)用程序,在無需修改的前提下為目標平臺編譯和執(zhí)行這些應(yīng)用程序。并且,TLC可重寫并修改源代碼,分割源代碼并使之適合底層平臺。這不僅實現(xiàn)了比編譯器更出色的優(yōu)化,還能方便的在硬件和軟件平臺之間遷移應(yīng)用程序。

參考文獻

1. Mostafizur Mozumdar, Francesco Gregoretti, Luciano Lavagno, Laura Vanzago, Stefano Olivieri, ‘A Framework for Modeling, Simulation and Automatic Code Generation of Sensor Network Application’ in Proceedings of the 5th IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON 2008), San Francisco, California June 2008

2. Shah Bhatti, James Carlson, Hui Dai, Jing Deng, Jeff Rose, Anmol, Sheth, Brian Shucker, Charles Gruenwald, Adam Torgerson and Richard Han.‘MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms’ The journal of MONET , pages 563-579,2005

3. TinyOS Community Forum, An open-source OS for the networked sensor regime
http://www.tinyos.net/

4. 關(guān)于基于模型設(shè)計. http://www.mathworks.cn/mbd

作者:The MathWorks公司 Stefano Olivieri    來源:電子設(shè)計應(yīng)用2009年第11期
本文地址:http://m.54549.cn/thread-6273-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
flyairxjh 發(fā)表于 2012-5-20 20:53:06
看看
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表