摘要:针对足球机器人的特点,提出一种基于SC6121芯片的红外线通信系统设计方案,它比以往基于芯片M50462的红外线通信系统有更多的优点。
关键词:足球机器人 红外线 装置
1995年9月,韩国科学技术研究院(KAIST) 金钟焕教授提出了举办世界机器人足球比赛的建议,同年11月在KAIST建立了为召开微机器人世界杯足球比赛所需的国际组织委员会。1995年11月9~12日在KAIST首次举办微机器人世界杯足球比赛,至今已经举办四次比赛。足球机器人主要由CPU板、传感器、驱动部分、通信系统、视觉系统、主机系统等部分组成。本文作者曾经发表过文章研究足球机器人红外线通信问题,当时是以M50462作编码芯片来研究的。它的缺点有两个,其一是可靠性不够高;其二是M50462能够选择的用户编码只有2位,组成网络通信最多只有4个用户编码。而SC6121可靠性高,且有8位用户编码可以选择,组成通信网络系统可以有256个用户编码。因此,在足球机器人红外线通信系统中选择SC6121作为编码芯片更合适。本文将讨论如何用编码芯片SC6121实现足球机器人的网络通信。
1 系统构成
时分多址(TDMA)技术是网络通信经常采用的一种技术。在通信速率要求不高的通信系统里,有时将信息的接收和发射设计在同一个信道上,该技术被称之为时分双工(TDD)技术,它是TDMA的一个变形。我们设计的基于SC6121芯片的足球机器人红外线通信系统采用的就是TDD技术。在该系统中把与计算机RS232C相连接的通信装置看作通信系统的基站,它负责对通信系统的控制。把足球机器人上的通信装置看作用户,这样就构成了如图1所示的足球机器人通信系统。每个足球机器人通信装置占用SC6121芯片二个用户编码,其中一个作为该通信装置接收时隙的识别码,另一个作为发送时隙的识别码。基站通过控制芯片SC6121的用户编码来给各个机器人分配接收时隙和发送时隙。SC6121有256个用户编码,采用TDD技术可以构成128个通信装置。若将其中一个用于作基站,则系统通信装置数目的最大值是127,这足以满足足球机器人通信要求。
2 编码电路
发射部分采用SC6121红外线遥控系统的专用芯片,它由振荡电路、定时发生器及控制电路、键盘输入扫描电路、键盘输入/输出扫描电路、码产生电路和输出控制电路等组成。振荡器产生一个固定频率(我们选用455kHz)的信号,该信号经过定时发生器(12分频)选通后,产生时钟脉冲和载频信号(固定频率为455kHz时,是38kHz),其中时钟脉冲送往码产生电路;载频信号则送往输出控制电路,码产生电路输出的指令码被调制在此载频信号上,此信号再经缓冲放大器放大后从集成电路内输出。输出信号去激励晶体管(8550),从而控制流向红外线发光二极管(PH303)的电流。当红外线发光二极管(PH303)有正向电流流动时,就向外发射红外线,进而达到发射编码的目的。SC6121的输出波形参见图2。
从图2可以看出,SC6121所发射的一帧码含有一个引导码,16位的用户编码和8位的键数据码。键数据码的反码也同时被传送。引导码由一个9ms的载波波形和4.5 ms的关断时间构成,它作为随后发射码的引导。这样,当接收系统是微处理器构成的时候,能更有效地处理码的接收、检测及各项控制之间的时序关系。SC6121芯片编码采用脉冲位置调制方式PPM,利用脉冲之间的时间间隔来区分“0”和“1”。在8位编码被传送的同时,它们的反码也被传送,这样就大大减少了系统误码率。M50462没有传送反码,因此,从这一点来看,SC6121比M50462具有更高的可靠性。
SC6121发送电路原理参见图3。从图3可以看到,基于SC6121芯片的红外线通信网络可以有256个用户编码,而M50462最多只能有4个用户编码。由此可见,SC6121更适合网络通信。
3 解码电路
接收部分由PH302红外线接收管及前置放大电路KA2184组成,放大后的信号直接送往AT89C51单片机,由单片机进行软件解码。接收电路原理参见图4。
4 解码软件
根据图2中的②可以得到“0”代码脉冲间距为1.125ms,“1”代码脉冲间距为2.25ms。这样通过AT89C51单片机的定时器可以很方便地得到解码。
SC6121编码集成电路键数据码参见表1。
表1 SC6121矩阵键与键数据码关系
键盘号
矩阵接点
数据码 K0 K1 K2 K3 KI/O D0 D1 D2 D3 D4 D5 D6 D7 |
|||||||||||||
K1 | * | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/1 | ||||
K2 | * | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0/1 | ||||
K3 | * | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0/1 | ||||
K4 | * | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0/1 | ||||
K5 | * | KI/01 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0/1 | |||
K6 | * | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0/1 | ||||
K7 | * | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0/1 | ||||
K8 | * | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0/1 | ||||
K9 | * | KI/O2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0/1 | |||
K10 | * | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0/1 | ||||
K11 | * | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0/1 | ||||
K12 | * | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0/1 | ||||
K13 | * | KI/O3 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0/1 | |||
K14 | * | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0/1 | ||||
K15 | * | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0/1 | ||||
K16 | * | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0/1 | ||||
K17 | * | KI/O4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0/1 | |||
K18 | * | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0/1 | ||||
K19 | * | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0/1 | ||||
K20 | * | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0/1 | ||||
K21 | * | KI/O5 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0/1 | |||
K22 | * | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0/1 | ||||
K23 | * | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0/1 | ||||
K24 | * | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0/1 | ||||
K25 | * | KI/O6 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0/1 | |||
K26 | * | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0/1 | ||||
K27 | * | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0/1 | ||||
K28 | * | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0/1 | ||||
K29 | * | KI/O7 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0/1 | |||
K30 | * | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0/1 | ||||
K31 | * | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0/1 | ||||
K32 | * | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0/1 |
我们用AT89C51单片机的定时器1定时,用AT89C51的12脚作外部中断,通过软件解码得到键数据码后,再查表1,这样就可以分析出信息含义,从而实现软件解码。中断程序流程图参见图5。
有了编码和软件解码后就可以实现通信了。基站通过编码将信息传送给足球机器人的通信装置,足球机器人通信装置通过软件解码得到信息内容。反过来也一样,足球机器人通信装置通过编码将信息发送出去,基站通过软件解码得到信息。足球机器人通信装置、基站以及信息的传输方向均通过SC6121芯片的用户编码来区分。