NRF24L01模块写论文可以用到的_第1页
NRF24L01模块写论文可以用到的_第2页
NRF24L01模块写论文可以用到的_第3页
NRF24L01模块写论文可以用到的_第4页
NRF24L01模块写论文可以用到的_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(2)无线模块的选择模块方案一:采用nRF24L01无线收发芯片组成智能家庭安全系统的自适应无线传感和控制网络,网络拓扑图如图所示。nRF24L01是一款新型单片射频收发器件。工作于2.4GHz〜2。5GHzISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以一6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。nRF24L01主要特性如下:GFsK调制:硬件集成OSI链路层;具有自动应答和自动再发射功能:片内自动生成报头和CRC校验码;数据传输率为lMb/s或2Mb/s;SPI速率为0Mb/s〜10Mb/s;125个频道:与其他nRF24系列射频器件相兼容;QFN20引脚4mmx4rain封装;供电电压为1.9V〜3.6V。而且nRF24L01价格在20元左右,性价比高。为有效的实现对全局环境的检测,系统建立了无线传感网络,无线传感器网络拓扑图如图2-2所示。图2-2无线传感器网络拓扑图方案二:CC1100是原Chipcon公司推出的一种低成本、真正单片的超高频无线收发器,为低功耗无线应用而设计。整个应用电路的无线频率主要设定在315MHz、433MHz、868MHz和915MHz四个ISM(工业、科学和医学)频段上,也可以容易地设置为300MHz〜348MHz、400MHz〜464MHz和800MHz〜928MHz的其它频率上。芯片低电压(217V〜316V)供电并且功耗较低(接收数据时为1516mA、214kb6s、433MHz)、灵敏度高(112kb6s下为110dBm),可编程控制的数据传输率最高可达500kb6s。CC1100适用于电子消费产品、住宅、建筑的自动控制、无线警报和安全系统等诸多无线应用领域。方案三:采用315m超外差无线收发模块。模块优点:成本低廉,频率稳定,接收灵敏度高。模块缺点:静态时会输出短暂针状干扰杂波,用于遥控没有问题,但用微处理器数传时要采取软件滤波;功耗较大,不适宜小容量电池供电应用。方案四:ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,它是一种介于无线标记技术(RFID)和蓝牙之间的技术。主要用于近距离无线连接。它依据IEEE802.15.4标准,在数千只微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一只传感器传到另一只传感器,所以,它们的通信效率非常高。ZigBee技术在智能家庭方面有着独特的优势,家用设备引入该技术后,将大大改善居住环境和生活质量。基于ZigBee技术,还可以实现全球漫游和无缝使用。但是ZigBee开发和使用成本都过高,将直接增加安全系统的成本,导致一般家庭无法承受。综合各方面因素的考虑,我们选择方案一。3.2系统各模块单元的理论分析与实际电路设计3.2.1nRF24L01无线收发电路设计nRF24L01通过SPI接口和C8051F310进行信息交换,CE连接P0.3,P0.6与CSN连接,IRQ连接在了P0.7端口,可通过C8051F310的交叉开关将其配置为外部中端口,其余的端口与C8051F310的SPI0端口连接。原理图3-1所示。附录4nRF24L01的数据收发程序nRF24L01通过SPI接口和C8051F310进行数据交换。下面从nRF24L01中断、发送数据和接受数据部分的例程来做说明。(1)发送完控制命令后,若发送成功,则产生TX_DS中断;若重发超限,则产生MAX_RT中断,接收命令时产生RX_RD中断。中断部分程序如下:voidINT0_ISR(void)interrupt0//中断说明有数据接收到或其他中断源{uchartemp;SPI_Read(R_REGISTER|STATUS,l); //读寄存器statusstatus=Reg_val;if(MAX_RT) //MAX_RT中断{temp=status;SPI_Write(W_REGISTER|STATUS,&temp,1);SPI_Write(FLUSH_TX,NULL,0);//清除TX_FIFOMAX_RT=0;}if(RX_RD) //接收到数据{temp=status;SPI_Write(W_REGISTER|STATUS,&temp,l);//清除RX_RDwhile((Reg_val&0x0E)!=0x0E)//RX_P_NO=111,RX_FIFOisEmpty{SPI_Read(R_RX_PL_WID,1); //读取数据包长度SPI_Read(R_RX_PAYLOAD,Reg_val);//按照之前读出的数据包长度读取数据包SPI_Read(R_REGISTER|STATUS,1);//读取status查看是否还有数据在RX_FIFO}RX_RD=0;}if(TX_DS) /清除TX_DS{FA_BIT=1;//发送标志位至1temp=status;SPI_Write(W_REGISTER|STATUS,&temp,1);TX_DS=0;}}(2)发送数据当nRF24L01模块配置成发送模式后,向发送FIFO输入数据即可启动传输。发送8Byte的程序如下:voidSPI_Write(unsignedcharl_command,char*p,unsignedcharlen)reentrant{CSN=0;CSN=0;//先写命令SPIF=0;SPI0DAT=l_command;while(!SPIF);//写数据while(len){SPIF=0;while(TXBMT!=1);SPI0DAT=(*p);p++;len--;while(!SPIF);}CSN=1;}(3)接收数据当nRF24L01模块配置成接收模式后,在接收到数据中断发生时,从接收FIFO读取数据。接收8字节的程序如下:voidSPI_Read(ucharcommand,ucharlen)//读取不包括命令个数的数据长度{CSN=0;CSN=0;

//先写命令SPIF=0;SPI0DAT=command;while(!SPIF);//写数据while(len){SPIF=0;while(TXBMT!=1);SPI0DAT=0x00;len--;while(!SPIF);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论