基于nRF905模块和C8051F单片机的无线收发系统设计
扫描二维码
随时随地手机看文章
前言
在闭环钻井系统中,要求实时地把井下的信息传递到地面,以实施人工监控。通常情况下该任务由MWD中泥浆压力脉冲发生器来完成。当使用井下动力钻具组合时,近钻头传感器和MWD被动力钻具隔开。传感器无法用线缆与MWD连接,因此要把传感器的信息传送给MWD只能通过无线通信的方法。
本文设计了由C8051F0606单片机和nRF905无线射频器收发组成的一种无线数据传输系统的方案。该系统由发射和接收模块组成,发射模块主要将要发送的数据经单片机处理后,通过nRF905发送出去;在接收模块中,nRF905则将数据正确接收后通过上位机界面显示出来,从而实现短距离井下的无线通信。
无线收发系统硬件设计
nRF905模块简介
nRF905是Nordic VLSI公司推出的单片射频收发器,工作电压为1.9 V~3.6 V,工作于433MHz、868MHz、915MHz 3个ISM频段,频道转换时间小于650μs,最大数据速率为100 kbit/s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和GFSK调制器组成。
nRF905 模块的高频头用户接口电路管脚图如图1所示。
图1 nRF905模块的高频头用户接口电路管脚
nRF905模块具有两种工作模式和两种节电模式。工作模式包括:ShockBurst 接收模式和ShockBurst 发射模式;节电模式包括:掉电与 SPI 编程模式、待机与SPI编程模式。
系统硬件设计
本无线收发电路主要由C8051F060单片机和无线射频芯片nRF905组成。系统方框图如图2所示。
图2 无线收发电路系统组成框图
C8051F350是Silabs公司的一款精确混合信号单片机,片内有8通道16bit的S-D型ADC、128倍PGA、电流型DAC以及VREF 等模拟外设,可以方便地与温度压力等传感器直接连接。使用电流型DAC对传感器进行激励,传感器的输出信号经片内128倍PGA放大后进行A/D转换,无需额外的信号调理电路。片内8K FLASH,可在线编程和改写,传感器的标定参数可以在FLASH中存储,节省片外存储器。图3为系统硬件电路图。
图3 nRF905与MCU的电路原理图
软件设计
本系统中的无线数据传输主要由无线数据收发器nRF905、C8051F单片机和显示部分组成。nRF905收发器与单片机之间通过SPI口进行通信。因此,软件设计过程中的重点是nRF905数据的发送和接收过程。
nRF905的数据发送过程
发送数据时的工作流程如图4所示。当MCU有遥控数据节点时,接收点的地址 (TX- address) 和有效数据 (Tx- payload) 将通过SPI接口传送给nRF905。设计时应使用协议或MCU来设置接口速度。可用MCU设置TRX-CE,并使TX- EN为高电平来激活nRF905的ShockBurst传输。通过nRF905的ShockBurst可使无线系统自动上电,并完成数据包 (应加前导码和CRC校验码) 的数据码发送。
图4 发射数据流程
nRF905的数据接收过程
当系统接收数据时,其接收数据流程图如图5所示。系统的工作过程如下:
首先,在650μs以后,nRF905将不断监测空中的信息。当nRF905发现有和接收频率相同的载波时,其载波检测 (CD) 被置为高电平;此后,当nRF905接收到有效地址时,地址匹配 (AM) 被置为高电平;当nRF905接收到有效的地址包 (CRC校验正确) 时,nRF905将去掉前导码、地址和CRC位,同时将数据准备就绪位 (DR)置为高电平,并用MCU设置TRX- CN为低电平,以进入standby模式,从而使MCU能够以合适的速率通过SPI接口读出有效的数据;当所有的数据读出,nRF905将AM和DR设置为低电平,以便使nRF905准备进入ShockBurst RX、ShockBurst TX或Powerdown模式。
图5 接收数据流程图
用户界面的设计
本软件采用VB界面设计。将井下接收到并采集后的数据通过单片机显示在PC机上,可以清楚地看到井下的相关数据信息。如图6所示,是一组井下信息采集后通过无线传输的方式,将传感器输出的数据传输到MWD上。
图6中通道1至通道15分别实测井参数量化台阶数转换过后的模拟电压值,其中包括压力、温度、湿度、三轴重力加速度传感器输出值(Gx、Gy、Gz)以及翼肋位移等等。在实际应用中可较为直观地显示出来。
图6 用户交互界面
结论
系统调试成功后,进行了多次数据传输实验。本系统通过了实际数据通信实验的验证,运行稳定,通信可靠,能够实现100米左右的无线通信。从实验数据可知,无线信号在井下传输环境下的损耗远大于室外环境,在同等条件下,误码率主要与距离延伸有关。本系统还可以应用于点对点、点对多点通信的一些实际工作环境中。