



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、NRF24L01說(shuō)明書MSN:yunjSkype:yunjiakeji市南山區(qū)新圍 30 號(hào)地址:省公司:http:/2008 年 12 月 20 日:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)一、模塊介紹(1) 2.4Ghz 全球開(kāi)放ISM 頻段免證使用(2) 最高工作速率2Mbps,高效GFSK調(diào)制,能力強(qiáng),特別適合工業(yè)控制場(chǎng)合(3) 126 頻道,滿足多點(diǎn)通信和跳頻通信需要(4) 內(nèi)置硬件CRC 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制(5) 低功耗1.9 - 3.6V 工作,待機(jī)模式下?tīng)顟B(tài)為22uA;掉電
2、模式下為900nA(6) 內(nèi)置2.4Ghz 天線,體積小巧 34mm X 17mm(7) 模塊可設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)(提供中斷指示),可直接接各種單片機(jī)使用,編程非常方便(8) 內(nèi)置專門穩(wěn)壓電路,使用各種電源包括DC/DC 開(kāi)關(guān)電源均有很好的通信效果(9) 標(biāo)準(zhǔn)DIP間距接口,便于應(yīng)用(10)工作于Enhanced ShockBurst 具有Automatic packethandling, Auto packet tranion handling,具有可選的內(nèi)置包應(yīng)答機(jī)制,極大的降低丟包率。與51系列單片機(jī)P0口連接時(shí)候,需要加10K的上拉電阻,與其余口連接不需要。其他系列
3、的單片機(jī),如果是5V的,請(qǐng)參考該系列單片機(jī)IO口輸出電流大小,如果超過(guò)10mA,需要串聯(lián):http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)電阻分壓,否則容易燒毀模塊! 如果是3.3V的,可以直接和RF2401模塊的IO口線連接。比如AVR系列單片機(jī)如果是 5V 的,一般串接 2K 的電阻二、接口電路說(shuō)明:(1) VCC腳接電壓范圍為1.9V3.6V之間,不能在這個(gè)區(qū)間之外,超過(guò)3.6V將會(huì)燒毀模塊。電壓3.3V左右。(2) 除電源VCC和接地端,其余腳都可以直接和普通的5V單片機(jī)IO口直接相連,無(wú)需電平轉(zhuǎn)
4、換。當(dāng)然對(duì)3V左右的單片機(jī)更加適用了。(3) 硬件上面沒(méi)有SPI的單片機(jī)也可以控制本模塊,用普通單片機(jī)IO口模擬SPI不需要單片機(jī)真正的串口介入,只需要普通的單片機(jī)IO口就可以了,當(dāng)然用串口也可以了。:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)三、模塊結(jié)構(gòu)和引腳說(shuō)明NRF24L01 模塊使用公司的RF24L01開(kāi)發(fā)而成。:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)四、工作方式NRF2401有工作模式有四種
5、:收發(fā)模式配置模式空閑模式關(guān)機(jī)模式工作模式由PWR_UP register、PRIM_RX register和CE決定,詳見(jiàn)下表:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)4.1 收發(fā)模式收發(fā)模式有Enhanced ShockBurstTM收發(fā)模式、ShockBurstTM收發(fā)模式和直接收發(fā)模式三種,收發(fā)模式由器件配置字決定,具體配置將在器件配置部分詳細(xì)介紹。4.1.1 Enhanced ShockBurstTM收發(fā)模式Enhanced ShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū),
6、數(shù)據(jù)低速?gòu)奈⒖刂破魉腿?,但高?1Mbps)發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關(guān)的所有高速信號(hào)處理都在片內(nèi)進(jìn)行,這種做法有三大好處:盡量節(jié)能;低的系統(tǒng)費(fèi)用(低速微處理器也能進(jìn)行高速射頻發(fā)射);數(shù)據(jù)在空中停留時(shí)間短,性高。Enhanced ShockBurstTM技術(shù)同時(shí)也減小了整個(gè)系統(tǒng)的平均工作電流。在Enhanced ShockBurstTM收發(fā)模式下, NRF24L01自動(dòng)處理字頭和CRC。在接收數(shù)據(jù)時(shí),自動(dòng)把字頭和CRC移去。在發(fā)送數(shù)據(jù)時(shí),自動(dòng)加上字頭和CRC,在發(fā)送模式下,置CE為高,至少10us,將時(shí)發(fā)送過(guò)程完成后。 Enha
7、nced ShockBurstTM發(fā)射流程A.的地址和要發(fā)送的數(shù)據(jù)按時(shí)序送入NRF24L01;把B.配置CONFIG寄存器,使之進(jìn)入發(fā)送模式。C. 微控制器把CE置高(至少10us),激發(fā)NRF24L01進(jìn)行Enhanced ShockBurstTM發(fā)射; D.N24L01的Enhanced ShockBurstTM發(fā)射(1) 給射頻前端供電; (2):http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)射頻數(shù)據(jù)打包(加字頭、CRC); (3) 高速發(fā)射數(shù)據(jù)包; (4)發(fā)射完成,NRF24L01進(jìn)入空閑狀態(tài)。
8、 Enhanced ShockBurstTM接收流程 A. 配置本機(jī)地址和要接收的數(shù)據(jù)包大?。籅. 配置CONFIG寄存器,使之進(jìn)入接收模式,把CE置高。C. 130us后,NRF24L01進(jìn)入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來(lái); D.當(dāng)接收到正確的數(shù)據(jù)包(正確的地址和CRC),NRF2401自動(dòng)把字頭、地址和CRC校驗(yàn)位移去;E. NRF24L01通過(guò)把SUS寄存器的RX_DR置位(SUS一般引起微控制器中斷)通知微控制器;F. 微控制器把數(shù)據(jù)從 NewMsg_RF2401 讀出;G. 所有數(shù)據(jù)完畢后,可以清除SUS寄存器。NRF2401可以進(jìn)入四種主要的模式之一。4.1.2 ShockBurstT
9、M收發(fā)模式ShockBurstTM收發(fā)模式可以與Nrf2401a,02,E1及E2兼容,具體表述前看本公司的N-RF2401文檔。4.2 空閑模式NRF24L01的空閑模式是為了減小平均工作電流而設(shè)計(jì),其最大的優(yōu)點(diǎn)是,實(shí)現(xiàn)節(jié)能的同時(shí),縮短的起動(dòng)時(shí)間。在空閑模式下,部分片內(nèi)晶振仍在工作,此時(shí)的工作電流跟外部晶振的頻率有關(guān)。4.4 關(guān)機(jī)模式在關(guān)機(jī)模式下,為了得到最小的工作電流,一般此時(shí)的工作電流為:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)900nA左右。關(guān)機(jī)模式下,配置字的內(nèi)容也會(huì)被保持在NRF240
10、1片內(nèi),這是該模式與斷電狀態(tài)最大的區(qū)別。五、配置NRF24L01模塊NRF2401的所有配置工作都是通過(guò)SPI完成,共有30字節(jié)的配置字。NRF24L01工作于Enhanced ShockBurstTM 收發(fā)模式,這種工作模式下,系統(tǒng)的程序編制會(huì)更加簡(jiǎn)單,并且穩(wěn)定性也會(huì)更高,因此,下文著重介紹把NRF24L01配置為Enhanced ShockBurstTM收發(fā)模式的器件配置方法。ShockBurstTM的配置字使NRF24L01能夠處理射頻協(xié)議,在配置完成后,在NRF24L01工作的過(guò)程中,只需改變其最低一個(gè)字節(jié)中的內(nèi)容,以實(shí)現(xiàn)接收模式和發(fā)送模式之間切換。ShockBurstTM的配置字可以
11、分為以下四個(gè)部分:射頻數(shù)據(jù)包中數(shù)據(jù)占用的位數(shù)。這使得NRF24L01數(shù)據(jù)寬度:能夠區(qū)分接收數(shù)據(jù)包中的數(shù)據(jù)和CRC;地址寬度:射頻數(shù)據(jù)包中地址占用的位數(shù)。這使得NRF24L01能夠區(qū)分地址和數(shù)據(jù);地址:接收數(shù)據(jù)的地址,有通道0到通道5的地址;CRC:使NRF24L01能夠生成CRC和。當(dāng)使用NRF24L01片內(nèi)的CRC技術(shù)時(shí),要確保在配置字(CONFIG的EN_CRC):http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)中CRC校驗(yàn)被使能,并且發(fā)送和接收使用相同的協(xié)議。NRF24L01配置字的CONFIG寄存
12、器的位描述如下表所示。NRF24L01 CONFIG 配置字描述六、參考源代碼參考源代碼#include / sbit MISO =P13;sbit MOSI =P14; sbit SCK =P15; sbit CE =P16; sbit CSN =P37; sbit IRQ =P12; sbit LED2 =P35; sbit LED1 =P34; sbit KEY1 =P30;sbit KEY2 =P31;/ SPI(nRF24L01)ds#define READ_REG 0 x00 / Define read#define WRITE_REG 0 x20 / Define writed
13、to registerd to register#define RD_RX_PLOAD 0 x61 / Define RX payload register address#define WR_TX_PLOAD 0 xA0 / Define TX payload register address:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)#define FLUSH_TX 0 xE1 / Define flush TX register#define FLUSH_RX 0 xE2 / Define f
14、lush RX registerdd#define REUSE_TX_PL 0 xE3 / Define reuse TX payload registerd#define NOP 0 xFF / Define No Operation, might be used to read sus register/*/ SPI(nRF24L01) registers(addresses)#define CONFIG 0 x00 / Config register address#define EN_AA 0 x01 / Enable Auto Acknowledgment register addr
15、ess #define EN_RXADDR 0 x02 / Enabled RX addresses register address#defi#defiTUP_AW0 x03 / Setup address width register addressTUP_RETR 0 x04 / Setup Auto. Retrans register address#define RF_CH 0 x05 / RF channel register address#define RF_SETUP 0 x06 / RF setup register address#define SUS 0 x07 / S
16、 us register address#define OBSERVE_TX 0 x08 / Observe TX register address #define CD 0 x09 / Carrier Detect register address#define RX_ADDR_P0 0 x0A / RX address pipe0 register address #define RX_ADDR_P1 0 x0B / RX address pipe1 register address #define RX_ADDR_P2 0 x0C / RX address pipe2 register
17、address #define RX_ADDR_P3 0 x0D / RX address pipe3 register address #define RX_ADDR_P4 0 x0E / RX address pipe4 register address #define RX_ADDR_P5 0 x0F / RX address pipe5 register address #define TX_ADDR 0 x10 / TX address register address#define RX_PW_P0 0 x11 / RX payload width, pipe0 register
18、address #define RX_PW_P1 0 x12 / RX payload width, pipe1 register address #define RX_PW_P2 0 x13 / RX payload width, pipe2 register address #define RX_PW_P3 0 x14 / RX payload width, pipe3 register address #define RX_PW_P4 0 x15 / RX payload width, pipe4 register address#define RX_PW_P5 0 x16 / RX p
19、ayload width, pipe5 register address#define FIFO_SUS 0 x17 / FIFO Sus Register register address/ 寫一個(gè)字節(jié)到24L01,同時(shí)讀出一個(gè)字節(jié)uchar SPI_RW(uchar byte)uchar bit_ctr;for(bit_ctr=0;bit_ctr8;bit_ctr+) / output 8-bitMOSI = (byte & 0 x80); / output byte, MSB to MOSIbyte = (byte 1); / shift next bitSCK = 1; / Set S
20、CK high.o MSB.byte |= MISO; / capture current MISO bit SCK = 0; / .then set SCK low again:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)return(byte); / return read byte/ 向寄存器reg寫一個(gè)字節(jié),同時(shí)返回狀態(tài)字節(jié)uchar SPI_RW_Reg(BYTE reg, BYTE value)uchar s us;CSN = 0; / CSN low, init SPI tranions
21、us = SPI_RW(reg); / select register SPI_RW(value); / .and write value to it.CSN = 1; / CSN high againreturn(s us); / return nRF24L01 sus byte/ 讀出bytes字節(jié)的數(shù)據(jù)uchar SPI_Read_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)uchar s us,byte_ctr;CSN = 0; / Set CSN low, init SPI tranactionsus = SPI_RW(reg); / Select re
22、gister to write to and read s for(byte_ctr=0;byte_ctrbytes;byte_ctr+)pBufbyte_ctr = SPI_RW(0); / CSN = 1;return(s us); / return nRF24L01 sus byte/ 寫入bytes字節(jié)的數(shù)據(jù)uchar SPI_Write_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)uchar s us,byte_ctr; CSN = 0;sus = SPI_RW(reg);for(byte_ctr=0; byte_ctrbytes; byte_ctr+)
23、 / SPI_RW(*pBuf+);CSN = 1; / Set CSN high again return(s us); /us byte/ 接收函數(shù),返回1表示有數(shù)據(jù)收到,否則沒(méi)有數(shù)據(jù)接受到unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)unsigned char revale=0;/ set in RX modeSPI_RW_Reg(WRITE_REG + CONFIG, 0 x0f); / Set PWR_UP bit, enable CRC(2 bytes) & Prim:RX. RX_DR enabled.CE= 1; /
24、 Set Cn high to enable RX devicedalay130us();:http:/(1)81069762(滿)無(wú)線技術(shù)無(wú)線技術(shù)(2)65332649無(wú)線技術(shù)71693650(滿)(3)81070007無(wú)線技術(shù)sta=SPI_Read(SUS); / read register SUSs valueerruptif(RX_DR) / if receive data ready (RX_DR)CE= 0; / stand by modeSPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);/ read receive payload
25、from RX_FIFO bufferrevale =1;SPI_RW_Reg(WRITE_REG+Sflagreturn revale;/ 發(fā)送函數(shù)US,sta);/ clear RX_DR or TX_DS or MAX_RTerruptvoid nRF24L01_TxPacket(unsigned char* tx_buf) CE=0;/SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); / Writes TX_Address to nRF24L01/SPI_Write_Buf(WRITE_REG + RX_ADDR
26、_P0, TX_ADDRESS, TX_ADR_WIDTH); /RX_Addr0 same as TX_Adr for Auto.AckSPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); / Writes dao TX payloadSPI_RW_Reg(WRITE_REG + CONFIG, 0 x0e); / Set PWR_UP bit, enable CRC(2 bytes) & Prim:TX. MAX_RT & TX_DS enabled.CE=1;dalay10us(); CE=0;/ 配置函數(shù)void nRF24L01_Config(void)/initial ioCE=0; / chip enableCSN=1; / SisableSC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位改造車棚合同范例
- 合作合同范本 英文
- 主播合同范本個(gè)人
- 化工藥劑供貨合同范本
- 公司內(nèi)勤合同范本
- 合租廠房合同范本
- 醫(yī)院大型設(shè)備合同范例
- 單獨(dú)設(shè)計(jì)合同范例
- 送貨付款合同范本模板
- 吳中區(qū)解約合同范例
- 《高分子物理》配套教學(xué)課件
- 年度應(yīng)急演練計(jì)劃表
- 英語(yǔ)板書設(shè)計(jì)(課件)
- 三年級(jí)勞動(dòng)課1ppt
- 建筑裝飾設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)
- 智能中臺(tái)數(shù)據(jù)底座解決方案
- 《財(cái)政與金融》課程教學(xué)大綱
- 《國(guó)際稅收》教案
- 傳統(tǒng)體育養(yǎng)生概論
- 公益性崗位保潔員保證書
- 行政許可執(zhí)法案卷自評(píng)表
評(píng)論
0/150
提交評(píng)論