<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于MSP430F149與Si4432的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的實(shí)現

基于MSP430F149與Si4432的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的實(shí)現

作者: 時(shí)間:2011-08-17 來(lái)源:網(wǎng)絡(luò ) 收藏

4 系統軟件設計

本文引用地址:http://dyxdggzs.com/article/161572.htm

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

  無(wú)線(xiàn)傳感器網(wǎng)絡(luò )系統軟件圖
圖4 系統軟件結構

  4.1 基站軟件

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

  為了防止串口通信過(guò)程中丟失數據, 軟件設計上加了握手協(xié)議。當基站節點(diǎn)每發(fā)送一個(gè)數據包給上位機時(shí), 上位機都會(huì )向基站節點(diǎn)發(fā)送應答信號, 直到數據包發(fā)送給上位機。上位機接收到數據包后, 馬上進(jìn)入中斷處理, 處理完后把相應標志位置1, 通過(guò)主程序做進(jìn)一步處理。

  4.2 節點(diǎn)軟件

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

  無(wú)線(xiàn)傳感器網(wǎng)絡(luò )接收中斷框圖
圖5 接收數據中斷

  無(wú)線(xiàn)傳感器網(wǎng)絡(luò )串口中斷圖
圖6 串口中斷流程

  當多個(gè)傳感器節點(diǎn)同時(shí)發(fā)送數據時(shí), 則會(huì )出現掙搶信道的現象。為了避免多個(gè)傳感器節點(diǎn)同時(shí)與某個(gè)傳感器節點(diǎn)通信造成數據丟失, 軟件上采用一定的退避機制。一方面, 利用射頻芯片 的載波偵聽(tīng)信號來(lái)產(chǎn)生隨機延時(shí), 以避免同時(shí)發(fā)送信號; 另一方面, 當一個(gè)傳感器節點(diǎn)與某個(gè)傳感器節點(diǎn)建立了通信通道時(shí), 其他發(fā)送數據的節點(diǎn)會(huì )增加發(fā)射數據的次數。

  4.3 上位機軟件

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

   的緩沖寄存器為64 KB, 一次性可發(fā)送接收信息量可多達62 KB?;竟濣c(diǎn)通過(guò)串口跟上位機相連, 在上位機建立良好的人機界面可以觀(guān)察每個(gè)傳感器采集來(lái)的信息, 并且可以控制每個(gè)節點(diǎn)的工作狀態(tài)。本系統已在實(shí)際中成功應用。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>