基于nRF401的无线通讯系统及应用

更新时间:2023-05-26 09:38:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本文介绍了一种基于nRF401的无线通讯系统设计,包括硬件电路设计和软件部分的实现方法,并给出了主要的程序流程,最后对整个系统进行了测试。该系统设计是自主移动机器人系统设计中的一个组成部分——无线通讯模块,由于其成本低、可靠性高,也可方便地、单独应用于其它带有串

基于nRF401的无线通讯系统及应用

李欣,王耀宾,杨华

中国海洋大学信息科学与工程学院,山东青岛(266100)

E-mail:

摘 要:本文介绍了一种基于nRF401的无线通讯系统设计,包括硬件电路设计和软件部分的实现方法,并给出了主要的程序流程,最后对整个系统进行了测试。该系统设计是自主移动机器人系统设计中的一个组成部分——无线通讯模块,由于其成本低、可靠性高,也可方便地、单独应用于其它带有串口的测量控制系统中,实现无线数据的双向传输。 关键词:nRF401,AT89C2051,无线通讯系统,自主移动机器人

1. 引 言

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

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

2. 系统硬件设计

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

本文介绍了一种基于nRF401的无线通讯系统设计,包括硬件电路设计和软件部分的实现方法,并给出了主要的程序流程,最后对整个系统进行了测试。该系统设计是自主移动机器人系统设计中的一个组成部分——无线通讯模块,由于其成本低、可靠性高,也可方便地、单独应用于其它带有串

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

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

图2 基于nRF401的无线通讯模块系统电路图

2.2基于AT89C2051的控制系统设计

收发模块接口AT89C2051AT89C2051

图3 基于AT89C2051的控制系统结构

控制部分包括两片AT89C2051,控制芯片A负责处理无线收发模块数据信息,并与控制芯片B通过P1口以中断1方式进行数据交流。控制芯片B负责处理来自串口的信息,并与控制芯片A进行数据交流。由于两片AT89C2051 以中断方式并行传输模式传输数据,

本文介绍了一种基于nRF401的无线通讯系统设计,包括硬件电路设计和软件部分的实现方法,并给出了主要的程序流程,最后对整个系统进行了测试。该系统设计是自主移动机器人系统设计中的一个组成部分——无线通讯模块,由于其成本低、可靠性高,也可方便地、单独应用于其它带有串

数据交换时间远小于单片机串口通讯时间,因此不会影响整个系统的半双工通讯时间。为了满足各种要求,串口通过跳线被设计成232模式、485模式和UART模式。

3. 系统软件设计

3.1通讯协议

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

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

2 无线收发数据帧格式

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

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

Byte3 为byte1与byte2的异或值。 3 4 5 6 7 8

内部单片机之间传输的数据不包括标识字节和校验字节。 系统与外部串行通讯时,采用另外的通讯协议(如ModBus协议)。 外部输入采用中断方式,内部循环采用查询方式。 程序设计中,外部中断优先,以及时接收外部数据信息。 执行某一中断时,不响应其他中断。 无线通讯模块平时处于接收状态。

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定义为发送缓存区状态标志。

本文介绍了一种基于nRF401的无线通讯系统设计,包括硬件电路设计和软件部分的实现方法,并给出了主要的程序流程,最后对整个系统进行了测试。该系统设计是自主移动机器人系统设计中的一个组成部分——无线通讯模块,由于其成本低、可靠性高,也可方便地、单独应用于其它带有串

图4 程序流程图

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

在自主移动机器人系统中,可靠稳定的通讯系统对机器人与上位机、机器人与机器人之

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

人与上位机的一套无线通讯系统。

主机

图4 无线通讯系统应用图

本文介绍了一种基于nRF401的无线通讯系统设计,包括硬件电路设计和软件部分的实现方法,并给出了主要的程序流程,最后对整个系统进行了测试。该系统设计是自主移动机器人系统设计中的一个组成部分——无线通讯模块,由于其成本低、可靠性高,也可方便地、单独应用于其它带有串

5. 结论

本文给出了一种基于nRF401的无线通讯系统设计,该系统具有硬件电路简单、成本低廉、编程方便、可靠性高的特点。可以方便地应用于各种总线结构的系统中,作为其无线通讯部分,实现无线数据的双向传输。无线通讯系统传输的安全性和可靠性依赖于良好软件设计,由于外界干扰,无线通讯系统很容易收到误码,无线通讯程序设计中采用的短帧结构、三字节校验法,实践证明对过滤误码是很有效的。另外测试表明在最高通讯速率范围内,适当提高通讯速率可以减少误码率。

参考文献

[1] 吕燚,李军,鲍鸿,基于nRF401的无线通信系统设计[J].机械与电子,2004,(9):48-50 [2] Nordic.nRF401 DataSheets[EB/OL].,2002.02 [3] 郭小军,nRF401在无线传输中的应用[J].电子制作,2006,(2) :41-42

Design of Wireless Communication System and Its

Application Based on nRF401

Li Xin,Wang Yaobin, Yang Hua

Ocean university of china,qingdao,shandong(266100)

Abstract

This paper describes a kind of design of wireless communication system based on nRF401 including parts of hardware and software, gives the main program flow, and finally the entire system was tested. This system design is the part of the wireless communication system in my design of autonomous mobile robot. Because of its low cost, high reliability, it can also be conveniently, separately apply to other serial measurement control system, and to achieve the two-way wireless data transmission. Keywords: nRF401; at89c2051; wireless communication; autonomous mobile robot

本文来源:https://www.bwwdw.com/article/kyo4.html

Top