關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于MSP430F149與Si4432的無線傳感器網絡的實現

        基于MSP430F149與Si4432的無線傳感器網絡的實現

        作者: 時間:2011-08-17 來源:網絡 收藏

        4 系統軟件設計

        本文引用地址:http://www.104case.com/article/161572.htm

          本系統軟件設計注重低功耗、數據采集實時性、系統穩健性及可靠性, 在低功耗設計中采用智能控制策略, 讓系統需要工作時處于全速工作模式, 其他時刻處于低功耗模式。數據采集實時性設計中關鍵是路由選擇, 主要依據是跳數最少路徑最短原則( 兼顧能量優先原則)。系統穩健性設計部分, 當節點因能量耗盡或其他原因不能工作或者有新的節點請求加入時, 整個會馬上重新組網, 形成新的拓撲結構。在系統可靠性設計中采用看門狗等技術增強系統抗干擾能力。系統軟件框圖如圖4 所示。

          無線傳感器網絡系統軟件圖
        圖4 系統軟件結構

          4.1 基站軟件

          基站節點通過上位機USB 供電所以一直工作在全速狀態, 加快了對外部的響應速度。上電初始化后, 根據中斷程序中的標志位值對獲得的信息進行相應處理, 處理完后把標志位置零, 循環執行此操作。基站節點通過串口與上位機相連; 因此外部事件包括串口中斷事件和接收到數據中斷事件。

          為了防止串口通信過程中丟失數據, 軟件設計上加了握手協議。當基站節點每發送一個數據包給上位機時, 上位機都會向基站節點發送應答信號, 直到數據包發送給上位機。上位機接收到數據包后, 馬上進入中斷處理, 處理完后把相應標志位置1, 通過主程序做進一步處理。

          4.2 節點軟件

          傳感器節點主程序主要是組網, 當節點上電初始化后設定發射功率為最小,請求入網。如果入網不成功則加大發射功率,繼續請求入網。經試驗證實,發射功率越小,電池的使用壽命就越長。入網成功后,保存入網信息, 并馬上進入低功耗狀態, 同時使用兩個中斷, 一個外部接收數據中斷,一個定時器采集中斷。程序流程圖分別如圖5、圖6 所示。數據發送放在定時中斷程序里完成。

          無線傳感器網絡接收中斷框圖
        圖5 接收數據中斷

          無線傳感器網絡串口中斷圖
        圖6 串口中斷流程

          當多個傳感器節點同時發送數據時, 則會出現掙搶信道的現象。為了避免多個傳感器節點同時與某個傳感器節點通信造成數據丟失, 軟件上采用一定的退避機制。一方面, 利用射頻芯片 的載波偵聽信號來產生隨機延時, 以避免同時發送信號; 另一方面, 當一個傳感器節點與某個傳感器節點建立了通信通道時, 其他發送數據的節點會增加發射數據的次數。

          4.3 上位機軟件

          上位機主要功能有發送重組網命令、向任意傳感器節點發送采集信息命令、建立良好的人機界面用于觀察傳感器采集來的信息、幫助基站節點處理數據減輕基站的負擔等。人機界面采用Visual Basic(VB) 來設計, 利用VB 的MSComm 控件上、下位機的串口通信。利用其他控件傳感器網絡的分析、顯示和操作, 在此不再詳細說明。

           的緩沖寄存器為64 KB, 一次性可發送接收信息量可多達62 KB。基站節點通過串口跟上位機相連, 在上位機建立良好的人機界面可以觀察每個傳感器采集來的信息, 并且可以控制每個節點的工作狀態。本系統已在實際中成功應用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蓝田县| 喜德县| 新巴尔虎左旗| 错那县| 潜江市| 玛纳斯县| 化州市| 阜康市| 石景山区| 乌兰县| 蓝田县| 安远县| 疏附县| 永兴县| 兴化市| 筠连县| 红桥区| 周宁县| 阿克| 启东市| 沾益县| 晋中市| 南召县| 台江县| 博客| 凌源市| 六安市| 望江县| 淄博市| 海口市| 当雄县| 姚安县| 扶绥县| 雅安市| 炎陵县| 嘉兴市| 沙河市| 尼木县| 桐庐县| 金平| 鹿邑县|