原创 基于nRF401和AT89C2051的无线数字通信系统

2008-3-11 12:55 3489 4 5 分类: MCU/ 嵌入式
 




基于nRF401和AT89C2051的无线数字通信系统

湖南工业大学 欧伟明
引言

目前,机器人足球比赛系统主要有3种控制方式:第1种称为远程遥控无智能机器人足球比赛系统,主机通过无线方式遥控机器人;第2种称为基于视觉的机器人足球比赛系统,主机通过处理由摄像机获取的信息来控制机器人;第3种称为基于机器人的机器人足球比赛系统,此系统无需主机的控制,每个机器人通过自身的传感器获取信息并作出判断。


基于视觉的足球机器人系统作为实验平台,其实现难度适中,而且利于模糊推理、神经网络、机器学习等人工智能领域的研究。从设备上看,基于视觉的机器人足球比赛系统包括小车、摄像装置、计算机和无线收发装置;从功能上看,基于视觉的足球机器人比赛系统由视觉子系统、决策子系统、通信子系统和机器人子系统等四个部分以闭环系统形式构成。基于视觉的机器人足球比赛系统结构框图如图1所示。




xsj064652_1.jpg
系统硬件设计

通信子系统是机器人足球比赛系统中一个重要组成部分,其通信性能好坏,将严重影响机器人的运动和比赛的顺利进行。如果在通信过程中有误差,它将导致机器人小车错误的动作,失去运动目标。一般来说,对通信子系统的要求是:通信频率可选,硬件电路结构紧凑,通信速率高和性能稳定可靠。为了便于机器人小车的活动,通信子系统一般采用无线通信方式。


根据对通信子系统的设计要求,我们采用微控制器(俗称单片机)AT89C2051作为无线通信子系统的控制核心,并选用基于蓝牙核心技术的无线通信芯片nRF401,通信子系统结构框图如图2所示。机器人小车的控制命令由PC机发出,PC机的RS232串口连接到图2所示的无线通信子系统的输入端,控制命令经AT89C2051处理后,通过芯片nRF401以无线的方式发送给机器人小车。




xsj064652_2.jpg
xsj064652_3.jpg

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天线,以节约成本。


n RF401的内部结构如图3所示。nRF401的配置电路图如图4所示。




xsj064652_4.jpg

无线通信子系统电路原理图

无线通信子系统电路原理图如图5所示。CPU选用AT89C2051,它既接收来自上位机(PC机)的数据,同时又将从PC机接收的数据通过nRF401以广播形式发送给每个机器人小车子系统,每个机器人小车子系统根据设定的识别码,从接收缓冲区取出左右轮速度值,从而控制机器人小车的运动。



xsj064652_5.jpg

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相连接。



基于ERTOS的系统软件设计


通信格式


nRF401可以使用全双工模式,因此,机器人小车子系统不但可以接收主机发出的命令,而且可以向主机发出信息,甚至可以实现机器人小车子系统之间的通信。但是当信息量过大时,有可能发生通信死锁,所以应考虑通信协议的设计。为确保通信的顺畅,我们 只允许主机向机器人发送命令,而禁止其他形式的通信。命令控制字的具体格式如下:



xsj064652_6.jpg

其中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所示。这三个任务的具体情况如下。




xsj064652_7.jpg

任务0:系统初始化,如设置MCU的串行口工作在方式1,并设置波特率为9600bps。在启动任务1和任务2后自动删除任务0,使得任务0只在系统复位时执行一次。


任务1:接收PC机的命令控制字。若接收到了命令控制字则向任务2发送触发信号。
任 务2:等待触发信号,若SIGNAL被置 位,则控制nRF401并将命令控制字传送给nRF401,完成无线发射。


结束语


人 类对机器人的研究已走过了漫长的历程。随着科学技术的不断发展,人们对机器人的要求也随之越来越高而现实。在机器人足球比赛系统的开发过程中,不仅需要机器人学、通信与计算机技术等,而且还需要图像处理、智能控制等学科内容。 本 文主要叙述了机器人足球比赛通信子系统的硬件、软件设计。采用AT89C2051和nRF401所设计的通信子系统,电路核心芯片少,外围电路简单,体积小巧,成本低,其无线数字通信距离及其通信的可靠性均能满足机器人足球比赛系统的要求,从实际使用情况来看,使用效果 相当好。

文章评论1条评论)

登录后参与讨论

用户1377512 2008-4-14 21:12

您好! 看了您的这篇文章想问您一个问题:我现在也想用C2051做一个东西,但我运用RTX51 Tiny实时操作系统编程时,在Keil里能编辑,而且也生成了HEX文件,可就是实现不了功能,我做了一个很简单的LED灯实验也不成功。但是我如果换成89C51就可以,真不知是为什么?是不是用RTX51 Tiny还有什么地方我没有注意到,请您指点一下,多谢多谢!!我的邮箱是liuyongqiao11@yahoo.com.cn
相关推荐阅读
用户12374 2011-12-01 13:10
看看我们的WIFI-Robot无线远程遥控智能机器人
使用普通的DB120无线路由器和爱果联盟论坛出的WIFI-Robot的专用驱动板做的国内最强悍WIFI智能车,既是高级玩具,也是很好的学习教材,现推荐给大家! 1、从爱果联盟论坛下载小车专用WI...
用户12374 2011-09-24 08:53
51单片机制作红外遥控器
    你的生活中是否也有这样的场景,要打开电视,满屋子找遥控器,翻了一大堆遥控器却愣是没找到哪个是电视机的?我们走访了不少家庭,得到了一个惊人的数据,至少一个三口之家的家庭会有6个遥控板,更多的...
用户12374 2010-02-25 11:02
MMC2120M美新地磁传感器
采用的是MEMSIC公司生产的先进的微纳米技术传感器MMC2120M。它是一款全新的地磁传感器能够实现数字电子指南针功能。 它工作在2.7-5.25V的电压下,工作电流只有0.4毫安左右,适用于各类低...
用户12374 2009-05-20 17:06
单片机控制32路舵机
利用STC12C5406+4个74164  单片机控制32路舵机上图: 有兴趣的朋友欢迎交流:QQ:437796990...
用户12374 2008-09-30 11:23
AVR基本硬件线路设计与分析
 基本的AVR硬件线路,包括以下几部分:1。复位线路2。晶振线路3。AD转换滤波线路4。ISP下载接口5。JTAG仿真接口6。电源复位线路的设计  Mega16已经内置了上电复位设计。并且在熔丝位里,...
用户12374 2008-09-30 11:19
C8051F串口IAP原理
利用串口更新程序的相关文章...
我要评论
1
4
关闭 站长推荐上一条 /2 下一条