NRF24L01模块写论文可以用到的 .pdf

上传人:qwe****56 文档编号:70008596 上传时间:2023-01-14 格式:PDF 页数:5 大小:118.67KB
返回 下载 相关 举报
NRF24L01模块写论文可以用到的 .pdf_第1页
第1页 / 共5页
NRF24L01模块写论文可以用到的 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《NRF24L01模块写论文可以用到的 .pdf》由会员分享,可在线阅读,更多相关《NRF24L01模块写论文可以用到的 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、(2)无线模块的选择模块 方案一:采用 nRF24L01 无线收发芯片组成智能家庭安全系统的自适应无线传感和控制网络,网络拓扑图如图所示。nRF24L01 是一款新型单片射频收发器件。工作于 24 GHz2。5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型 ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01 功耗低,在以一 6 dBm 的功率发射时,工作电流也只有 9 mA;接收时,工作电流只有 123 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。nRF24L01 主要特性如下:GFsK

2、调制:硬件集成 OSI 链路层;具有自动应答和自动再发射功能:片内自动生成报头和 CRC 校验码;数据传输率为 l Mbs 或 2 Mbs;SPI 速率为 0 Mbs10 Mbs;125 个频道:与其他 nRF24 系列射频器件相兼容;QFN20 引脚4 mmx4 rain 封装;供电电压为 19 V36 V。而且 nRF24L01 价格在 20 元左右,性价比高。为有效的实现对全局环境的检测,系统建立了无线传感网络,无线传感器网络拓扑图如图 2-2 所示。无线传感器节点无线收发主控制器无线传感器节点无线传感器节点无线传感器节点 图 2-2 无线传感器网络拓扑图 方案二:CC1100 是原 C

3、h ipcon 公司推出的一种低成本、真正单片的超高频无线收发器,为低功耗无线应用而设计。整个应用电路的无线频率主要设定在 315MHz、433MHz、868MHz 和 915MHz 四个 ISM(工业、科学和医学)频段上,也可以容易地设置为 300MHz348MHz、400MHz 464MHz 和 800MHz 928MHz 的其它频率上。芯片低电压(217V 316V)供电并且功耗较低(接收数据时为1516mA、214kb s、433MHz)、灵敏度高(112kbs 下为 110dBm),可编程控制的数据传输率最高可达 500kb s。CC1100 适用于电子消费产品、住宅、建筑的自动控制

4、、无线警报和安全系统等诸多无线应用领域。方案三:采用 315m 超外差无线收发模块。模块优点:成本低廉,频率稳定,接收灵敏度高。模块缺点:静态时会输出短暂针状干扰杂波,用于遥控没有问题,但用微处理器数传时要采取软件滤波;功耗较大,不适宜小容量电池供电应用。方案四:Zig Bee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,它是一种介于无线标记技术(RF ID)和蓝牙之间的技术。主要用于近距离无线连接。它依据IEEE802.15.4标准,在数千只微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一只传感器传到另一只传感器,所以

5、,它们的通信效率非常高。Zig Bee技术在智能家庭方面有着独特的优势,家用设备引入该技术后,将大大改善居住环境和生活质量。基于ZigBee技术,还可以实现全球漫游和无缝使用。但是Zig Bee开发和使用成本都过高,将直接增加安全系统的成本,导致一般家庭无法承受。综合各方面因素的考虑,我们选择方案一。3.2 系统各模块单元的理论分析与实际电路设计系统各模块单元的理论分析与实际电路设计 3.2.1 nRF24L01 无线收发电路设计 nRF24L01 通过 SPI 接口和 C8051F310 进行信息交换,CE 连接 P0.3,P0.6与 CSN 连接,IRQ 连接在了 P0.7 端口,可通过

6、C8051F310 的交叉开关将其配置为外部中端口,其余的端口与 C8051F310 的 SPI0 端口连接。原理图 3-1 所示。C8051F310P00P01P02P03P06P07 图 3-1 nRF24L01 无线收发电路原理图 附录 4 nRF24L01 的数据收发程序 nRF24L01 通过SPI 接口和C8051F310进行数据交换。下面从nRF24L01中断、发送数据和接受数据部分的例程来做说明。(1)发送完控制命令后,若发送成功,则产生TX_DS中断;若重发超限,则产生MAX_RT中断,接收命令时产生RX_RD中断。中断部分程序如下:void INT0_ISR(void)in

7、terrupt 0 /中断说明有数据接收到或其他中断源 uchar temp;SPI_Read(R_REGISTER|STATUS,1);/读寄存器status status=Reg_val;if(MAX_RT)/MAX_RT中断 temp=status;SPI_Write(W_REGISTER|STATUS,&temp,1);SPI_Write(FLUSH_TX,NULL,0);/清除TX_FIFO MAX_RT=0;if(RX_RD)/接收到数据 temp=status;SPI_Write(W_REGISTER|STATUS,&temp,1);/清除RX_RD while(Reg_val&

8、0 x0E)!=0 x0E)/RX_P_NO=111,RX_FIFO is Empty 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;/发送标志位至1 temp=status;SPI_Write(W_REGISTER|STATUS,&temp,1);TX_DS=0;(2)发送数据当nRF24L01

9、 模块配置成发送模式后,向发送FIFO 输入数据即可启动传输。发送8 Byte 的程序如下:void SPI_Write(unsigned char l_command,char*p,unsigned char len)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 模块配置成接收模式后,在接收到数据中断发生时,从接收FIF

10、O 读取数据。接收8 字节的程序如下:void SPI_Read(uchar command,uchar len)/读取不包括命令个数的数据长度 CSN=0;CSN=0;/先写命令 SPIF=0;SPI0DAT=command;while(!SPIF);/写数据 while(len)SPIF=0;while(TXBMT!=1);/等待送至移位器 SPI0DAT=0 x00;/读取数据 len-;while(!SPIF);if(command=R_RX_PAYLOAD)/只允许读取数据时才写IN_FIFO Rx_datalen=SPI0DAT;/存储status后的数据 else Reg_val=SPI0DAT;/否者只返回要读取的寄存器值 CSN=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁