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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

          IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

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

          3 命令選通協(xié)處理器
          片上集成的命令選通協(xié)處理器(CSP)提供了MCU和電之間的接口,有立即選通命令和程序執(zhí)行兩種模式,可以處理MCU發(fā)出的命令。同時還有一個24字節(jié)的程序存儲器,配合MAC定時器自動執(zhí)行CSMA-CA算法,充當(dāng)MCU的協(xié)處理器。CSP復(fù)位后,指令寫指針復(fù)位到位置0,在每次RFST寫入期間指令寫指針累加1,直到程序存儲器的終點(diǎn)。另外,CSP還有4個寄存器:CSPT、CSPX、CSPY和CSPZ。MCU可以對它們讀寫,設(shè)置CSP運(yùn)行所需的參數(shù)。程序執(zhí)行模式下運(yùn)行一個CSP的流程如圖2所示。

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

          b.JPG



          4 節(jié)點(diǎn)通信實現(xiàn)
          4.1 通信機(jī)制
          是通過寄存器TXFIFO和RXFIFO來實現(xiàn)的。發(fā)送時,往TXFIFO中寫入,電模塊自動添加PHY層同步頭和FCS,通過選通命令STXON或STXONCCA發(fā)送數(shù)據(jù);數(shù)據(jù)接收完成時,產(chǎn)生RXPKTDONE中斷,在中斷服務(wù)程序中通過讀取RXFIFO即可。
          本文根據(jù) 802.15.4協(xié)議,定義了精簡的MAC層幀格式,如圖3所示。

          c.JPG


          幀控制域占一個字節(jié)。其中,幀類型占2位,00表示同步幀,01表示數(shù)據(jù)幀,10表示確認(rèn)幀,11表示命令幀;確認(rèn)請求占1位,1表示接收設(shè)備在接收到數(shù)據(jù)幀或命令幀時如果判斷其為有效幀就要向發(fā)送設(shè)備反饋一個確認(rèn)
          幀,0表示該接收設(shè)備不需要反饋確認(rèn)幀。幀序號唯一標(biāo)識各個幀,用于確認(rèn)幀和數(shù)據(jù)幀或命令幀的匹配。目標(biāo)地址和源地址分別用2個字節(jié)表示。由于 802.15.4規(guī)范中定義了物理服務(wù)數(shù)據(jù)單元(PSDU)的最大長度為127字節(jié),而其中的8字節(jié)已經(jīng)被使用,因此有效負(fù)載(pay-load)的字節(jié)長度為1~119字節(jié)。
          數(shù)據(jù)發(fā)送有3種模式:非CSMA-CA、時隙CSMA-CA和非時隙CSMA-CA。待數(shù)據(jù)按上述格式寫入TXFIFC)后,執(zhí)行“RFST—ISTXON”啟動CSP程序。



          評論


          相關(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); })();