基于nRF9E5的抗干扰跳频通信设计
扫描二维码
随时随地手机看文章
在民用无线通信应用领域,由于人们对短距离无线通信系统的不断开发和广泛应用,免申请的ISM频段资源越来越紧张,各系统之间频率的重合机会也越来越大,系统干扰也越来越严重,所以设计具有跳频功能的民用抗干扰通信系统具有很直接的现实意义。利用该技术,既可以提高系统的抗干扰能力,也可以大大降低系统维护的复杂度。跳频通信系统主要由信号调制解调器、跳频图案发生器、频率合成器和跳频同步器等部件组成,本文主要介绍民用抗干扰慢跳频通信系统。
1 工作原理
nRF9E5的内部结构如图l所示。片上系统集成的主要部件有:与8051兼容的微处理器、4 KB RAM及相关特殊功能寄存器(SFR)、4输入通道10位80 ksps的A/D转换器、433/868/915 MHz的nRF905无线收发器、电源管理及复位电路、PWM控制器、SPI接口控制器、低功耗模式RC振荡器、看门狗定时器、端口逻辑及RTC定时器,等等。微处理器与A/D转换器和无线收发器之间通过SPI接口进行连接,微处理器程序固化于外部的EEP—ROM存储器中,系统加电时由引导程序将固件通过SPI接口加载进片内的4 KB RAM区中,程序加载完毕之后系统由片内的RAM程序控制。该芯片射频信号输出功率可编程,最大输出为10 dBm,通道转换时间小于650μs,具有载波监听功能,支持LBT(Listen Before Trans—mit)协议。
nRF9E5内部集成的无线收发器可工作于433/868/915 MHz频段范围内,具体的工作频段和频点由外围电路的阻容参数和相关寄存器数据决定。在图2所示的电路中,若系统要求工作于433 MHz频段,则相关器件按照表1第2列取值;若系统要求工作于868/915 MHz频段,则相关器件按照第3列取值。系统的工作频段不仅由硬件进行配置,而且还要在相应的RF配置寄存器中进行设置。其中HFREQ_PLL设置工作频段,CH_NO设置工作频点,HFREQ_PLL为一控制位,CH_N0为9位数据。具体的无线载波频率由下列公式进行计算:
fOP=[422.4+(CH_NO/10)]×(1+HFREQ_PLL)
式中fOP的单位为MHz。若HFREQ_PLL=O,系统工作于433 MHz频段,频点间隔100 kHz,频段范围为422.4~473.5 MHz;若HFREQ_PLL=1,系统工作于868/915MHz,频点间隔200 kHz,频段范围为844.8~947 MHz。由此可见,如果系统程序按照跳频图案产生的伪随机数设置CH_NO,则nRF9E5可以分别实现2个频段512个频点的抗干扰跳频通信。
nRF9E5内部集成的无线收发器采用半双工的方式工作,工作方式由TRX_CE和TX_EN控制位决定,如表2所列。TRX_CE控制无线收发器处于休眠模式还是工作模式,当TRX_CE=l时,TX_EN决定无线收发器的接收和发送状态。无线收发器具有ShockBurst的特性,可实现高速的数据传输并在发送和接收模式之间快速转换,与射频数据相关的协议由片内nRF905收发器自动处理。nRF9E5只用简单的SPI接口与收发器进行数据传输。在ShockBurst接收方式下,当收到一个有效地址的射频数据包时,地址匹配寄存器位(AM)和数据准备好寄存器位(DR)通知片内MCU把数据读出。在ShockBurst发送方式下,nRF905自动给要发送的数据加上前缀和CRC校验。当数据发送完后,数据准备好寄存器位(DR)会通知MCU数据已经处理完毕。具体的收发流程如图3和图4所示。
2 软件设计
在非军事无线通信系统中,如简单的无线数据采集、无线射频识别等,频谱干扰一般是由于频率资源的紧缺以及无线通信系统的无序和广泛应用引起的,所以干扰是随机和无意识的。这样的应用场景下,如果数据的传输速率要求也不很高,那么可以设计简单的跳频同步协议来实现抗干扰通信。本设计中,跳频图案的伪随机数存放在256字节的数组中,hopIdx表示数组序号。在通信的初始阶段,接收端一直处于监听状态,发送端从数组O开始选择频点发送数据。若超时,则hopIdx加1继续发送,直到通信建立成功,然后发送端和接收端按照相同的跳频图案进行通信。
发送过程如图5所示。首先初始化各参数,然后根据伪随机数选择发送频点,并在该频点上发送数据,等待3 ms时间。如果接收到数据则表明接收方处于同频点,然后在该频点上进行数据通信。如果3 ms超时,则再尝试一次;如果继续超时,则再次根据伪随机码选择下一个通信频点进行尝试;如果超时3 s,则退出本次发送过程。
接收过程如图6所示,主循环一直处于监听状态,循环调用接收函数。如果收到数据包,则发送响应包,发送完毕之后,hopIdx加1,收发器在另一个频点继续监听。如果在一个频点长时间超限没有收到数据,则转换到另一个频点继续监听。
本文以半双工通信过程为例介绍抗干扰跳频通信的实现过程。实现的编程环境为uVisionII,并在Keil C51V7.08编译环境下测试通过。
(1)初始化过程
初始化过程主要包括无线收发器相关参数的设定,如表3所列。
(2)发送过程
发送过程主要包括的子函数如表4所列。
发送过程主要函数由TransmitPacket实现。
(3)接收过程
接收过程主要包括的子函数如表5所列。
3 总 结
随着无线频谱资源的日益紧张,采取跳频通信实现抗干扰通信将会显得越来越重要;而利用nRF9E5设计实现抗干扰跳频通信系统是一种廉价、方便的应对措施,所以必将会在民用市场受到越来越多的关注和应用。