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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)底層平臺(tái)的深層研究

          無(wú)線(xiàn)傳感器網(wǎng)絡(luò)底層平臺(tái)的深層研究

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

          封裝好后把數(shù)據(jù)寫(xiě)入TXFIFO中,注意發(fā)送緩沖區(qū)為128字節(jié),不能超出這個(gè)范圍,否則會(huì)引發(fā)TXOVERFLOW異常。然后,打開(kāi)接收數(shù)據(jù)中斷后才能調(diào)用發(fā)送命令發(fā)送數(shù)據(jù),在這里可以對(duì)發(fā)送過(guò)程進(jìn)行完全的控制,比如在發(fā)送數(shù)據(jù)的過(guò)程中,可以通過(guò)捕獲SFD引腳的上升沿信號(hào)來(lái)對(duì)發(fā)送準(zhǔn)確計(jì)時(shí)。發(fā)送數(shù)據(jù)后等待接收方回復(fù)ACK,如果在規(guī)定時(shí)間內(nèi)沒(méi)有收到ACK,則判定重傳次數(shù)是否超過(guò)最大重傳次數(shù),沒(méi)有的話(huà)則按照一定策略退避一段時(shí)間后再重新發(fā)送這個(gè)數(shù)據(jù)包,如果超過(guò)最大重傳次數(shù)則丟棄這個(gè)包,并設(shè)置發(fā)送失敗標(biāo)志供上層程序參考。如果在規(guī)定時(shí)間內(nèi)收到ACK,則會(huì)觸發(fā)RX_FRMDONE中斷,會(huì)調(diào)用basicRfRxFrmDonelsr()接收數(shù)據(jù)中斷處理程序?qū)κ盏降腁CK包進(jìn)行分析,如果是對(duì)剛發(fā)送包的正確回復(fù),則表示發(fā)送成功,更新相應(yīng)信息,例如發(fā)送序列號(hào)加1,更新發(fā)送狀態(tài),清除TX_FRM_DONE異常等。
          接收過(guò)程和發(fā)送過(guò)程類(lèi)似,具體接收流程如圖3所示。

          c.jpg

          2 測(cè)試
          2.1 測(cè)試方法
          測(cè)試的每個(gè)節(jié)點(diǎn)都通過(guò)一根串口線(xiàn)連接到PC。在測(cè)試程序中添加測(cè)試代碼,把測(cè)試節(jié)點(diǎn)發(fā)送和接收的MAC(Media Access Contro1)層數(shù)據(jù)信息通過(guò)串口發(fā)送到PC上。然后通過(guò)PC上的串口調(diào)試助手顯示出來(lái)。對(duì)這些數(shù)據(jù)信息進(jìn)行分析便可以知道節(jié)點(diǎn)上各模塊程序的運(yùn)行情況。
          2.2 測(cè)試過(guò)程及結(jié)果
          通過(guò)分析群首節(jié)點(diǎn)廣播數(shù)據(jù)幀到群中終端節(jié)點(diǎn)的過(guò)程來(lái)判斷底層模塊的運(yùn)行情況。群首節(jié)點(diǎn)A和群中終端節(jié)點(diǎn)(B、C、D)都通過(guò)串口線(xiàn)連接到PC上。群網(wǎng)絡(luò)號(hào)為0x0001,節(jié)點(diǎn)A、B、C、D地址分別為:0x0001、0x0002、0x0003、0x0004。A通過(guò)無(wú)線(xiàn)模塊發(fā)送廣播數(shù)據(jù)到B、C、D,并把發(fā)送數(shù)據(jù)發(fā)送到PC顯示,最后把接收到的ACK回復(fù)幀也發(fā)送到PC顯示;B、C、D通過(guò)無(wú)線(xiàn)模塊接收到A發(fā)過(guò)來(lái)的數(shù)據(jù),按自己節(jié)點(diǎn)地址大小進(jìn)行延時(shí)后對(duì)接收數(shù)據(jù)幀進(jìn)行回復(fù),并把接收數(shù)據(jù)幀和回復(fù)ACK幀通過(guò)串口發(fā)送到PC顯示。

          d.jpg

          圖4為群首節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀和接收ACK幀的過(guò)程。協(xié)議棧MAC層幀的封裝格式按照IEEE 802.15.4標(biāo)準(zhǔn)。從圖4可以看出:第一個(gè)框中為發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀,后面三個(gè)框中為接收到的終端節(jié)點(diǎn)回復(fù)的ACK幀。按照IEEE Std 802.15.4—2006標(biāo)準(zhǔn)中的幀封裝格式,發(fā)送窗口顯示的第一個(gè)字節(jié)為物理層數(shù)據(jù)長(zhǎng)度。后面緊跟的是FCF(Frame Control Field幀控制字段,占2字節(jié)),對(duì)發(fā)送可信廣播數(shù)據(jù)幀為0x8801。參考標(biāo)準(zhǔn)手冊(cè)中FCF設(shè)置,可以看出對(duì)數(shù)據(jù)幀的設(shè)置如下:節(jié)點(diǎn)地址和網(wǎng)絡(luò)地址都采用16位;在幀中同時(shí)包括源網(wǎng)絡(luò)ID、源節(jié)點(diǎn)地址、目的網(wǎng)絡(luò)ID、目的節(jié)點(diǎn)地址;需要ACK幀確認(rèn);沒(méi)有采用安全設(shè)置。后面是DSN(1字節(jié)),這是傳輸?shù)牡谝粋€(gè)幀,所以設(shè)置為0x01。后面為目的網(wǎng)號(hào)0x0001(占2字節(jié))。后面為目的節(jié)點(diǎn)地址0xFFFF(占2字節(jié)),這是廣播地址,當(dāng)發(fā)現(xiàn)目的節(jié)點(diǎn)地址為廣播地址時(shí),便向所有節(jié)點(diǎn)傳輸廣播幀。后面為源網(wǎng)絡(luò)號(hào)0x0001(占2字節(jié))。后面為源節(jié)點(diǎn)地址0x0001(占2字節(jié))。因?yàn)檫@是同一個(gè)網(wǎng)段中的群首向終端節(jié)點(diǎn)發(fā)送廣播幀,所以目的網(wǎng)絡(luò)號(hào)和源網(wǎng)絡(luò)號(hào)相同。后面接著的2字節(jié)為MAC層數(shù)據(jù),為了測(cè)試簡(jiǎn)單,測(cè)試時(shí)只發(fā)送了2字節(jié)的數(shù)據(jù)(1和2,ASCALL碼為0x31和0x32)??尚艔V播幀要求接收節(jié)點(diǎn)回復(fù)ACK幀,后面三個(gè)框中數(shù)據(jù)分別是節(jié)點(diǎn)B、C、D回復(fù)的ACK幀?;貜?fù)幀的格式和數(shù)據(jù)幀的設(shè)置情況類(lèi)似,區(qū)別是回復(fù)幀的FCF為0x8802,表示是回復(fù)幀且不需要確認(rèn),回復(fù)幀中沒(méi)有數(shù)據(jù)字段,且回復(fù)幀中的目的網(wǎng)絡(luò)號(hào)、目的地址為接收數(shù)據(jù)幀中的源網(wǎng)絡(luò)號(hào)、源地址。

          e.JPG

          圖5為接收節(jié)點(diǎn)B的接收數(shù)據(jù)幀。從圖中可以看出,第一個(gè)框中為接收到的可信廣播數(shù)據(jù)幀,第二框中數(shù)據(jù)為發(fā)送的ACK幀。接收窗口中前面的數(shù)據(jù)和發(fā)送窗口中數(shù)據(jù)一樣。不一樣的是最后的2字節(jié)(具體解釋請(qǐng)參考3.5節(jié)接收過(guò)程)。接收節(jié)點(diǎn)解析目的地址,發(fā)現(xiàn)是廣播地址,需要再檢查FCF字段中的Ack Request是否為1,如果為1,則需要回復(fù)ACK幀。為了避免群中節(jié)點(diǎn)收到可信廣播數(shù)據(jù)幀,同時(shí)回復(fù)ACK幀造成信道碰撞,回復(fù)ACK幀的時(shí)候按照自己節(jié)點(diǎn)地址大小延時(shí)發(fā)送。群中其他節(jié)點(diǎn)(C、D)的接收串口顯示數(shù)據(jù)和節(jié)點(diǎn)B的類(lèi)似,這里就不再詳細(xì)說(shuō)明。

          結(jié)語(yǔ)
          從測(cè)試的結(jié)果看,發(fā)送節(jié)點(diǎn)通過(guò)CC2520發(fā)送的數(shù)據(jù)能被接收,節(jié)點(diǎn)正確接收并通過(guò)串口發(fā)送到PC。這說(shuō)明論文介紹的各個(gè)模塊都能夠正確穩(wěn)定地工作。通過(guò)這些底層模塊的協(xié)同工作,為上層操作系統(tǒng)和協(xié)議棧提供了通信的基礎(chǔ)服務(wù)。本論文只是簡(jiǎn)單地完成了各模塊的功能,還有很多可以改進(jìn)的地方,比如,可以在CC2520通信過(guò)程中加入精確的時(shí)序控制,為上層提供更好的服務(wù)。

          分頻器相關(guān)文章:分頻器原理

          上一頁(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); })();