基于MSP430F2418与nRF905的认知无线电技术
扫描二维码
随时随地手机看文章
认知无线电CR(Cognitive Radio)作为一种新型的频谱共享技术,通过智能感知并机会式利用授权频段中的频谱空穴(即已分配给授权用户但未被其占用的空闲频谱),实现了不可再生频谱资源的再次利用。为有效解决当今无线网络中频谱资源紧张与频谱利用率不高这一矛盾开辟了新的途径。
本文提出的则是一个基于认知无线电的概念,将MSP430F2418单片机与nRF905射频发射模块相结合,通过载波检测和算法控制,实现无线网络中非授权用户智能接入的设计方案,重点研究了如何将认知无线电的概念付诸实施。
1 硬件平台的建立
图1所示为该认知网络的通信架构。图中UCR表示授权用户,F1是它的授权频率;CR表示非授权用户,CR_Tx为非授权用户的发送方,网络中非授权用户的智能接入功能由其完成;CR_Rx为非授权用户的接收方,其主要任务是准确接收来自发送方的数据。图中Fn为可变频率,在UCR没有使用F1时,CR用户可以使用F1;否则,CR用户应避开这个频率。由于本次研究的频率是433.0 MHz免许可申请频带,所以选用了可工作在433/868/915 MHz的nRF905射频发射模块。为了直观非授权用户的工作性能,硬件上添加了液晶显示器,该显示器与按键相结合构成了人机交互界面。非授权用户智能接入的功能需要一个微处理器进行处理和控制,课题中选用了具有超低功耗特点且具有较大内存的MSP430F2418型号单片机。该型号单片机庞大的内存空间为以后系统功能的扩展提供了方便,满足了设计的需要。
图2所示为MSP430F2418、nRF905以及液晶显示器的硬件连接图,省略了按键部分。CPU主要通过P2、P3口来操作nRF905内部寄存器,使其工作于不同的工作状态下。认知用户发送方和接收方都需要对当前设置的频率段进行频谱检测,以确定频谱空洞和选择最佳载波频率,而这一切都是基于MSP430F2418对nRF905模块CD引脚上信号的检测实现的。对于液晶显示器,CPU主要通过P5口低四位以及P4口来控制。另外,图中省略的按键与液晶显示器相结合构成一个人机交互界面,可以设置该网络工作于不同频段。
2 通信协议设计
2.1 自定义数据通信协议
由于认知无线电技术具有动态、灵活、智能的特点,因而对通信协议的要求比较高,要求协议能自适应于因终端变动、无线环境变动而带来的可用频谱资源的动态变化以及网络拓扑结构的改变。尤其不能因为可用频谱资源的改变中断非授权用户的正常通信。为此,需要改进现有的通信协议,并且考虑物理层和数据链路层的跨层设计问题。本文采用了数据通信协议中最基本的停等协议,即每发送一帧数据都要在等到应答帧之后才能发送下一帧数据。为了避免停等协议中数据帧重发冗余的问题,发送方为每帧数据编上了一个序号。接收方通过对数据序号的判断,以确保只接收当前想要的数据帧。
为了提高收发数据的正确率,除了nRF905的CRC校验码之外,设计中还将非授权用户之间收发的数据块第一个字符标志为‘R’。接收方接收数据时只在第一个字符‘R’ 校验正确时才保存该数据。数据帧格式如图3所示。
2.2 发送方的数据发送和协议解析
非授权用户的发送方具有感知能力,该认知网络中的智能接入功能即由其来实现。在初始化完成之后,发送方需要对当前设置的频率段进行频谱检测[3-5],将处于忙碌状态与闲置状态下的频点分开,进而在闲置的频点中找出一个最佳的频点。最佳频点找到后,发送方接着发送握手信息。在没有收到对方应答信号之前,发送方会一直处在握手状态。收到对方的应答信号之后,发送方才进入数据发送阶段。在这个阶段中,发送方每发完一帧数据后都要对当前使用的中心频率进行检测。若检测到授权用户仍然没有使用该频率,则发送方继续发送剩余数据,直到数据传送完毕。若发送方检测到当前中心频率正被授权用户使用,则应及时避开这个频点,重新寻找新的频谱空隙建立起通信系统。如图4所示。
2.3 接收方的数据接收和协议解析
接收方的基本任务是接收数据并将接收到的数据进行保存。其状态转换图如图5所示。在没有等到非授权用户握手信号之前,接收方会在各个频率点上进行循环扫描检测。若在某个频点上检测到有载波存在,接收方就试着去握手。如果握手失败,接收方就变换频点继续检测。一旦握手成功,接收方就开始进行数据的接收。在数据接收阶段,如果发送方频率保持不变,接收方就可以在无需变频的情况下完成所有数据的接收。但如果发送方在传输数据的过程中切换了频率,那么接收方在原来的频率上已经收不到数据信息,需要退出数据接收状态重新进行循环扫描检测,再次握手成功后继续接收剩下的数据。如果发现数据序号错位,理论上发送方与接收方使用的频率相同,则只需要调整步伐。经测试,非授权用户接收方工作稳定。出现数据错位时,程序可以根据自定义的协议自动调整步伐,确保每帧数据被正确地接收。
3 软件设计
3.1 程序流程图
系统软件设计采用标准C语言在IAR开发环境下编写调试。图 6为非授权用户发送方与接收方从频率选择到发送数据的程序流程图,省略了液晶显示器部分。
3.2 最佳频点选择算法
由于各个频谱空隙周围的环境状况不一样,为了尽量避免与其他用户载波之间的干扰,非授权用户需要从若干个频谱空隙中找出最佳频点。
以下程序是对分析得到的闲置频率数组与忙碌频率数组进行的处理。该算法预先定义了3个数组,分别存放相邻两边频率都空闲的频率,相邻一边频率空闲的频率以及相邻两边都忙碌的频率。分类的算法如下:将闲置频率数组中的所有数值依次加上和减去5×againflag(相邻频率控制字之间的步距为5,againflag为重复分类的次数,初始值为1),得到的两个值与忙碌频率数组的数据进行匹配,按照两个数值匹配的情况,将当前这个频率分配到预先定义的相应的数组里。返回值的选择方法如下:在分类之后,若相邻两边频率都空闲的频率只有一个,那就直接返回这个频率值;若不存在,则返回一边频率空闲的频率;如果还是不存在,就返回相邻两边频率都忙碌的频率。如果在第一轮分类之后,相邻两边频率都空闲的频率不只一个,则需要进行第二轮分类,直到找出最佳的频点为止。在出现某段频率都空闲的特殊情况下,程序返回了这段频率中间的一个值。
3.3 收发频率设计
在通常情况下,发射天线周围存在各种障碍物。如果收发频率相同,那么非授权用户很可能收到自己前一时刻发出信号的反射波而引起频率的切换。但切换之后的频率仍与上一次使用的频率相同,从而导致系统工作不稳定。因此设计中将发送载波与接收载波分开。经测试,每个载波传送数据的带宽为400 kHz,中心频率的步距为500 kHz,则可以将中心频率加减100 kHz分别作为发送波与接收波,这样可有效地避免认知用户检测到信号反射波工作不稳定的情况。收发频率关系图如图7所示。
本文所讨论的非授权用户的智能接入设计尚处于初级阶段。目前初步实现了非授权用户智能接入的基本功能,暂时还没有考虑到实际应用中诸如室内外信道、障碍物、传输能量损耗、通信设备移动等客观因素。因此,今后的研究内容还有更大空间,面对的问题会更加复杂。