基于NRF2401芯片的无线数据通信设计

元器件信息   2022-11-28 14:49   411   0  

目录

1.NRF2401芯片
2.NRF2401收发器的工作原理
3.硬件电路设计
4.单片机对NRF2401芯片软件控制
5.调试
6.关于NRF2401的常见问题
结语

  目前,无线数据通信的应用领域越来越多:遥控遥测,无线抄表,工业数据采集系统,身份识别,非接触AB智能卡,信息家电,无线语音图像传输,无线鼠标键盘等。凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。大量射频IC(集成电路)芯片的出现与应用大大缩短了无线通信系统的开发周期,为此需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信。本文设计了+5V单片机AT89C52与nRF2401芯片的硬件接口电路,解决电平转换的问题,实现了数据的双向传输。

  1.NRF2401芯片

  nRF2401芯片工作于2.4GHz全球开放ISM频段,125个频道,满足多点通信和跳频通信需要,工作速率0~1Mb/s,最大发射功率0dBm,外围元件极少,内置硬件CRC(循环冗余校验)和点对多点通信地址控制,集成了频率合成器,晶体振荡器和调制解调器。输出功率、传输速率和频道选择可通过三线串行接口编程配置。

nRF2401芯片引脚图

图1 nRF2401芯片引脚图

  nRF2401芯片最突出的特点是有两种通信模式:DirectMode(直接模式)和ShockBurstTMMode(突发模式)。直接模式的使用与其它传统射频收发器的工作一样,需要通过软件在发送端添加校验码和地址码,在接收端判断是否为本机地址并检查数据是否传输正确。ShockBurstTMMode使用芯片内部的先入先出堆栈区,数据可从低速微控制器送入,高速(1Mb/s)发射出去,地址和校验码硬件自动添加和去除,这种模式的优点是:

  ①可使用低速微控制器控制芯片工作;

  ②减小功耗;

  ③射频信号高速发射,抗干扰性强;

  ④减小整个系统的平均电流。

  因此,使用nRF2401芯片特有的ShockBurstTMMode使得系统整体的性能和效率提高。

  2.NRF2401收发器的工作原理

  关于NRF24L01收发器,它使用2.4GHz频段,可以在250kbps至2Mbps的波特率下运行。如果在开放空间和较低的波特率下使用,其范围可达100米。

NRF24L01收发器

图2 NRF24L01收发器

  该收发器模块可以使用125个不同的通道,这使得在一个地方拥有一个由125个独立工作的调制解调器组成的网络成为可能。每个通道最多可以有6个地址,或者每个单元最多可以同时与6个其他单元通信。

NRF2401收发器工作原理图

图3 NRF2401收发器工作原理图

  该收发器在传输过程中的功耗仅为12mA左右,甚至低于单个LED。模块的工作电压为1.9到3.6V,但好处是其他引脚可以承受5V逻辑,因此我们可以轻松地将其连接到Arduino,而无需使用任何逻辑电平转换器。

NRF24L01收发器引脚连接图

图4 NRF24L01收发器引脚连接图

  其中三个引脚用于SPI通信,它们需要连接到Arduino的SPI引脚,但是要注意,每个Arduino板都有不同的SPI引脚。引脚CSN和CE可以连接到Arduino板的任何数字引脚,它们用于将模块设置为待机或活动模式,以及在传输或命令模式之间切换。最后一个引脚是一个不必使用的中断引脚。

  NRF24L01有多种变体,最受欢迎的是带有板载天线的天线。这使得收发器更加紧凑,但另一方面,将传输范围降低到大约100米的距离。

基于NRF24L01芯片的各种模块

图5 基于NRF24L01芯片的各种模块

  第二个变体,不是板载天线,它有一个SMA连接器,我们可以连接一个鸭子天线以获得更好的传输范围。图4显示的第三种变体,除了鸭形天线外,还有一个RFX2401C芯片,其中包括PA(功率放大器)和LNA(低噪声放大器)。这会放大NRF24L01信号,并在开放空间中实现更远达1000米的传输范围。

  3.硬件电路设计

  硬件电路连接实现单片机与nRF2401芯片的接口连接。发送端与接收端硬件连接几乎一样,具有通用性,可以实现半双工通信。单片机使用的是MCS51系列的AT89C52,成本低,控制简单,容易扩展。硬件电路设计主要包括DC/DC电源供电电路设计、nRF2401芯片与+5V单片机的接口设计以及nRF2401芯片的外围电路设计。电路图如图6所示。

单片机与nRF2401芯片的接口电路

  图6 单片机与nRF2401芯片的接口电路

  由于nRF2401的供电电压范围为1.9~3.6V,而AT89C52单片机的供电电压是5V,为了使芯片正常工作,需要进行电平转换和分压处理。单电源供电时,采用MAX884芯片进行5V-3.3V电平转换。

  +5V单片机I/O口与nRF2401芯片引脚的接口需要进行分压处理,单片机向nRF2401发送控制信号和配置信号时采用电阻分压,nRF2401向单片机传送数据或者发送数据状态信号时采用74HC04反向器两级反向,这样就可以实现两个芯片在电压允许范围内的双向通信。也可以使用专用的双向电平转换芯片。单片机通过PWM_UP,CE,CS三端设置nRF2401的工作模式,表1列出nRF2401的四种工作模式。配置模式时单片机通过CLK1和DATA端向nRF2401发送配置字,发送数据时通过CLK1和DATA端向nRF2401发送地址和数据,接收数据时通过CLK1和DATA端从nRF2401读取数据,DR1是nRF2401通知单片机已经接收到数据并且可以读取的状态信号。CLK2、DOUT和DR2端为通道二保留使用,nRF2401可以同时接收两路信号。

nRF2401的四种工作模式

  nRF2401芯片以及其外围元件电路组成了发送接收模块。这部分重要的是PCB板的设计,使用两层的PCB板,尽量多打一些通孔,使顶层和底层的地能够充分接触,空余部分大面积连续接地。电源滤波电容尽量靠近VDD引脚,注意调整电阻、电容和电感的位置。这样能够获得好的射频性能。

  4.单片机对nRF2401芯片软件控制

  使用nRF2401芯片进行无线数据通信时不需要进行曼彻斯特编码,编程和应用非常方便。单片机对nRF2401芯片的控制包括在配置模式下对nRF2401的初始化配置、发送数据和接收存储数据。配置字一共18byte,设定的具体参数见表2。发送端和接收端的配置必须匹配,只有配置字的最低位不同。数据包格式包括前缀、地址、有效数据和CRC。发送数据包时单片机只向nRF2401传送地址和数据,前缀和CRC会在nRF2401芯片内部自动加进去。接收数据包时,接收端检测到本机地址的数据包,检验正确后会自动移去前缀、地址和CRC,将有效数据传送给单片机。

nRF2401的配置字

  5.调试

  向单片机中载入程序,进行软硬件连调。单片机初始化nRF2401,写入18byte的配置字,发送端的配置字为h8E08.1C50.5000.CCCC.CCCC.00CC.CCCC.CC83.6F04,接收端的配置字为h8EO8.1C50.5000.CCCC.CCCC.00CC.CCCC.CC83.6F05,设定发送端和接收端的地址长度为32bit,地址为0xCCCCCCCC,每次发送的数据长度为80bit(10byte),16bitCRC校验使能,ShockBurstTM通信模式,发射功率0dBm,晶振频率24MHz,工作频道为2402MHz。软件程序采用汇编语言完成,调试成功后,能够实现稳定可靠的数据传输,测得的数据传输速率达到60kbit/s左右,主要是受到单片机读取和写入速度的限制,更换高速单片机如MSP430或者DSP可以提高传输速率,控制原理相同。

  6.关于NRF2401的常见问题

  6.1什么是NRF24L01?

  nRF24L01是一款适用于全球2.4-2.5GHzISM频段的单芯片无线电收发器。该收发器由一个完全集成的频率合成器、一个功率放大器、一个晶体振荡器、一个解调器、调制器和增强型ShockBurst™协议引擎组成。

  6.2NRF24L01是WIFI吗?

  使用NRF24L01模块,可以创建无线连接并在网络中传输数据。

  6.3NRF24L01和NRF24L01+有什么区别?

  不同之处在于:NRF24L01+是NRF24L01的更新版本,能够额外提供250kbps的广播数据速率,而没有“+”的只有1Mbps和2Mbps。只要使用1或2MBps作为数据速率,两个版本都可以混合使用。

  6.4可以在没有Arduino的情况下使用NRF24L01吗?

  您不需要“Arduino”,但您确实需要一个微控制器内核,因为该特定芯片没有用户可编程的。

  6.5NRF24L01能穿墙吗?

  使用修改后的RF24模块,可以穿过四面墙,距离约为100英尺。当与视线应用一起使用时,该模块的距离也应该是标准nRF24模块的近一倍;如射频飞机、四铜、汽车和船只(100米)。

  6.6什么是NRF24L01PALNA?

  NRF24L01模块是最新的射频模块。该模块使用NordicSemiconductor的2.4GHz收发器NRF24L01+。如果您想以低成本设置无线通信系统,此无线收发器模块是一个简单且合适的模块。

  6.7什么是NRF模块?

  NRF24L01基本上是一个无线收发器,用于通过无线电波发送和接收数据。它是一个单芯片收发模块。它使用SPI协议传输数据。它的数据传输速度高达2Mbps。NRF24L01通常用于工业设备和项目中进行数据传输。

  6.8NRF模块如何工作?

  它使用2.4GHz频段,可以在250kbps到2Mbps的波特率下运行。如果在开放空间和较低波特率下使用,其范围可达100米。该模块可以使用125个不同的通道,从而可以在一个地方拥有一个由125个独立工作的调制解调器组成的网络。

  6.9什么是NRFArduino?

  NRF24L01模块通过SPI通信与Arduino协同工作。该模块的工作电压为1.9至3.6V,但其他引脚可承受5V,这意味着其他引脚可以直接连接到Arduino。

  结语

  以上就是基于NRF2401芯片无线数据通信设计的介绍了。通过调试结果表明nRF2401芯片可以与微控制器连接实现无线数据通信,通信质量可靠稳定,传输速率也能适应不同应用领域;该设计可以嵌入各种无线传输系统,成本低,功耗小,具有很好的通用性。

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。