新闻  |   论坛  |   博客  |   在线研讨会
基于nRF401和AT89C2051的无线数字通信系统
ouweiming | 2010-10-16 19:02:48    阅读:1283   发布文章

基于nRF401和AT89C2051的无线数字通信系统
Wireless Digital Communication System Based on nRF401 and AT89C2051
 
■湖南工业大学  欧伟明
 
摘要在介绍机器人足球比赛系统架构的基础上,针对其通信子系统提出了设计与实现方案,采用基于蓝牙核心技术的无线通信芯片nRF401与微控制器芯片AT89C2051的硬件电路设计,并采用基于嵌入式实时操作系统RTX51的软件设计,为机器人足球比赛系统提供高效可靠的无线数字通信平台。文章详细介绍了无线通信芯片nRF401。
关键词机器人足球;通信子系统;nRF401;嵌入式实时操作系统RTX51
 
引言
目前,机器人足球比赛系统主要有3种控制方式:第1种称为远程遥控无智能机器人足球比赛系统,主机通过无线方式遥控机器人;第2种称为基于视觉的机器人足球比赛系统,主机通过处理由摄像机获取的信息来控制机器人;第3种称为基于机器人的机器人足球比赛系统,此系统无需主机的控制,每个机器人通过自身的传感器获取信息并作出判断[2]
基于视觉的足球机器人系统作为实验平台,其实现难度适中,而且利于模糊推理、神经网络、机器学习等人工智能领域的研究。从设备上看,基于视觉的机器人足球比赛系统包括小车、摄像装置、计算机和无线收发装置;从功能上看,基于视觉的足球机器人比赛系统由视觉子系统、决策子系统、通信子系统和机器人子系统等四个部分以闭环系统形式构成。基于视觉的机器人足球比赛系统结构框图如图1所示。
首先,视觉子系统对比赛现场情况(如双方机器人和小球的位置、方向、速度)进行实时采集和处理。决策子系统根据现场情况,作出战略决策,为各机器人确定运行路径和速度,并经由通信子系统送到本队各机器人子系统中。每个机器人子系统作为战略的执行者,根据所接受的命令进行运动。通信子系统提供了上位机与机器人小车之间的可靠通信交互网络,其主要任务是准确无误地实现信号传输。本文将论述基于nRF401无线收发芯片和AT89C2051微控制器芯片的无线通信子系统的设计。
图1 基于视觉的机器人足球比赛系统结构框图
系统硬件设计
通信子系统是机器人足球比赛系统中一个重要组成部分,其通信性能好坏,将严重影响机器人的运动和比赛的顺利进行。如果在通信过程中有误差,它将导致机器人小车错误的动作,失去运动目标。一般来说,对通信子系统的要求是:通信频率可选,硬件电路结构紧凑,通信速率高和性能稳定可靠。为了便于机器人小车的活动,通信子系统一般采用无线通信方式。
根据对通信子系统的设计要求,我们采用微控制器(俗称单片机)AT89C2051作为无线通信子系统的控制核心,并选用基于蓝牙核心技术的无线通信芯片nRF401,通信子系统结构框图如图2所示。机器人小车的控制命令由PC机发出,PC机的RS232串口连接到图2所示的无线通信子系统的输入端,控制命令经AT89C2051处理后,通过芯片nRF401以无线的方式发送给机器人小车。
图2 无线通信子系统结构框图
AT89C2051芯片简介
微控制器采用美国Atmel公司的AT89C2051芯片。它的指令系统与MCS—51产品兼容,具有2K字节可重编程闪速存储器,128×8位内部RAM,两个16位定时器/计数器,六个中断源,编程串行UART通道,15根可编程I/O引线。在无线通信子系统中,AT89C2051完成接收PC机从RS232串口送来的机器人小车控制指令,并将控制指令经无线通信芯片nRF401送给机器人小车子系统。
nRF401芯片介绍
nRF401[3]是由挪威Nordic VLSI ASA公司推出的集收、发于一体的无线通信芯片,在一个20管脚芯片内集成了高频发射、高频接收、FSK调制与解调、PLL锁相环、放大器等单元电路。工作于433MHz ISM频段,采用FSK调制与解调技术,数据通信速率高达20kb/s,最大传输功率为+10dBM,并可以调整传输功率,差分式天线接口,非常适合做成PCB天线,以节约成本。
nRF401的主要技术指标如表1所示。nRF401的引脚功能描述如表2所示。nRF401的工作模式选择如表3所示。
nRF401的内部结构如图3所示。nRF401的配置电路图如图4所示。
无线通信子系统电路原理图
无线通信子系统电路原理图如图5所示。CPU选用AT89C2051,它既接收来自上位机(PC机)的数据,同时又将从PC机接收的数据通过nRF401以广播形式发送给每个机器人小车子系统,每个机器人小车子系统根据设定的识别码,从接收缓冲区取出左右轮速度值,从而控制机器人小车的运动。
AT89C2051微控制器的RXD/p3.0口与电平转换芯片MAX232相连,MAX232通过DB_9/male插头与PC机的RS232串口相接,用以接收PC机发送过来的命令控制字。AT89C2051微控制器的TXD/p3.1口与nRF401的DOUT/pin9脚相接,结合其他的控制引脚,AT89C2051控制nRF401的无线发射过程,用来完成将命令控制字经nRF401实现无线传输给机器人小车。AT89C2051微控制器的P1.0、P1.1、P1.2分别与nRF401的CS、PWR_UP、TXEN相连接。
 
表1. nRF401的主要技术特性
参数
数值
单位
频率,信道1/信道2
433.92/434.33
MHz
调制方式
FSK
 
调制度
+/-15
KHz
最大输出发射功率
10
dBM
灵敏度
-105
dBM
最大速率
20
kb/s
工作电压
2.7~5.25
V
接收电流
250
μA
发射电流
8
mA
待机电流
8
μA
 
 
表2. nRF401的管脚描述
管脚
名称
功能
说 明
1
XC1
输入
晶振输入
2
VDD
电源
电源+3~5V
3
VSS
电源地
4
FILT1
输入
环路滤波器
5
VCO1
输入
VCO电感
6
VCO2
输入
VCO电感
7
VSS
电源地
8
VDD
电源
电源+3~5V
9
DIN
输入
数据输入端,连到该引脚的电平必须是CMOS电平,最高速率是20kb/s,无需进行数据编码,当DIN=1时,振荡器频率为f0+ f,当DIN=0时,振荡器频率为f0- f。
10
DOUT
输出
数据输出端,标准的CMOS电平输出。
11
RF_PWR
输入
发射功率设置
12
CS
输入
信道选择控制输入端。
CS=0时选择信道1(433.92MHz ),
CS=1时选择信道2(434.33MHz )
13
VDD
电源
电源+3~5V
14
VSS
电源地
15
ANT2
输入/输出
天线终端,环形天线一般用印刷导线在PCB板上制作而成。
16
ANT1
输入/输出
天线终端
17
VSS
电源地
18
PWR_UP
输入
节电控制。PWR_UP = 1:Power up(工作模式)PWR_UP =0:Power down(待机模式)
19
TXEN
输入
发射/接收控制。TXEN=1:发射模式
TXEN=0:接收模式
20
XC2
输出
晶振输出
 
表3. nRF401的工作模式真值表
输入电平
工作模式
TXEN
CS
PWR_UP
信道
模式
0
0
1
1
接收
0
1
1
2
接收
1
0
1
1
发送
1
1
1
2
发送
×
×
0
-
待机
 
 
图3 nRF401的内部结构图
图4 nRF401的配置电路图
图5 无线通信子系统电路原理图
基于ERTOS的系统软件设计
通信格式
nRF401可以使用全双工模式,因此,机器人小车子系统不但可以接收主机发出的命令,而且可以向主机发出信息,甚至可以实现机器人小车子系统之间的通信。但是当信息量过大时,有可能发生通信死锁,所以应考虑通信协议的设计。为确保通信的顺畅,我们只允许主机向机器人发送命令,而禁止其他形式的通信。命令控制字的具体格式如下:
Si
Li
Ri
其中Si(i=1,2,3,...),为i号机器人小车标识;
Li(i=1,2,3,...),为i号机器人小车左轮速度;
Ri(i=1,2,3,...),为i号机器人小车右轮速度。
PC机发给每个机器人小车的控制命令字包括3个字节,第1字节是小车标号,第2字节是该小车左轮速度,第3字节是该小车右轮速度。一次性将所有机器人小车的控制命令打包发送。每个小车都能接收到PC机发送的每1条指令,机器人小车子系统上的通信专用MCU对标识信号进行比较,相符则随后数据有效,否则不予接收。
软件设计
为了能够实时地完成无线通信的目的,系统的软件我们用C51语言编写,并采用 Keil μVision2 6.20集成开发环境中的RTX51 Tiny实时操作系统来完成无线通信子系统中微控制器AT89C2051的软件设计。RTX51 Tiny实时操作系统是德国Keil公司开发的一种应用于MCS-51系列单片机功能强大的、可用于目前世界上由Intel 8051标准内核派生出的很多种增强型微控制器的实时操作系统。RTX51 Tiny短小精悍,只占用900字节ROM、7字节DATA型及3倍于任务数量的IDATA型RAM空间,可以很容易地运行在没有扩展外部存储器的单片机系统上。使用RTX51 Tiny的用户程序可以访问外部存储器,允许循环任务切换,并且支持信号传递和事件驱动,还能并行地利用中断功能。RTX51 Tiny允许“准并行”地同时执行16个任务。
根据对无通信子系统功能的分析,我们把软件分解为三个任务,各任务之间的运行关系如图6所示。这三个任务的具体情况如下。
任务0:系统初始化,如设置MCU的串行口工作在方式1,并设置波特率为9600bps。在启动任务1和任务2后自动删除任务0,使得任务0只在系统复位时执行一次。
任务1:接收PC机的命令控制字。若接收到了命令控制字则向任务2发送触发信号。
任务2:等待触发信号,若SIGNAL被置位,则控制nRF401并将命令控制字传送给nRF401,完成无线发射。
图6 程序流程图
结束语
人类对机器人的研究已走过了漫长的历程。随着科学技术的不断发展,人们对机器人的要求也随之越来越高而现实。在机器人足球比赛系统的开发过程中,不仅需要机器人学、通信与计算机技术等,而且还需要图像处理、智能控制等学科内容。
本文主要叙述了机器人足球比赛通信子系统的硬件、软件设计。采用AT89C2051和nRF401所设计的通信子系统,电路核心芯片少,外围电路简单,体积小巧,成本低,其无线数字通信距离及其通信的可靠性均能满足机器人足球比赛系统的要求,从实际使用情况来看

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客