打印
[其他]

基于MSP430单片机和nRF905的无线通信系统

[复制链接]
1212|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Sode|  楼主 | 2019-10-8 19:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于MSP430单片机和nRF905的无线通信系统

    随着信息技术的不断发展,人们对通信技术的需求越来越强,摆脱有线网络的束缚实现无线通信始终是大家关心的问题,当今无线通信研究越来越热,应用非常广泛,使人与人之间的通信更加方便快捷,更具有市场发展前景。


系统设计

无线通信系统,由两个部分组成:发送终端,接收终端。数据的发送和接收显示是借助于串口来实现的,通过PC机串口给发送终端送数据,然后发送终端通过nRF905把数据发送出去;接收终端通过nRF905接收数据,然后把接收到的数据通过串口传给PC机。系统框图如图1所示。

无线系统的硬软件设计


系统的硬件设计

本系统采用的射频收发器为nRF905, 工作电压为1.9~3.6V,工作于433/868/915MHz三个ISM频段,频段之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器。高抗扰GFSK调制,数据速率为50kbps,独特的载波监测输出,地址匹配输出,数据就绪输出。ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905的硬件连接电路图如图2所示。

采用的微处理器为TI公司的MSP430F149,它是一种超低功耗的混合信号控制器,具有16位RISC结构,CPU中的16个寄存器和常数产生器使MSP430能达到最高的代码效率。单片机通过采用不同的时钟源工作可以使器件满足不同功耗要求,适当选择时钟源,可以让器件的功耗达到最小。外设主要有存储器、时钟模块、定时器、USART和A/D转换器等。此次设计主要用到了MSP430F149两个串口通信模块USART0和USART1,USART0作为UART使用,提供异步通信,通过MAX3232电平转换芯片提供RS-232接口和PC机进行通信,USART1作为SPI使用,提供同步通信,主要是和nRF905之间进行命令和数据通信。把MSP430F149的P2口作为一般引脚使用,与nRF905的其他引脚相连。对MSP430F149提供双晶振系统,低频晶振为32.768K,与微控制的XIN和XOUT相连,为RS-232接口提供频率支持,高频晶振为8M,和微控制器的XT2相连,为系统运行的主时钟。系统的整体设计相对较为简单,不过在此基础上可以实现遥测,无线抄表,工业数据采集,机器人控制等。发送和接收的硬件电路是一样的,系统设计主要硬件电路图如图3所示。


系统的软件设计

系统软件设计包括下位机软件设计和PC机软件设计。前者主要是微控制器通过SPI口对nRF905的控制以及微控制器串口通讯的设计,后者包括串口通讯模块、主界面和数据库设计。

}RFConfig;

RFConfig RxTxConf=

{

10,

0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc,

0xcc, 0xcc, 0xcc, 0x58

};

nRF905提供SPI口的读写指令,当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN的由高到底的转换开始。下面主要介绍nRF905的发送流程和接收流程。

发送流程:

A.当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;

B.微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;

C.nRF905的ShockBurstTM发送:射频寄存器自动开启;数据打包(加字头和CRC校验码);发送数据包;当数据发送完成,数据准备好引脚被置高;

D.当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。

ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。

接收流程:

A.当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式;

B.650us后,nRF905不断监测,等待接收数据;

C.当nRF905检测到同一频段的载波时,载波检测引脚被置高;

D.当接收到一个相匹配的地址,地址匹配引脚被置高;

E.当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高

F.微控制器把TRX_CE置低,nRF905进入空闲模式;

G.微控制器通过SPI口,以一定的速率把数据移到微控制器内;

H.当所有的数据接收完毕,nRF905把数据准备好引脚和地址匹配引脚置低;

I.nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。

MSP430F149的串口通讯程序设计,主要是设定传输的速率为4800bps,数据传输为8位数,1个停止位,无奇偶校验。根据相应的发送端和接收端来设定发送模块和接收模块使能,发送中断和接收中断使能。

在PC机软件设计中,串口通信模块负责PC机与下位机之间的数据通信。而主界面和数据库设计主要是方便对接收的数据进行管理。
  
  实验测试分析

在发送和接收时利用示波器和万用表对nRF905的相关引脚进行测量分析如下:

发射时nRF905的分析情况如表1所示。

接收时nRF905的分析情况如表2所示。


结语

  本设计实现了基于MSP430F149和nRF905的无线通信。发送端和接收端之间的距离为80米,之间没有任何有线连接,通过发送端发送数据,在接收端能正确接收数据并显示在PC机上。实验表明,该系统实时性好,性能可靠。




使用特权

评论回复

相关帖子

沙发
Sode|  楼主 | 2019-10-8 19:12 | 只看该作者
基于MSP430单片机和nRF905的无线通信系统

基于MSP430单片机和nRF905的无线通信系统.pdf

585.46 KB

使用特权

评论回复
板凳
10299823| | 2019-10-9 20:43 | 只看该作者

无线通信模块NRF905与电脑怎么连接   

使用特权

评论回复
地板
jimmhu| | 2019-10-9 20:43 | 只看该作者
用过nRF905,nRF24L01没用过  

使用特权

评论回复
5
lihuami| | 2019-10-9 20:43 | 只看该作者

求一个MSP430F149单片机控制NRF905无线模块  

使用特权

评论回复
6
xiaoyaozt| | 2019-10-9 20:44 | 只看该作者
刚调试完nRF905无线模块        

使用特权

评论回复
7
uptown| | 2019-10-9 20:44 | 只看该作者

NRF905 无线收发模块怎么与 单片机连接啊?

使用特权

评论回复
8
cehuafan| | 2019-10-9 20:44 | 只看该作者
请问怎么发送和接收字符串或者汉字呢   

使用特权

评论回复
9
usysm| | 2019-10-9 20:45 | 只看该作者
  用无线模块nrf905传送是SPI协议

使用特权

评论回复
10
typeof| | 2019-10-9 20:45 | 只看该作者
以MSP超低功耗单片机系列MSP430F149为核心  

使用特权

评论回复
11
updownq| | 2019-10-9 20:46 | 只看该作者
nRF905与nRF2401哪个更强悍  

使用特权

评论回复
12
sanfuzi| | 2019-10-9 20:46 | 只看该作者

nRF905最远的有效传输距离是多少?

使用特权

评论回复
13
typeof| | 2019-10-9 20:46 | 只看该作者
如何基于nrf905实现arduino无线数传  

使用特权

评论回复
14
10299823| | 2019-10-9 20:46 | 只看该作者
中间用什么模块?         

使用特权

评论回复
15
usysm| | 2019-10-9 20:46 | 只看该作者
无线收发模块初始化程序该怎么编写

使用特权

评论回复
16
jimmhu| | 2019-10-9 20:47 | 只看该作者
nRF905用起来更容易一些,距离比24L01远一些

使用特权

评论回复
17
cehuafan| | 2019-10-9 20:47 | 只看该作者

如何仿真单片机控制nrf905无线收发模块

使用特权

评论回复
18
lihuami| | 2019-10-9 20:47 | 只看该作者
msp430f149驱动nrf905的电路图以及收发数据程序  

使用特权

评论回复
19
uptown| | 2019-10-9 20:47 | 只看该作者
nrf905模块可以直接连接到5V 单片机上吗  

使用特权

评论回复
20
xiaoyaozt| | 2019-10-9 20:47 | 只看该作者
网上常见的IO口模拟SPI方式进行通信   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1049

主题

1522

帖子

8

粉丝