目前,在各种仪器仪表数据采集系统,遥控测控系统中都需要嵌入无线数据传输的装置,本文介绍了一种通过单片机w77e58对无线收发芯片nrf401进行智能控制的通用无线收发装置的设计方法,硬件电路的设计分为两部分:无线射频模块的设计和控制模块的设计。该装置可以通过跳线的装置选择串口为rs232标准或ttl电平标准,通过w77e58控制可以实现双信道的切换,并可实现数据流控。
1 无线射频模块的设计
在本设计中,无线射频模块采用挪威nordic公司推出的nrf401无线收发芯片。该芯片使用433mhz ism频段,是真正的单片uhf无线收发一体芯片,他在一个20脚的芯片中包括了高频发射、高频接收、pll合成、fsk调制、fsk解调、多频道切换等,是目前集成度最高的无线数传产品[1]。无线射频模块采用在板差分环形天线,天线端口的负载阻抗为380ω,其电路原理见图1,图中列出了各外围元件的参数,其中j1口为无线射频模块与控制模块的接口。
硬件电路的设计要点如下:
(1)射频电路对于电源噪声相当敏感,必须采用星形布线的方法使数字部分和rf部分有各自的电源线路,并且应在靠近集成电路电源引脚处分别去耦[2]。
(2)外接vco电感应选用高频电感,q>45,精度为2%,本设计采用深圳顺百科技有限公司的lqw18an22ng00,电感的精度对无线通信的距离有较大的影响,也可使用精度为5%的,但通信距离会大大减小。vco电感连线应与其他控制线保持一定的距离,应避免数字控制线从电感引脚之间经过,并且应该使vco电感元件的中心距离nrf401的vco1,vco2引脚焊盘的中心5.4mm左右,电感元件的选择与布局很重要,是设计成败的关键点。
(3)在电路板的正反两面均使用大面积铺铜作为接地面,使所有的器件容易去耦,两面的铺铜应使用多个过孔相连,所有对地线层的连接必须尽量短,接地过孔应放置在非常靠近元件的焊盘处[2]。
(4)天线的设计使用pcb板的环形天线,尺寸为35mm×20mm,天线增益为-11db,天线阻抗为380ω,天线应位于pcb板的顶部,天线部分不要铺铜,有关环形天线的设计可参考nordic公司的技术文档nan440-03和nan400-05。
(5)如果pcb板的vco电感设计合理,当模块处于接收状态时,nrf401的第4管脚电压为1.1±0.2v。
2 控制模块的设计
控制模块负责对无线射频模块状态切换及信道切换的控制,选用华邦单片机w77e58,控制模块的设计分为硬件电路的设计和软件的设计两部分。
2.1 硬件电路的设计
w77e58速度高,工作频率可扩展到40mhz,使用与8051/52同样的晶振运行时间比8052快2.5倍[3],且其片内自带两个uart串口,串口0用于与外部的串口设备通信,串口1用于与无线收发模块通信,其中j6口为控制模块与无线射频模块的接口,j2口为控制模块与外部串口设备通信的接口,可以采用简单的三线通信方式,也可以加上流控信号cts,通过ttl电平对reset管脚的控制可以实现对智能无线数传模块的复位。j2口与外部串口设备可以以rs232或ttl电平的形式进行通信,通信形式的选择通过对接口j3、j4、j5的跳线设置,max232及外围的电容元件均可采用贴片器件,以缩小pcb板空间。通过p2.5,p2.6,p2.7分别对无线射频模块的待机状态与工作状态的切换,收发状态的切换、信道的切换进行控制。
2.2 软件的设计
w77e58片内自带有两个串口,其中串口0可以使用定时器t1或定时器t2作为波特率发生器;串口1只能使用定时器t1作为其波特率发生器[4]。本设计中采用t2做为串口0的波特率发生器,采用t1做为串口1的波特率发生器,两个串口均工作在串口模式1,波特率为9600b/s,串口0占用了第4号中断,使用scon,sbuf做为其串口控制寄存器和串口数据缓冲器;串口1则占用了第7号中断,scon1,sbuf1做为其串口控制寄存器和串口数据缓冲器。对串口的初始化函数为init_serialport(),函数定义如下:
在无线通信的过程中,由于外部环境的干扰,通常误码率比较高,即使发射方不发送数据,接收方仍会经常接收到由于外部干扰而产生的乱数据,为了在接收的过程中区分接收到的数据是否为有效数据,必须有一定的通信协议:
(1)两个串口的数据发送均采用查询方式,数据接收均使用中断方式;
(2)数据帧包括帧首和数据两部分,帧首使用双字节0x55aa,数据部分为1b,即每帧占用3b,帧首和数据部分均采用十六进制ascii码传送,确保协议的透明性;
(3)接收方如果接收到0x55 0xaa字节,则说明接收到有效的数据帧,否则将该帧丢弃。
如果硬件电路设计合理,元器件的选择恰当,再加上以上简单的通信协议,则可将误码率控制在0.2%以下。
单片机上电后,首先对系统和串口进行初始化,然后单片机进入待机模式,直到两个串口中的一个发生中断硬转为工作模式,处理中断程序。主要的程序代码如下:
3 硬件电路的测试
本设计中将控制模块和无线射频模式分开设计,控制模块通过一单排7脚的接口控制射频模块,测试的步骤如下:
(1)将控制模块和无线射频模块焊好,检查确认无虚焊、粘焊;
(2)先对控制模块上电进行测试,主要是测试控制模块的串口0和串口1能否相互收发数据,测试方法是通过板上跳线将串口0设置为rs232标准,由于板上的串口1只有ttl电平标准,必须外加电平转换电路将其转换为rs232标准,然后将两个串口分别接到计算机的两个串口上,将以上的程序写到w77e58上,然后用串口测试软件测试,如果串口0,1能相互收发数据,便可开始对无线射频模块进行测试;
(3)将无线射频模块的j1口与控制模块的j6口焊接起来,上电进行测试,按照以上的程序,上电时处于接收状态,可对txen,pwup,cs等管脚进行测试,看是否与程序吻合;
(4)确认射频模块上电处于接收状态后,可测试nrf401地第4管脚是否为1.1v左右,如果是,则说明vco电感设计合理,否则要重新设计pcb板,此外,nrf401在没有数据接收时,仍会自动从dout发送随机数据,使用万用表进行测试时该引脚电压应为2.5v左右[4]。如有示波器可做更详细的测试。
4 结语
由无线收发芯片nrf401、单片机w77e58、接口芯片max323等组成了一个智能控制无线收发装置,该装置具有通用性,可嵌入到各种仪器仪表数据采集系统、遥控遥测系统中,实现无线数据的双向传输。