在超高频读写器的产品参数中经常会出现“防碰撞协议”等字眼,那么可以实现防碰撞协议的算法有哪些呢?下面就和小编一起来了解了解!
1、纯ALOHA算法
此算法主要采用标签先发言的方式,即RFID电子标签一旦进入超高频读写器的工作范围获得能量后,便向读写器主动发送自身的序列号。在某个电子标签向读写器发送数据的过程中,如果有其它电子标签也同时向该读写器发送数据,此时RFID读写器接收到的信号就会产生重叠,导致读写器无法正确识别和读取数据。读写器通过检测并判断接收到的信号是否发生碰撞,一旦发生碰撞,读写器则向标签发送指令使电子标签停止数据的传送,电子标签接到读写器的指令后,便随机的延迟一段时间再重新发送数据。在纯ALOHA算法中,假设电子标签在t时刻向读写器发送数据,与读写器的通信时间为To,则碰撞时间为2To。G为数据包交换量,S为吞吐率(G=0.5时最大S=18.4%)。
2、时隙ALOHA算法
为提高RFID系统的吞吐率,可以把时间划分为多段等长的时隙,时隙的长度由系统时钟确定,并且规定RFID电子标签只能在每个时隙的开始时才能向RFID读写器发送数据帧,这就是时隙ALOHA算法;根据上述规定可得,数据帧要么成功发送,要么完全碰撞,避免了纯ALOHA算法中部分碰撞的发生,使碰撞周期变为To;(G=1时最大S=36.8%) 。
3、动态时隙ALOHA算法
动态时隙ALOHA算法首先由RFID读写器把帧长度 N 发送给电子标签,电子标签则产生[1,N]之间的随机数,接下来各电子标签选择相应的时隙,与RFID读写器进行通信;如果当前时隙与电子标签随机产生的数相同,电子标签则响应RFID读写器的命令,若不同,标签则继续等待。假如当前时隙内仅有一个电子标签响应,RFID读写器就读取该标签发送的数据,读取完了以后就使该标签处于“无声”状态。如果当前时隙内有多个标签响应,则该时隙内的数据就出现了碰撞,此时RFID读写器会通知该时隙内的标签,让它们在下一轮帧循环中重新产生随机数参与通信。逐帧循环,直到识别出所有电子标签为止。
4、二进制搜索算法
多个标签进入读写器工作场后,读写器发送带限制条件的询问命令,满足限制条件的标签回答,如果发生碰撞,则根据发生错误的位修改限制条件,再一次发送询问命令,直到找到一个正确的回答,并完成对该标签的读写操作。对剩余的标签重复以上操作,直到完成对所有标签的读写操作。
(图文来源于网络,侵删)