RFID 包装箱技术存在多个 RFID 标签信息冲突 的问题。RFID 读写器向有效范围的 RFID 标签发出通信请求信号,所有包装箱上的 RFID 标签会同时返 回标签信息至 RFID 读写器。RFID 标签的通信使用 共享的通信信道,因此多个 RFID 标签信息在同一信 道中产生冲突。如何在避免冲突的条件下快速、正确 地读出 RFID 标签信息,并高效地利用通信信道,是 RFID 应用在包装系统中主要需要研究和解决的问题 之一。
对于 RFID 系统中的信息冲突问题,一般采用时 分多址(TDMA)的技术来解决。基于树的算法和基 于 ALOHA 的算法是时分多址的两类主要算法[7—10]。 基于 ALOHA 算法的主要思想是发现冲突后,重新产 生识别标签。当标签数量增加,冲突则呈线性增长, 系统性能急剧下降。基于树的算法是一类确定性算 法,例如查询树算法(QTA),二进制搜索算法(BAS) 等[11—14]。QTA 算法需传输并检验标签前缀,信息处 理速度较慢。BAS 算法的主要思想是将读入的信息生 成 2 个不相交的子集,循环处理,直到子集中只有唯 一可识别的标签。当标签数量增大,也会产生大量标 签的冲突,使系统效率降低。后退式二进制算法以 BAS 算法为基础,采用栈和后退原则减少冗余,提高 系统的工作效率。以上 2 种算法虽然可以解决多个包 装箱 RFID 标签的传输冲突问题,但随着同时读取包 装箱数量的增多,传输和处理的数据量也随之大量增 加。为了解决冲突和效率的问题,这里将提出并发执 行的后退式二进制 RFID 防冲突算法。
算法基础
1.1 曼彻斯特编码
多个同时读取的 RFID 标签信息在共享信道中产 生冲突,首先应找到冲突产生的位置,曼彻斯特编码则 是确定冲突位置的基础编码方式。曼彻斯特编码采用在 一位传输周期中的电平跳变规则,正跳变为 0,负跳变 为 1。例如有 2 个 RFID 标签(8 bit),信息分别为 10010111(标签 TagB)和 10110011(标签 TagA)。这 2 个标签在共享信道中同时被 RFID 读写器读出,则读 出的信息为 10X10X11(其中 X 为无电平)。由于 TagA 和 TagB 的第 2 位和第 5 位相反,上升和下降电平相互 抵消,可以说明第 2 位和第 5 位产生冲突,见图 1。