二进制树形算法
主要过程:
1、读写器设置筛选条件,像标签发送请求
2、阅读范围内所有标签,所有响应的标签发送自身ID
3、检查是否发生碰撞,有碰撞的话,读写器将碰撞的最高位置0,其余低位置1
4、重新制定筛选条件像标签发送请求
5、将响应读写器请求标签重新发送自身ID
6、依次类推,得到唯一一个ID。这个ID即你这次迭代的最终ID
举例1:
向下传输 | 请求 | 第一次迭代 | 请求 | 第二次迭代 | 请求 | 第三次迭代 | 请求 | 第四次迭代 | |||
读写器→标签 | 《11111111 | 《00001111 | 《00001011 |
| |||||||
向上传输 | 0x001xx1 | 00001xx1 | 000010x1 | ||||||||
标签1 | 00001101 | 00001101 | |||||||||
标签2 | 01001001 | 00001011 | 00001001 | 1001 | |||||||
标签3 | 00001011 | 00001001 | 00001011 | ||||||||
标签4 | 00001001 |
举例2:
向下传输 | 请求 | 第一次迭代 | 请求 | 第二次迭代 | 请求 | 第三次迭代 | |||
读写器→标签 | ≤11111111 | <10111111 | <10101111 | ||||||
向上传输 | 1x1x001x | 101x001x | 10100011 | ||||||
标签1 | 10110010 | 10110010 | |||||||
标签2 | 10100011 | 10100011 | 10100011 | ||||||
标签3 | 10110011 | 10110011 | |||||||
标签4 | 11100011 |
总结
每一次算出来的ID都是标签中最小的一个ID
附件列表