5)执行出栈,出栈的命令为 Request(001,0, 00),将第 2 个参数“0”改为“1”。RFID 读写器发送 Request(001,1,00),此时满足其条件的标签只有 Tag11,该标签发送命令 Response(0)。RFID 读写器 收到“0”的信息,表示此时无冲突,并识别了一个标 签(Tag11)。

6)执行出栈,出栈的命令为 Request(011,0, 00),将第 2 个参数“0”改为“1”。RFID 读写器发送 Request(011,1,00),此时满足其条件的标签有 Tag4, Tag6 和 Tag8,标签分别发送命令 Response(01), Response(00)和 Response(10)。RFID 读写器收到 “??”的信息,表示 D1 和 D0 存在冲突。

7)RFID 读写器发送 Request(010,0,00),此 时满足其条件的标签有 Tag4,Tag6,标签分别发送 命令 Response(1)和 Response(0)。RFID 读写器 收到“?”,表示 D0 位存在冲突。此时只有一位冲突, 表示 D0 位可有 2 种取值,识别了 2 个标签(Tag4, Tag6)。Request(010,0,00)命令入栈。

8)执行出栈,出栈的命令为 Request(010,0, 00),将第 2 个参数“0”改为“1”。RFID 读写器发送 Request(010,1,00),此时满足其条件的标签有 Tag8, 标签发送命令 Response(0)。RFID 读写器收到“0” 的信息,表示此时无冲突,识别了一个标签(Tag8)。

9)栈为空,该线程结束。 线程 2、线程 3、线程 4 也采取同样的处理方式。

算法相关问题说明

1)Request 命令入命令栈。由于算法中对树的操作是从左至右,所以按照命令中的 m 参数值确定是 否命令入栈,m 为“0”入栈,为“1”不入栈。

2)出命令栈。由算法中的后退原则,识别出标 签后,应后退查找树的结点。此时可执行出栈操作, 并将出栈命令中的 m 由“0”置“1”,再执行下次搜索。