【无线射频通信】-基于nRF401 的无线通讯系统及应用_第1页
【无线射频通信】-基于nRF401 的无线通讯系统及应用_第2页
【无线射频通信】-基于nRF401 的无线通讯系统及应用_第3页
【无线射频通信】-基于nRF401 的无线通讯系统及应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

----宋停云与您分享--------宋停云与您分享----基于nRF401的无线通讯系统及应用1.引言

在仪器仪表及测控技术中,无线数据通信以其节约传输线、使用便利等优点被广泛关注。中短距离(小于500米)的无线通信在自动测试系统、无线抄表、计算机遥测遥控系统、车辆监控系统和小区管理等实际应用中有广泛的市场。在众多的无线收发芯片中,nRF401以其成本低、牢靠性高、外围设计简洁广受欢迎,然而由于通信空间的简单性,无线通讯系统很简单收到误码,即使在发送端不发送数据的状况下,接收端也仍旧会接收到大量的干扰数据。在一个中等规模的系统设计中,CPU要进行多种操作,如外部存储器的访问,传感器数据的处理等,因此无线通讯干扰信息较多时,特殊是在中断通讯模式下,频繁的中断将严峻影响主程序的运行,另外由于对nRF401的操作除了掌握输入输出外,还需要对nRF401的收发状态、运行模式切换,因此对于一个总线结构的系统(如485通讯模式),无线通讯部分也作为一个ID模块时,传统的设计处理遇到了困难。因此需要设置一个中间处理环节,既能有效过滤信息又不影响通讯速率。

为解决上述问题,本设计基于nRF401作为无线收发芯片,使用两片AT89C2051作为掌握芯片,设计出一套无线通讯系统。其中一片AT89C2051(定义为掌握芯片A)掌握nRF401,AT89C2051的IO接口与串口协作掌握nRF401实现异步通讯;另一片AT89C2051(定义为掌握芯片B)既能满意总线串口的要求,又能解决掌握芯片A由于频繁串行中断而不能准时响应总线的问题,起到分担当务、隔离干扰、串口扩展的作用。采纳两片2051单片机设计方法,与采纳一片双串口单片机设计相比,能降低成本、提高芯片利用率、隔离干扰。实践表明该系统结构简洁、抗干扰力量强,能很好解决短距离系统之间的无线通信问题。

2.系统硬件设计

系统硬件设计包括无线通讯模块和通讯掌握部分。

2.1基于nRF401的无线通讯模块设计

nRF401是Nordic公司研制的单片UHF无线收发芯片,工作在433MHzISM频段。在接收模式中,nRF401被配置成传统的外差式接收机,所接收的射频调制的数字信号被低噪声放大器放大,经混频器变换成中频,放大、滤波后进入解调器。解调后变换成数字信号输出(DOUT端)。在放射模式中,数字信号经DIN端输入,经锁相环和压控振荡器处理后进入功率放大器射频输出。在本系统设计中,为了避开干扰,将基于nRF401的无线收发部分做在一块单独的PCB板上,引出通讯掌握接口(J1),组成的无线收发模块。

2.2基于AT89C2051的掌握系统设计

掌握部分包括两片AT89C2051,掌握芯片A负责处理无线收发模块数据信息,并与掌握芯片B通过P1口以中断1方式进行数据沟通。掌握芯片B负责处理来自串口的信息,并与掌握芯片A进行数据沟通。由于两片AT89C2051以中断方式并行传输模式传输数据,其数据交换时间远小于单片机串口通讯时间,因此不会影响整个系统的半双工通讯时间。为了满意各种要求,串口通过跳线被设计成232模式、485模式和UART模式。

3.系统软件设计

3.1通讯协议

在无线通信的过程中,由于外部环境的干扰,通常误码率比较高,即使放射方不发送数据,接收方仍会常常接收到由于外部干扰而产生的杂乱数据,为了在接收的过程中区分接收到的数据是否为有效数据,必需有肯定的通信协议。在传输数据量不大时,为有效处理信息,本系统设计以下通讯协议:

1)无线收发数据帧由3个字节组成,即8bit的标识位(0xab),8bit的数据位,8bit的校验位。

2)无线收发数据帧格式

byte1高四位为1010(0xa),低四位为数据的高四位

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0

1010D7D6D5D4

Byte2高四位为1011(0xb),低四位为数据的低四位

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0

1011D3D2D1D0

Byte3为byte1与byte2的异或值。

3内部单片机之间传输的数据不包括标识字节和校验字节。

4系统与外部串行通讯时,采纳另外的通讯协议(如ModBus协议)。

5外部输入采纳中断方式,内部循环采纳查询方式。

6程序设计中,外部中断优先,以准时接收外部数据信息。

7执行某一中断时,不响应其他中断。

8无线通讯模块平常处于接收状态。

3.2程序流程

对于掌握芯片A,接收无线收发模块数据为串行中断方式,接收掌握芯片B数据为外中断1方式。主程序运行过程中始终处于检测系统状态字循环方式,当发送缓冲区有数据(来自掌握芯片B)时,主程序调用串行发送程序将数据经串口、无线收发模块发送出去;当接收缓冲区有数据(来自无线收发模块)时,主程序调用并行发送程序将数据经P1口发送到掌握芯片B。在设计应将发送缓冲区和接收缓冲区设置为多字节,用来积累不能准时转移的数据。掌握芯片B的程序流程与掌握芯片A流程相像,只是在接收串口数据时,掌握芯片A程序对数据帧的校验方式不同。

图4为程序流程图,其中UART()定义为串行中断服务程序;Int1()定义为外部中断1中断服务程序;TranByte定义为发送缓存区;RecByte定义为接收缓存区;Recsum定义为接收缓存区计数;Transum定义为发送缓存区计数;delay定义为延时子程序;flag定义为系统状态掌握字,其中flag.7定义为接收缓存区状态标志;flag.6定义为发送缓存区状态标志。

4.在自主移动机器人系统中的应用

在自主移动机器人系统中,牢靠稳定的通讯系统对机器人与上位机、机器人与机器人之间的信息交换是非常重要的。基于nRF401的无线通讯系统可以作为中小型自主移动机器人的无线通讯部分,在应用中,将该系统通过跳线设置为RS232模式与计算机串口相连,另一套系统设置为UART模式与机器人其它部分组成多机通讯系统,这样便构建了一个机器人与上位机的一套无线通讯系统。

5.结论

本文给出了一种基于nRF401的无线通讯系统设计,该系统具有硬件电路简洁、成本低廉、编程便利、牢靠性高的特点。可以便利地应用于各种总线结构的系统中,作为其无线通讯部分,实现无

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论