<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)用 > 基于CC2430的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)

          基于CC2430的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)

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


            系統(tǒng)初始化主要是將系統(tǒng)的工作頻率設(shè)為32MHz的晶振頻率,這樣RF才能正常工作。RF初始化時(shí),先設(shè)置通信頻率,再通過(guò)設(shè)置RFPWR.RREG_RADIO_PD位為1給RF供電。RF初始化的過(guò)程還包括執(zhí)行下面的代碼來(lái)開(kāi)啟Rx,清空Rx、Tx的FiFo緩沖區(qū)以及校準(zhǔn)Radio。
            SRXON;
            SFLUSHTX;
            SFLUSHRX;
            SFLUSHRX;
            STXCALN;
            ISSTART;
            DMA的初始化階段要為Tx分配1個(gè)空閑的DMA通道。首先要為通道0和通道1~4分別設(shè)置好通道描述數(shù)據(jù)結(jié)構(gòu)的存放地址,并將首地址分別寫(xiě)入DMA0CFGH:DMA0CFGL和DMA1CFGH:DMA1CFGL。再為這個(gè)分配好的DMA通道設(shè)置其描述數(shù)據(jù)結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)如下:
            typedef struct {
             BYTE SRCADDRH;//源地址
             BYTE SRCADDRL;
             BYTE DESTADDRH;//目的地址
             BYTE DESTADDRL;
             BYTE VLEN :3;
             BYTE LENH:5;
             BYTE LENL:8;
             BYTE WORDSIZE:1;
             BYTE TMODE:2;
             BYTE TRIG:5;
             BYTE SRCINC:2;
             BYTE DESTINC:2;
             BYTE IRQMASK:1;
             BYTE M8:1;
             BYTE PRIORITY:2;
            } DMA_DESC;
            當(dāng)設(shè)置為Tx準(zhǔn)備的DMA通道時(shí),需將數(shù)據(jù)的源地址SRCADDRH: SRCADDRL設(shè)為所要發(fā)送數(shù)據(jù)的起始地址,目標(biāo)地址DESTADDRH: DESTADDRL設(shè)為寄存器RFD的地址0xDFD9。然后,在LENH:LENL中設(shè)置所要發(fā)送數(shù)據(jù)的長(zhǎng)度,并將VLEN設(shè)為0。將WORDSIZE位設(shè)為0,表示DMA數(shù)據(jù)按字節(jié)進(jìn)行傳輸(設(shè)為1表示按字傳輸)。DMA的數(shù)據(jù)傳送模式按照一次觸發(fā)傳輸?shù)臄?shù)據(jù)量可分成四種,由TMODE設(shè)置選擇。本例中采用Block模式,即一次DMA觸發(fā)可進(jìn)行一個(gè)完整數(shù)據(jù)塊的傳輸。CC2430定義的DMA觸發(fā)信號(hào)有31種之多,由TRIG位設(shè)置。將TRIG設(shè)置為0,表示采用無(wú)觸發(fā)模式,這樣DMA在每次接收到DMAREQ信號(hào)后才啟動(dòng)一次數(shù)據(jù)傳輸。SRCINC和DESTINC分別用于設(shè)置數(shù)據(jù)源地址和目標(biāo)地址的變化方式,可設(shè)為不變、增1、增2或減1。由于采用按字節(jié)的Block模式向Radio發(fā)送數(shù)據(jù),因此數(shù)據(jù)源地址選擇增1變化,而數(shù)據(jù)目標(biāo)地址則一直為寄存器RFD的地址0xDFD9,故設(shè)為不變。IRQMASK位用于設(shè)置是否在DMA數(shù)據(jù)傳輸完后發(fā)中斷信號(hào)。本例中設(shè)為0,即禁止DMA中斷。M8是按字節(jié)傳輸時(shí)的數(shù)據(jù)寬度,設(shè)為0表示8位傳輸,為1時(shí)表示只傳輸字節(jié)的低7位。本例中設(shè)為0。PRIORITY用于優(yōu)先級(jí)設(shè)置,本例中設(shè)為2,即中等優(yōu)先級(jí)。
            DMA描述設(shè)置好后,通過(guò)設(shè)置寄存器DMAARM和RMREQ的位來(lái)準(zhǔn)備相應(yīng)的DMA通道以及啟動(dòng)這個(gè)通道上數(shù)據(jù)塊的傳輸。在啟動(dòng)DMA數(shù)據(jù)傳輸之前,將當(dāng)前數(shù)據(jù)幀的長(zhǎng)度、目標(biāo)節(jié)點(diǎn)地址、源節(jié)點(diǎn)地址、標(biāo)志字節(jié)通過(guò)直接寫(xiě)寄存器RFD的方式寫(xiě)入TXFIFO。這樣在啟動(dòng)DMA傳輸后,完整的數(shù)據(jù)幀將被傳輸至TXFIFO。通過(guò)給CSP發(fā)送指令I(lǐng)STXONCCA啟動(dòng)TX傳輸。這就完成了一幀數(shù)據(jù)的發(fā)送。
            數(shù)據(jù)接收的過(guò)程同樣需要設(shè)置系統(tǒng)工作頻率為32MHz,且應(yīng)確保Rx工作在Tx相同的頻道上,并設(shè)置DMA通道。其中DMA的數(shù)據(jù)源為寄存器RFD,并將DMA觸發(fā)信號(hào)設(shè)為RADIO,即Radio接收到數(shù)據(jù)時(shí)觸發(fā)DMA。數(shù)據(jù)接收的程序流程如圖6所示。


            本文在總結(jié)歸納對(duì)芯片CC2430已有研究成果的基礎(chǔ)上,闡述了基于CC2430的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)和實(shí)現(xiàn),并詳細(xì)介紹了兩個(gè)節(jié)點(diǎn)之間點(diǎn)對(duì)點(diǎn)通信的實(shí)現(xiàn)。在實(shí)驗(yàn)中,節(jié)點(diǎn)能夠采集環(huán)境的溫、濕度和節(jié)點(diǎn)的電池電壓,并將采集的數(shù)據(jù)在節(jié)點(diǎn)中傳播。本文的研究為進(jìn)一步的上層通信協(xié)議設(shè)計(jì)提供了基礎(chǔ),具有一定的研究意義。


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

          評(píng)論


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