[资料分享] 基于ARM和nRF905的无线数据收发系统

[复制链接]
1846|23
 楼主| Jasmines 发表于 2019-5-15 17:08 | 显示全部楼层 |阅读模式
基于ARM和nRF905的无线数据收发系统

 所设计的 无线数据收发 系统是无线随动控制系统的重要组成部分,主要由 nRF905 无线收发模块和 LPC2148 ARM 开发板组成,用来实现手动系统与随动系统之间的无线数据传输,有效地解决了在恶劣环境下布线困难的问题。


  1 nRF905无线收发模块

  nRF905是一个工作在433/868/915 MHz的ISM频段,完全集成的单片无线收发器芯片。nRF905芯片内部包含有一个完全集成的调制器、带解码器的接收器、功率放大器、晶体振荡器等电路。其采用DSS+PLL频率合成技术和gmsk调制,频率稳定性非常好,抗干扰能力强;可以很容易通过SPI接口编程配置其工作模式;最多信道数可达170个,能够满足需要多信道工作的特殊场合;最远传输距离可达1 000 m;最高数据速率为50 Kb/s;工作电压为1.9~3.6 V;在发射功率为-lO dBm时,电流消耗为11 mA;在接收状态时,电流消耗为12.5 mA,具有低功耗模式;采用32引脚端的QFN 5 mm×5 mm封装。

  nRF905通过对TRX_CE,TX_EN,PWM_UP的设置来实现不同的工作模式,工作模式如表1所示,模式设置如表2所示。


20130307042327997791211_副本.jpg

  nRF905的工作模式通过SPI接口对芯片内部的寄存器进行配置实现。所有配置字都是通过SPI接口送给nRF905。SIP接口的工作方式可通过SPI指令进行设置。当nRF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。

  SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。

  nRF905的应用电路如图1所示,nRF905外围元件均采用贴片封装形式。


20130307042328044661212_副本.jpg


  2 LPC2148开发板与无线收发器电路模块的连接

  nRF905无线收发器电路模块与LPC2148开发板的连接如图2所示。两者之间的通信是通过SPI接口进行的,LPC2148有2个专用SPI总线接口,用户也可使用模拟SPI对nRF905进行操作,此处采用LPC2148的SPI0。搭建两个这样的模块即可以组成一个无线数据收发系统,示意图如图3所示。

20130307042328075911213_副本.jpg



  3 无线收发系统程序设计

  无线收发系统主程序包含有发射和接收两部分,用来完成数据的收发。

  3.1 发射部分

  使用定时器0定时1 s,每隔1 s蜂鸣器开启且发送一次数据,发送完一次数据后蜂鸣器停止呜叫。发射部分流程图如图4所示。






20130307042328091541214_副本.jpg

  启动ADS 1.2,使用 ARM Executable Image for LPC2148 工程模板创建一个工程。使用过程中,要将 nRF905 .c和nRF905.h包含入工程。nRF905.c中包含了nRF905的管脚初始化和配置函数,nRF905.h中包含nRF905的管脚定义、地址定义等。


  3.2 接收部分

  接收部分的程序流程图如图5所示。

20130307042328107161215_副本.jpg

  系统收发程序清单读者如有需要可以向作者索取。


  4 结语

  采用LPC2148和nRF905构成的 无线数据收发 系统工作在433 MHz的ISM频段,最远传输距离可达1 000 m,数据速率为50 Kb/s。工作电压为3.3 V,在发射功率为-10 dBm时,电流消耗为11 mA。由于系统采用DSS+PLL频率合成技术和gmsk调制,频率稳定性非常好,抗干扰能力强;可以很容易通过SPI接口编程配置其工作模式。信道数最多可达170个,能够满足需要多信道工作的特殊场合使用。系统具有低功耗模式,低功耗模式电流消耗仅为42μA。

  利用LPC2148具有45个可承受5 V电压的I/O接口,全速USB 2.O,UART,SPI和SSP串行外设接口,I2C总线接口,2个8通道10位的A/D和1个10位的D/A转换器,以及6路输出的PWM接口,可以方便地构成一个无线数据采集与控制系统。



 楼主| Jasmines 发表于 2019-5-15 17:08 | 显示全部楼层
基于ARM和nRF905的无线数据收发系统

文档1.pdf

198.48 KB, 下载次数: 0

kkzz 发表于 2019-5-17 16:31 | 显示全部楼层
NRF905无线收发模块的二次开发  
hudi008 发表于 2019-5-17 16:31 | 显示全部楼层
利用NRF905实现无线温度采集
lzmm 发表于 2019-5-17 16:31 | 显示全部楼层
所有配置都通过SPI接口?  
minzisc 发表于 2019-5-17 16:32 | 显示全部楼层
nrf905替代NRF51822   
selongli 发表于 2019-5-17 16:32 | 显示全部楼层
nRF24L0 无线数传模块
fentianyou 发表于 2019-5-17 16:33 | 显示全部楼层
905的PCB天线不太好做  
xiaoyaodz 发表于 2019-5-17 16:33 | 显示全部楼层
nRF24L01、nRF905、cc1100这三种无线模块哪种简单?

评论

推荐cc1100  发表于 2019-5-17 22:48
febgxu 发表于 2019-5-17 16:33 | 显示全部楼层
无线通信可以使用某种通信协议如zigbee或者蓝牙什么的
sdlls 发表于 2019-5-17 16:34 | 显示全部楼层
基于nRF24l01模块的Zigbee无线通信系统
pixhw 发表于 2019-5-17 16:34 | 显示全部楼层
nRF905和nRF24L01哪个无线通信模块好一些?
febgxu 发表于 2019-5-17 16:34 | 显示全部楼层
大多是使用集成这种协议的RF芯片实现的
kkzz 发表于 2019-5-17 16:34 | 显示全部楼层
主要工作于433MHz、868MHz和915MHz的ISM频段。
xiaoyaodz 发表于 2019-5-17 16:34 | 显示全部楼层
要要用到无线模块,请问这3种无线模块哪种比较容易使用啊?
hudi008 发表于 2019-5-17 16:34 | 显示全部楼层
nrf905 这款芯片相比大家都非常熟悉了  
fentianyou 发表于 2019-5-17 16:34 | 显示全部楼层
NRF905是433M-915M超高频的  
lzmm 发表于 2019-5-17 16:34 | 显示全部楼层
传递的速度能够有多快呢?     
selongli 发表于 2019-5-17 16:34 | 显示全部楼层
距离比24L01远一些?   
minzisc 发表于 2019-5-17 16:34 | 显示全部楼层
nrf905 提供低功耗无线射频IC
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

1077

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部