傳感器網絡應用程序的建模、仿真與自動代碼生成框架
引言
無線傳感器網絡(Wireless Sensor Networks,WSN)在現場應用時,通過無線信道通信進行信息共享和協作處理。
WSN應用目前存在兩種功能分析包,即特定平臺操作系統和量身定制模型,在應用程序開發階段都存在明顯的缺陷。第一類將應用程序遷移到其他平臺時很困難,例如從TinyOS遷移到MANTIS或遷移到ZigBee兼容平臺,必須重寫大量代碼并進行大量調試。第二類有許多依賴于平臺的具體代碼需要開發和調試,如果在開發和集成階段結束后發現問題,惟一的解決方法就是基于LED進行調試,極為耗時。
參考仿真框架
The MathWorks公司構建了基于 Simulink的傳感器網絡模型作為動態系統的基時仿真器。模型具有兩個主要組件:無線信道模型(下文稱為Communication Medium)和Node塊。
Communication Medium塊可以通過C語言實現,可將其修改為重用任意現有信道和連接模型。
Node塊有多個完全參數化的mote,包含硬件與軟件平臺模型。例如包括計時器、LED以及應用程序的參數化Stateflow塊。Stateflow是一種有限狀態機語言,用于建模、仿真控制邏輯和流程圖。可以用于實現各mote內運行的算法(應用程序、中間件或設備驅動器)。
只需修改模板算法(Stateflow 庫對象),在Communication Medium塊中設置節點的連接參數即可開始仿真。使用動畫狀態圖、觀測儀器和顯示器收集統計數據,以執行算法的功能分析。如果結果分析表明需要改進,則可通過改進算法實現。
完成算法的功能分析后,通過算法的Stateflow自動為任何受支持的WSN平臺生成代碼。這是利用RealTime Workshop Embedded Coder軟件的自定義功能完成的,它能為Simulink和Stateflow塊生成可嵌入的ANSI C代碼。

圖1 WSN的一個簡單仿真框架
WSN應用程序操作系統示例:TinyOS與MANTIS
TinyOS的編程模型基于組件,概念實體由模塊和配置兩類組件表示,實現用于聲明命令和事件簽名的接口。事件即軟件抽象,例如接受信息包、完成傳感器取樣等。命令用于觸發操作,例如傳感器讀取操作或啟動無線電接收和傳輸信息等。TinyOS應用程序是使用nesC編寫的,這是C語言的一個擴展。
MANTIS是一種輕量級、多線程的操作系統,能在能源受限的分布式傳感器網絡上進行多任務處理。調度程序采用基于優先級的輪叫調度,支持線程先占(pre-emption),允許操作系統在活動線程間自由切換而無需等待。由于采用了這樣的方法,操作系統對于關鍵事件的響應速度比TinyOS更快。MANTIS的內核和API都是使用標準[FS:PAGE]C語言編寫的。

圖2 WSN應用程序建模、仿真和代碼生成框架
實現 WSN 應用程序
MANTIS線程和任務的計算主體以及TinyOS的命令實際上都是使用C語言編寫的。在MANTIS中,集成非常直接,因為Real-Time Workshop Embedded Coder的ANSI C輸出可直接用作用戶線程。TinyOS的程序由高級抽象組成,但這些抽象的主體是使用C語言編寫的,因而只需要一個代碼轉換器,以C語言代碼作為輸入,將代碼分割成不同的部分(包括定義、函數等),并使用這些部分來生成nesC代碼。
本文使用The MathWorks公司的 Target Language Compiler(TLC)實現這樣的代碼轉換器。它提供了生成特定平臺代碼的機制,可接受來自ANSI C代碼的部分(例如包含、定義、函數代碼等),也可為目標平臺添加自定義代碼。使用Stateflow時無需考慮通用函數在TinyOS或MANTIS中的實際實現,因為TLC庫中已經實現了這些函數,可用于任意操作系統。通過使用TLC腳本自動生成TinyOS或MANTIS應用程序,在無需修改的前提下為目標平臺編譯和執行這些應用程序。 并且,TLC可重寫并修改源代碼,分割源代碼并使之適合底層平臺。這不僅實現了比編譯器更出色的優化,還能方便的在硬件和軟件平臺之間遷移應用程序。
相關文章
傳感器如何監控橋梁以保證安全
橋梁對我們的基礎設施至關重要,需要定期維護,以確保汽車、卡車、軌道和經常通過橋梁的人的安全。許多橋梁已經使用了50年甚至更久,每天都有市民在結構缺陷的橋梁上行走。IEEE資深成員ClintAndrews說:“橋梁的結構健康監測...
智慧城市建設步伐加快 傳感器產業機遇與挑戰并存
智慧城市的出現是基于2008年IBM提出的“智慧地球”理念,隨后引發了智慧城市建設的熱潮。2012年,我國就已經開始了智慧城市的試點工作。2014年時政府正式印發了《關于促進智慧城市健康發展的指導意見》,計劃到2020年建...
超聲波傳感器的應用分析
眼下,國外許多汽車制造商和技術公司都在測試具備完全自動駕駛功能的自動駕駛汽車。日產、通用汽車甚至表示,到2020年,他們將在道路上試運行自動駕駛汽車,這兩種自動駕駛汽車以及結合了駕駛員輔助技術的人類駕駛汽車,都要廣泛使用傳...
工業物聯網傳感器如何改善制造業
2018年第四季度,制造業為美國經濟貢獻了2.38萬億美元,雇傭了1200多萬工人,占當年美國國內生產總值的11.4%。盡管所有媒體都對制造業地位的下降感到擔憂,但由于關鍵技術的進步,該行業近年來蓬勃發展。而工業物聯網(I...
2026年全球農業傳感器市場將達到25.6億美元
2018年全球農業傳感器市場價值為12.3億美元,預計到2026年將達到25.6億美元,復合年增長率為11.04%。傳感技術用于精密農業,可提供有助于農民監測和優化農作物以及適應不斷變化的環境因素的數據。這提供了可操作的數...