基于FIFO的RFID防碰撞算法在确定性防碰撞算法的基础上加入了队列的先进先出算法(FIFO),通过生成待处理标签等待队列,从而降低处理标签识别的冲突。该算法在标签整体识别效率的提高和单个标签等待时间的降低上有显著效果。
在运用该算法的RFID系统中,当标签进入读写器发射的问询信号范围内,立即向读写器发送自己的ID,读写器接收到ID信息后,向标签反馈应答信号,并要求该读写器进入等待状态。且在读写器的标签处理等待队列中增加该ID信息。处理模块从标签等待队列中依次读取等待中的标签信息,发送包含该标签ID的读取广播,标签收到读取申请后应答读写器,进行身份认证、数据交换等,具体过程如下:
① 标签01发送包含身份信息的认证请求“Request(01)”;
② 读写器A收到“Request”信号,添加“Request(01)”至等待队列;
③ 读写器A发送反馈“Get(01),Wait”,收到01信息,请等待验证;
④ 标签01收到“Get(01),Wait”信息,随机进入等待认证的状态;
⑤ 标签0X请求认证,按照相同方式进入等待队列;
⑥ 系统读取等待队列,当读取到“Request(01)”,发送“Identy(01)”;
⑦ 如果连续三次发送“Identy(01)”无反馈,跳过此标签;
⑧ 标签01收到“Identy(01)”,反馈应答信息“Wait(01)”;
⑨ 读写器A在完成和标签01的身份认证以及数据处理交换后,发送标签移除信息“Remove(01)”。
在利用该算法RFID系统中,读写器至少要有两个独立的信号处理模块,一个用于处理“Request”认证请求信号和发送“Get,Wait”反馈等待信号,另一个用来作为处理“Identy”和数据交换的模块。最好有两个不同频率的信号天线,这样将认证接纳和数据交互两个功能独立分开,更好更快的完成标签识别和数据的处理。