1.一种减少通信复杂度的树形搜索RFID防碰撞方法,其特征在于,包括以下步骤:S1、在标签中设置前缀长度寄存器Q和响应标志寄存器R,并将其初始化为0,同时在阅读器中设置堆栈存储区;
其中,前缀长度寄存器Q中存储标签的前缀长度信息,响应标志寄存器R的值为表征0子集的0或表征1子集的1;
S2、使阅读器发送初始搜索命令request(ε);
其中,初始搜索命令request(ε)为所有接收到该命令的标签同时将其序列号数据发送至阅读器的命令;
S3、判断阅读器是否接收到序列号数据;
若是,进入步骤S4;
若否,进入步骤S5;
S4、基于接收到的序列号数据,进行碰撞位检测,基于碰撞位检测结果判断是否识别到标签;
若是,进入步骤S5;
若否,进入步骤S6;
S5、判断阅读器的堆栈存储区中的数据是否为空;
若是,则进入步骤S8;
若否,则进入步骤S7;
S6、对接收到的序列号数据进行处理,得到前缀长度值并存入阅读器的堆栈区,并使阅读器发送0子集搜索命令request(0,P),标志寄存器R为0的标签响应命令并返回数据,返回步骤S3;
S7、弹出堆栈存储区数据,并使阅读器发送1子集搜索命令request(1,P),前缀长度寄存器Q为P的标签响应命令并返回数据,返回步骤S3;
S8、结束搜索,实现RFID防碰撞;
所步骤S6具体为:
对接收到的序列号数据,设最高序列号的碰撞位为标签的第K位,则将前缀长度值P=N‑K‑1存入到阅读器的堆栈存储区中,并使阅读器发送request(0,P)请求命令,标志寄存器R为0的标签响应命令并返回数据,返回步骤S3;
其中,N为该标签ID的长度。
2.根据权利要求1所述的减少通信复杂度的树形搜索RFID防碰撞方法,其特征在于,所述步骤S1中,所述阅读器的堆栈存储区中存储有1子集的前缀长度信息,并按后进先出的原则对其进行存取。
3.根据权利要求2所述的减少通信复杂度的树形搜索RFID防碰撞方法,其特征在于,所述步骤S4中:当接收到的序列号数据中,发生碰撞的数据位为0时,则识别到一个标签,进入步骤S5;
当接收到的序列号数据中,发生碰撞的数据位为1时,则识别到两个标签,进入步骤S5。
4.根据权利要求1所述的减少通信复杂度的树形搜索RFID防碰撞方法,其特征在于,所述步骤S6中的0子集搜索命令request(0,P)的响应方式为:更新前缀长度寄存器Q中存储标签的前缀长度信息为P,设K=N‑P‑1,将第K位为0的标签的第K‑1~0位数据返回至阅读器,并将第K位1的标签的标志寄存器R的值更新为1。
5.根据权利要求4所述的减少通信复杂度的树形搜索RFID防碰撞方法,其特征在于,所述步骤S7中的1子集搜索命令request(1,P)的响应方式为:设K=N‑P‑1,返回第K‑1~0位的数据至阅读器,并将该标签的标志寄存器R的值更新为0。