基于MSP430和nRF905的多点无线通讯模块

2020-02-22 00:46崔滢朱敬生
科学导报·学术 2020年56期

崔滢 朱敬生

【摘 要】由于其高度的流动性,正变得越来越具有自组织性。为了建立一个基于无线节点模块的adhoc网络,增加了MAC协议来保证网络的位置和防止数据冲突。MSP430是该模块的主要软件芯片。本文提出了一种多通道硬件传输协议,充分利用了多通道的能力,同时又不妨碍数据传输,提高了传输效率。另外,使用转换器可以提高数据的准确性和管理效率。

【关键词】Adhoc网络;MSP430;nRF905;SPI;跳频机制

本文介绍了基于MSP430和nRF905的无线通信模块,通过在SPI区域采用双向通信,SPI支持高速数据传输,满足nRF905的带宽要求,为无线通信提供了强大的频率机制,并对可使用的信道提供了大量的支持在许多特殊情况下。即使不使用PCB天线,传输距离也能达到200米。如果你想继续传输,可以用有用的天线代替。传输距离增加1公里以上,满足不同用户的需求。

1驱动实现2.1MSP430的SPI驱动

如图1所示,SPI可以在数据传输的同时获得数据[2],这可以通过双操作模式来理解。SPI分为主模式和完全被动模式,数据传输和接收由主机完成,主机将数据记录在缓存utxbuf中,并将数据存储在并行传输系统中。当数据记录在utxbuf中时,它立即从MoSi线路接收移动缓存,移动缓存将城市中的数据传输到移动寄存器中的数据。我们可以同时获取主机的移动寄存器和接受缓存,所以我们使用SPI同时进行读写。

1.1nRF905的驱动

trn mcu上三个通用引脚的功耗正常,rsp mcu上三个通用引脚的功耗由主引脚控制。nrf905的反馈线告诉我们,要感知三个通道使用的CD,接受具有正确地址的am,并从MCU数据中获得正确的Dr。这些发夹应该由状态MCU插入。包括接收到的信号数在内,主单片机应告知清楚。

1.1.1寄存器操作

(1)寄存器介绍

nrf905操作主启动寄存器,有四个寄存器,即设置寄存器、发送地址寄存器或接收数据寄存器。每次发送数据时,另一方的地址记录在传输地址寄存器中,不超过32字节的数据记录在传输数据寄存器中。每个节点的地址在配置寄存器中设置。接收到的数据将自动放入寄存器。

1.1.2设置频道和频段

nrf905最吸引人的特性之一是它提供无线频率支持,并且有大量的信道。nrf905可以在433/868/915频率上通信。实际上,868和915属于同一频率,主要分为两个频率。一个频率可以使用两个通道,但事实上,对于不同的天线,只有一个频率可以发挥芯片的最佳功能,一个天线可以使用两个通道它可以在“X”中使用。如果任何一个信道受到干扰,都可以通过无线频率继续通信,保证数据的完整性。

1.1.3―发送数据流程

设置好配置寄存器后,就可以发送数据了。

当主MCU字段的pwrup值高时,进入905操作模式和TXEN数据传输模式。发送地址被传输到SPI端口的地址寄存器txaddress,数据被记录在传输数据寄存器TX中。有效负载、SPI速度由主MCU设置。三周MCU高度TXC e,905自动改进数据帧的形式,添加包头前导码,并根据设置添加寄存器,接受CRC校验,填写包尾,905将所有数据以100位/秒的速度发送到GFSK,发送后Dr将被安装得很高,并通知主MCU下次可以继续发送。④ 如果设置了自动复位模式,NRF 905将自动复位,并且Trax也将减少CE。⑤ 发送后,trxc e减小,进入待机模式。在实际工作中,txce将产生持续时间为10×431s或更长的脉冲,可以传输数据。

1.1.4接受数据流程

下面我们讨论如何接受数据,同样先给出时序图,再解释流程。

检查数据的CRC。如果正确,您可以删除数据包头和CRC段,并将数据存储在数据寄存器Rx中。有效载荷,同时,Dr信号高,通知主MC读取数据;主MC的TCE值较高。如果减少,则进入待机模式并通过SPI区域读取数据。在读取数据之后,nrf905将再次降低am和Dr以准备下次接受数据。

如果需要将驱动程序移动到arm等其他平台,重新定义接口,SPI读写功能会相应调整,便于移植。

2 MAC算法实现

nrf905提供了如此多的信道和无线频率系统,如何充分利用这一特性使通信更加稳定?下面是基于adhoc网络的MAC协议。

2.1MAC协议框架

信道分为控制信道和数据信道两种,数据信道又分为多组,每组有一个主数据信道和两个备用数据信道。主数据通道用于正常的通信,如误码率达到一定程度,可以通过预备数据通道继续通信。

本文采用ie802.11bcd-MA/CA系统,每次发送数据都要等到信道为空时,采用“二进制避免算法”,随机延迟时间,发送数据,有效避免了同一信道的数据冲突。

考虑到隐藏节点和暴露节点,我们使用RTS/CTS/brain系统。如果节点a需要通过节点B发送数据,它将发送RTs并拥有自己的数据通道列表信息。节点B在接收到RTS后,选择自己的信道列表共享的空闲信道,返回RTS,接收到CTS和负载后进入信道并发送数据,节点a通过信道信息发送负载,然后进入数据信道与节点B进行通信,其他节点在接收到CTS和负载后,快速登录信道列表信息和直接傳输数据允许下次查询。信息随着系统的发展而不断更新。然后由每个节点维护的信道被当前信道使用。

3数据频道

与普通控制信道不同,两个节点在数据信道中都建立了专用信道。此时不使用CSMA/CA系统。我们可以使用确认系统、重传系统和变频系统来保证数据的准确传输。基本上,通信过程是以数据10ack的形式发送数据,等待ACK,如果数据被接受则发送ACK确认。Ack不准确如果Ack不被接受或不被接受,它将被再次发送。如果通道不能使用,转台和交叉站需要双方协调,具有一定的复杂性。这里,详细描述了跨站系统。

总结

本文基于MSP430和nRF905无线多点收发模块,实现了基于物理层驱动和adhoc网络的MAC层协议,但不提供网络层定位拍摄。物理层通信是数据传输的可靠性,它保证了MAC协议能够无冲突地传输数据。

在测试中,我们在网络层采用了鱼眼算法,通过15个节点的动态组织网络进行信息传输。在本系统中同时传输信息时,彼此之间没有干扰。该模块已在一些复制系统、远程控制系统和机器人控制系统中得到了很好的应用。

参考文献:

[1]高章飞,朱善安.基于MSP430和nRF905的多点无线通讯模块[J].电子器件,2006,29(1):264-267,289.

[2]张业茂,张广洲,张建功.基于nRF905的无线通讯直流电场测量系统设计[C].//中国电机工程学会.输变电设施电磁环境学术会议论文集.2011:98-102.

(作者单位:陕西飞机工业有限责任公司)