<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

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

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

          4 系統(tǒng)軟件設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/161572.htm

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

            無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)軟件圖
          圖4 系統(tǒng)軟件結(jié)構(gòu)

            4.1 基站軟件

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

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

            4.2 節(jié)點(diǎn)軟件

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

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

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

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

            4.3 上位機(jī)軟件

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

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


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();