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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于nRF905模塊和51單片機的無線收發(fā)系統(tǒng)設(shè)計

          基于nRF905模塊和51單片機的無線收發(fā)系統(tǒng)設(shè)計

          作者: 時間:2011-12-02 來源:網(wǎng)絡(luò) 收藏



          圖4 發(fā)射數(shù)據(jù)流程

          nRF905的數(shù)據(jù)接收過程

          當(dāng)系統(tǒng)接收數(shù)據(jù)時,其接收數(shù)據(jù)流程圖如圖5所示。系統(tǒng)的工作過程如下:

          首先,在650μs以后,nRF905將不斷監(jiān)測空中的信息。當(dāng)nRF905發(fā)現(xiàn)有和接收頻率相同的載波時,其載波檢測 (CD) 被置為高電平;此后,當(dāng)nRF905接收到有效地址時,地址匹配 (AM) 被置為高電平;當(dāng)nRF905接收到有效的地址包 (CRC校驗正確) 時,nRF905將去掉前導(dǎo)碼、地址和CRC位,同時將數(shù)據(jù)準(zhǔn)備就緒位 (DR)置為高電平,并用MCU設(shè)置TRX- CN為低電平,以進入standby模式,從而使MCU能夠以合適的速率通過SPI接口讀出有效的數(shù)據(jù);當(dāng)所有的數(shù)據(jù)讀出,nRF905將AM和DR設(shè)置為低電平,以便使nRF905準(zhǔn)備進入ShockBurst RX、ShockBurst TX或Powerdown模式。


          圖5 接收數(shù)據(jù)流程圖

          用戶界面的設(shè)計

          本軟件采用VB界面設(shè)計。將井下接收到并采集后的數(shù)據(jù)通過單片機顯示在PC機上,可以清楚地看到井下的相關(guān)數(shù)據(jù)信息。如圖6所示,是一組井下信息采集后通過無線傳輸?shù)姆绞?,將傳感器輸出的?shù)據(jù)傳輸?shù)組WD上。

          圖6中通道1至通道15分別實測井參數(shù)量化臺階數(shù)轉(zhuǎn)換過后的模擬電壓值,其中包括壓力、溫度、濕度、三軸重力加速度傳感器輸出值(Gx、Gy、Gz)以及翼肋位移等等。在實際應(yīng)用中可較為直觀地顯示出來。


          圖6 用戶交互界面

          結(jié)論

          系統(tǒng)調(diào)試成功后,進行了多次數(shù)據(jù)傳輸實驗。本系統(tǒng)通過了實際數(shù)據(jù)通信實驗的驗證,運行穩(wěn)定,通信可靠,能夠?qū)崿F(xiàn)100米左右的無線通信。從實驗數(shù)據(jù)可知,無線信號在井下傳輸環(huán)境下的損耗遠(yuǎn)大于室外環(huán)境,在同等條件下,誤碼率主要與距離延伸有關(guān)。本系統(tǒng)還可以應(yīng)用于點對點、點對多點通信的一些實際工作環(huán)境中。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();