小型足球机器人的无线通信系统设计
2.2 纠错编码设计
为了在有一定外界干扰的情况下,保证主要与机器人之间的无线通信依然稳定可靠,必须采取一定的抗干扰措施,这可以采用纠错编码来实现。可以选择纠错编码方案有(14,8)分组码、(7,4)分组码和循环码,需要使用两字节的长度发送一字节的有效信息;(5,2)分组码和循环码,交错码、(21,8)分组码和缩短循环码、(21,9)BCH码、(21,12)BCH码,需要使用三字节的长度发送一字节的有效信息。
系统中使用了(7,4)分组码,并在实际中取得了较好的效果。它的构成方式如下:
假定不做任何处理的原码格式为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
其高四位的监督码为:
A2 | A1 | A0 |
其低四位的监督码为:
B2 | B1 | B0 |
则编码后成为两个byte长度:
1 | X7 | X6 | X5 | X4 | A2 | A1 | A0 |
0 | X3 | X2 | X1 | X0 | B2 | B1 | B0 |
其中每个字节的最高位作为标志位,用于表示高四位和低四位,高四位用“1”做标志,低四位用“0”做标志。接收端通过检测标志进行重组和解码。对于译码基本方法有维特比译码和使用监督矩阵译码,可根据具体的编码方案灵活选用。
2.3 帧格式设计
一般数据帧包括帧头、机器人标识、数据、数据校验、保留字节等内容,通常按照下面的格式排列:
帧头 | 机器人标识 | 数据 | 保留字 | 数据校验 |
为了保证帧能够准确接收,帧头的设计至关重要。一般帧头需要两个或两个以上的字节,并且应该选择数据中出现几率较低的数值和组合。在这个系统中可以采用一般数据中根本不会出现的数据字节如0xF0、0xCC作为数据帧头。而其它类型的帧(如开球或暂停等命令帧),则可以选择在0xF0之后加上其它的字0x33、0xC3、0x3C、0x0F等构成。这种帧头组合在一般的数据中是不会出现的,因而可保证帧同步不会出错。场上的每个机器人通过数据帧中的机器人标识来识别属于自己的数据,由于场上只有5个机器人,因而机器人标识只占用一个字节。
这套通信系统采用了PTR3000无线通信模块进行无线传输,并运用了单处机的编解码使这套系统工作更加稳定可靠,使数据通信及时正确地传送到场上的每个机器人,完全满足小型组足球机器人比赛的通信速率和正确率要求。
javascript:window.open(this.src);" style="cursor:pointer;"/>