飛思助贏串口開發(fā)newmsg rf24l01評估參考_第1頁
飛思助贏串口開發(fā)newmsg rf24l01評估參考_第2頁
飛思助贏串口開發(fā)newmsg rf24l01評估參考_第3頁
飛思助贏串口開發(fā)newmsg rf24l01評估參考_第4頁
飛思助贏串口開發(fā)newmsg rf24l01評估參考_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本文檔歸杭州源中通信技術有限公司所有,任何第必須經(jīng)過杭州源中通信技術的允許方可修改本文檔.1.2008年03月08日,發(fā)布《NewMsg-RF24L01開發(fā)指南V1.0:研壇 NewMsg_RF24L01B實物NewMsg_RF24L01尺寸圖(單位 模塊實物圖 接口NewMsg_RF24L01SE模塊尺寸圖(單位2.4Ghz全球開放ISM頻段免證使最高工作速率2Mbps,高效GFSK調(diào)制,能力強,特 頻道,滿足多點通信和跳內(nèi)置硬件 檢錯和點對多點通信地址控低功耗1.9-3.6V工作,待機模式下狀態(tài)為22uA;掉電模式下為900nA內(nèi)置 天線,體積小內(nèi)置專門穩(wěn)壓電路,使用各種電源包括DC/DC開關電源均標準DIP間距接口,便于嵌工作于EnhancedShockBurst具有Automaticpackethandling,Autopackettransactionhandling,具有可選的內(nèi)與51系列單片機P0口連接時候,需要加10K的上拉電阻,與其他系列的單片機,如果是5V的,請參考該系列單片機口輸出電流大小,如果超過10mA,需要串聯(lián)電阻分壓,否容易燒毀模塊!如果是3.3V的,可以直接和RF2401模塊的IO線連接。比如AVR單片機如5V,一般串接2K的電阻。接口說明:VCC腳接電壓范圍為1.9V~3.6V之間,不能在這個區(qū)間之外,超過3.6V將會燒毀模塊。推薦電壓3.3V左右。除電源VCC端,其余腳都可以直接和普5V片機IO直接相連,無需電平轉(zhuǎn)換3V右的單片機更加硬件上面沒有SPI的單片機也可以控制本模塊,用普通單片IO口模擬SPI不需要單片機真正只需要普通片機IO口就可以了,當然用串口也可以了。9接地腳,需要和母板的邏輯地連接起來;29空排針間距為2.54mm,標準DIP插針,如果需要其他封裝接口,比如密腳插針,或者其他形式的接口,可以們定做。NewMsg_RF24L01模塊使用Nordic公司的nRF24L01開發(fā)而NewMsg_RF2401有工作模工作模PWR_UPregister、PRIM_RXregisterCE定,收發(fā)模收發(fā)模式有EnhancedShockBurstTM收發(fā)模式、ShockBurstTMEnhancedShockBurstTM收發(fā)模EnhancedShockBurstTM模式下使用片內(nèi)的先入先出堆棧好處:盡量節(jié)能;低的系統(tǒng)費用(低速微處理器也能進行高速射頻發(fā)射);數(shù)據(jù)在空中停留時間短,性高。EnhancedShockBurstTM在EnhancedShockBurstTM收發(fā)模式下,NewMsg_RF24L01自動處理字頭和CRC在接收數(shù)據(jù)時自動把字頭和CRC移去。在發(fā)送數(shù)據(jù)時,自動加上字頭和CRC,在發(fā)送模式下,置CE為高,至少10us,將時發(fā)送過程完成后。EnhancedShockBurstTM發(fā)射把的地址和要發(fā)送的數(shù)據(jù)按時序送入配置CONFIG寄存器,使之進入發(fā)送模式。微控制器把CE置高(至少10usNewMsg_RF24L01進EnhancedShockBurstTM發(fā)射;NewMsg_RF24L01的EnhancedShockBurstTM給射頻前端供電 射頻數(shù)據(jù)打包(加字頭、CRC 高速發(fā)射數(shù)據(jù)包;發(fā)射完成,NewMsg_RF24L01進入空閑狀態(tài)EnhancedShockBurstTM接收流配置本機地址和要接收的數(shù)據(jù)包大?。慌渲肅ONFIG寄存器,使之進入接收模式,把CE置高 后 進入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來當接收到正確的數(shù)據(jù)包(正確的地址和CRC校驗碼),NewMsg_RF2401自動把字頭、地址和CRC校驗位移去NewMsg_RF24L01STATUS寄存器的RX_DR置位(STATUS一微控制器把數(shù)據(jù)從NewMsg_RF2401所有數(shù)據(jù)完畢后,可以清除STATUS寄存器。NewMsg_RF2401ShockBurstTM收發(fā)模述前看本公司的NewMsg-RF2401文檔??臻e模NewMsg_RF24L01的空閑模式是為了減小平均工作電流而設計,其最大的優(yōu)點是實現(xiàn)節(jié)能的同時縮短的起動時間在空閑模式下,4.4關機模在關機模式下,為了得到最小的工作電流,一般此時的工作電流為900nA左右。關機模式下,配置字的內(nèi)容也會被保持在NewMsg_RF21片內(nèi),這是該模式與斷電狀態(tài)最大的區(qū)別。五、配置NewMsg_RF24L01模塊NewMsg_RF2401的所有配置工作都是通過SPI完成,共有30字我們推薦NewMsg_RF24L01工作于EnhancedShockBurstTM收也會更高,因此,下文著重介紹把NewMsg_RF24L01配置為EhacdShockBurstTM收發(fā)模式的器件配置方法。ShockBurstTM的配置字使NewMsg_RF24L01能夠處理射頻協(xié)議,在配置完成后,在NewMsg_RF24L01工作的過程中,只需改變其最低ShockBurstTM的配置字可以分為以下四個部分:數(shù)據(jù)寬度:射頻數(shù)據(jù)包中數(shù)據(jù)占用的位數(shù)。這使得NewMsg_RF24L01能夠區(qū)分接收數(shù)據(jù)包中的數(shù)據(jù)和CRC;地址寬度:射頻數(shù)據(jù)包中地址占用的位數(shù)。這使得NewMsg_RF24L01能夠區(qū)分地址和數(shù)據(jù);地址:接收數(shù)據(jù)的地址,有0通5址CRC:使NewMsg_RF24L01能夠生成 和當使用NewMsg_RF24L01片內(nèi)的CRC技術時,要確保在配置字(CONFIG的EN_CRC)中CRC校驗被使能,并且發(fā)送和接收使用相同的協(xié)議。NewMsg_RF24L01配置字的CONFIG寄存器六、參考源代碼 #include//<nRF24L01_Pins對應引腳> sbitMOSI=P1^4;sbitSCK sbitCE=P1^6;sbitCSN sbitIRQ //SPI(nRF24L01)#defineREAD_REG 0x00 //Definereadcommandtoregister#defineWRITE_REG //Definewritecommandtoregister#defineRD_RX_PLOAD 0x61 //DefineRXpayloadregisteraddress#defineWR_TX_PLOAD 0xA0 //DefineTXpayloadregisteraddress#defineFLUSH_TX //DefineflushTXregistercommand#defineFLUSH_RX 0xE2 //DefineflushRXregistercommand#defineREUSE_TX_PL 0xE3//DefinereuseTXpayloadregistercommand#defineNOP 0xFF//DefineNoOperation,mightbeusedtoreadstatusregister//SPI(nRF24L01)#define //'Config'register#defineEN_AA //'EnableAutoAcknowledgment'register#defineEN_RXADDR //'EnabledRXaddresses'registeraddress#defineSETUP_AW 0x03 //'Setupaddresswidth'registeraddress#defineSETUP_RETR 0x04 //'SetupAuto.Retrans'registeraddress#defineRF_CH 0x05 //'RFchannel'registeraddress#defineRF_SETUP //'RFsetup'registeraddress#defineSTATUS //'Status'registeraddress#defineOBSERVE_TX 0x08 //'ObserveTX'registeraddress#defineCD 0x09 //'CarrierDetect'registeraddress#defineRX_ADDR_P0 //'RXaddresspipe0'registeraddress#defineRX_ADDR_P1 //'RXaddresspipe1'registeraddress#defineRX_ADDR_P2 //'RXaddresspipe2'registeraddress#defineRX_ADDR_P3 //'RXaddresspipe3'registeraddress#defineRX_ADDR_P4 //'RXaddresspipe4'registeraddress#defineRX_ADDR_P5 //'RXaddresspipe5'registeraddress#defineTX_ADDR //'TXaddress'registeraddress#defineRX_PW_P0 0x11//'RXpayloadwidth,pipe0'registeraddress#defineRX_PW_P1 0x12//'RXpayloadwidth,pipe1'registeraddress#defineRX_PW_P2 0x13//'RXpayloadwidth,pipe2'registeraddress#defineRX_PW_P3 0x14//'RXpayloadwidth,pipe3'registeraddress#defineRX_PW_P4 0x15//'RXpayloadwidth,pipe4'registeraddress#defineRX_PW_P5 0x16//'RXpayloadwidth,pipe5'registeraddress#defineFIFO_STATUS0x17//'FIFOStatusRegister'registeraddress//ucharSPI_RW(uchar{ucharfor(bit_ctr=0;bit_ctr<8;bit_ctr++)//output8-{MOSI=(byte&0x80); //output'byte',MSBtoMOSIbyte=(byte<<1); //shiftnextbitintoMSB..SCK= //SetSCKbyte|= //capturecurrentMISOSCK= //..thensetSCKlow} //returnread} ucharSPI_RW_Reg(BYTEreg,BYTE{ucharCSN=0; //CSNlow,initSPItransactionstatus=SPI_RW(reg); //selectregister //..andwritevaluetoCSN= //CSNhigh //returnnRF24L01status}//bytesucharSPI_Read_Buf(BYTEreg,BYTE*pBuf,BYTE{ucharCSN=0; //SetCSNlow,initSPItranactionstatus=SPI_RW(reg); //SelectregistertowritetoandreadstatusbytepBuf[byte_ctr]=SPI_RW(0); CSN= //returnnRF24L01status}//bytesucharSPI_Write_Buf(BYTEreg,BYTE*pBuf,BYTE{ucharCSN=status=for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)//CSN=1; //SetCSNhighagain }//1{unsignedchar//setinRXSPI_RW_Reg(WRITE_REG+CONFIG,//SetPWR_UPbit,enableCRC(2bytes)&Prim:RX.RX_DRCE=1;//SetCEpinhightoenableRXdevicesta=SPI_Read(STATUS);//readregisterSTATUS'svalue //ifreceivedataready(RX_DR)interrupt{CE=0; //standbymode//readreceivepayloadfromRX_FIFObufferrevale=1;//clearRX_DRorTX_DSorMAX_RTinterruptreturn}//voidnRF24L01_TxPacket(unsignedchar*{ //WritesTX_Addressto//RX_Addr0sameasTX_AdrforAuto.Ack//WritesdatatoTXpayloadSPI_RW_Reg(WRITE_REG+CONFIG,0x0e);//SetPWR_UPbit,enableCRC(2bytes)&Prim:TX.MAX_RT&TX_DS}//void{//initial //chipenable //Spidisable //SpiclocklineinithighSPI_RW_Reg(WRITE_REG+CONFIG,//SetPWR_UPbit,enableCRC(2bytes)&Prim:RX.RX_DRSPI_RW_Reg(WRITE_REG+EN_AA,SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01); SPI_RW_Reg(WRITE_REG+SETUP_AW,0x02);//Setupaddresswidth=5bytesSPI_RW_Reg(WRITE_REG+SETUP_RETR,0x1a);//500us+86us,10SPI_RW_Reg(WRITE_REG+RF_CH,0);SPI_RW_Reg(WRITE_REG+RF_SETUP,0x07);//TX_PWR:0dBm,Datarate:1Mbps,LNA:HCURRSPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);SPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH); TX_ADR_WIDTH);CE=1; }關于我NewMsg開發(fā)團隊成立于2005年1月1日2005年8月8日在杭州杭州源中通信技術。經(jīng)過三年的發(fā)展,公司戰(zhàn)略調(diào)整,于2008年6月16日成立杭州威步科技公司主要無線音頻傳輸、無線傳ARM移動通信平臺的開發(fā)與應用有源RFID系統(tǒng)、無源頻系我們團隊由擁有博士和文憑的人才組成專注于電子相關領域?qū)怆娮蛹夹g等當前電技術進行實時并開展了一些前期的相關工作。歡迎電子行業(yè)同仁前來和洽談項目合作,歡迎提出新產(chǎn)品需求。傳真MSN:wenmi樓4層NewMsg推薦:全新概念NewMsg-44B0X開檔【 訂購商鋪連接: 【設備1.NewMsg-44B0X評估底板1.NewMsg- 板(工藝:4層板1.NetUSB-903SE(無線USB1.RF903SE(無線模塊1ARMJTAG(并口1.電源適配串口USB【產(chǎn)品特性】NewMsg-44B0X是杭州威步科技針對ARM軟硬件開發(fā)難度大、周期長的特點推出的簡易開發(fā)模塊,其主要硬件包括: S3C44B0X60MHz(ARM7內(nèi)核)2)2MByteNorflash3)8MByteSDRAM4)10MBase—TUSB通LCD- 外擴16MbitSPIFLASH(EN25B16)和64Kbit蜂鳴 10)2個按鍵,2個LED無線射頻接口、兼容本公司大多數(shù)無線射頻模塊(RF905CC1100RF2500

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論