CN101464941B - 基于多叉树的无线无源传感系统防冲突方法 - Google Patents
基于多叉树的无线无源传感系统防冲突方法 Download PDFInfo
- Publication number
- CN101464941B CN101464941B CN200910095463XA CN200910095463A CN101464941B CN 101464941 B CN101464941 B CN 101464941B CN 200910095463X A CN200910095463X A CN 200910095463XA CN 200910095463 A CN200910095463 A CN 200910095463A CN 101464941 B CN101464941 B CN 101464941B
- Authority
- CN
- China
- Prior art keywords
- sensor tag
- reader
- conflict
- instruction
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种基于多叉树的无线无源传感系统防冲突方法,应用于单个阅读器和多个传感器标签组成的无线无源传感系统中,阅读器发送初始化命令,将传感器标签激活并初始化后;传感器标签的ID号以m进制的形式表示为k位,阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号;如果阅读器检测到传感器标签的某一位m进制ID号有冲突,则对冲突的各值依次轮换进行查询;传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变。本发明减少了查询次数,降低了误码率,传感器标签的识别过程逻辑简单,功耗低。
Description
技术领域
本发明涉及无线无源传感技术,尤其涉及一种基于多叉树的无线无源传感系统防冲突方法。
背景技术
无线无源传感系统是一个新兴的研究方向,它具有广泛的应用前景和较高的应用价值。现阶段的无线传感器以无线有源传感器为主,该技术采用传感器标签自带电池供电。由于电池电量有限,尤其在一些恶劣的环境条件下工作寿命将大大减小,因此传感器标签的无源化是无线传感器系统的一个理想的发展趋势。
目前无线无源传感系统的研究主要包括SAW(声表面波)传感系统和RFID(射频识别)标签式的无线无源传感系统两类。SAW在压电基底表面传播时,SAW的传播特性会随着压电基片表面的物理参数的变化而变化,无线无源SAW传感系统就是利用该原理测量物理参数,并通过电磁波信号,将被测物理参数以模拟量的形式发送给接收器。无线无源SAW传感系统对于传感器的设计要求及依赖程度很高,使用的灵活性较差。
RFID标签式的无线无源传感系统由阅读器和传感器标签组成,可采用数字式的传感器,传感器标签从阅读器以无线的方式获得能量,并将检测信号无线地发送给阅读器。相对而言,它的传感器标签的成本可以更低,传感器的种类可以更多,应用也将更加灵活。这类产品可用于密闭容器内物理参数的测量、食品或水质的检测、环境监测等。例如将该感应器标签粘贴在牛奶纸盒上,通过纸盒上的这个传感器来测量牛奶中细菌的含量,阅读器接收测量信息,并判断牛奶是否变质。
RFID标签式的无线无源传感系统的工作时由阅读器周期的广播自己的信号,进入阅读器感应范围的传感器标签将获得运行的能量而被激活,并根据收到的阅读器信号,将按照一定的协议规定发送自己的要发送的信号。由于所有传感器标签发送的信号使用的是同一个信道,如果在同一时刻有多个传感器标签发出信号,将在该信道上产生信号冲突从而造成阅读器无法正确地识别标签返回的信号。
针对上述的多传感器标签应答冲突问题的解决通常有4种方式:TDMA时分多址、SDMA空分多址、FDMA频分多址、CDMA码分多址。其中,TDMA时分多址方式由于应用简单,容易实现大量标签的读写,所以被多数防冲撞算法采用。现有的RFID系统多标签冲突解决方案主要包括Aloha算法和二叉树算法两种,两者均属于TDMA方式,其中Aloha算法的主要原理是通过标签随机地选择发送信号的时间来避免冲突,而二叉树算法则是通过阅读器对应答的电子标签进行分类来避免冲突。Aloha算法又可分为纯Aloha、时隙Aloha(SlottedAloha)、帧隙Aloha(Frame-slottedAloha)等。总体而言Aloha算法的随机性较大,当大量标签并存时,帧冲突严重,引起性能急剧恶化。二叉树算法也有动态二进制算法、后退式二叉树搜索算法以及其他形式的优化二叉树算法等。相对而言二叉树算法的理论性能要优于Aloha算法,但是二叉树方法需要标签回复大量的二进制ID码,应答时序较长,容易产生误码。
发明内容
本发明的目的是针对现有技术方法的不足,提供一种基于多叉树的无线无源传感系统防冲突方法。
本发明的目的是通过以下技术方案来实现的:一种基于多叉树的无线无源传感系统防冲突方法,无线无源传感系统主要由单个阅读器和多个传感器标签组成,阅读器和传感器标签均包括控制器,传感器标签包含一个n位的二进制ID号,将该二进制ID号表示为一个k位的m进制ID号,传感器标签的控制器中包含一个可读写的p位的冲突标识数和一个q位的计数器,p为大于或等于log2k的最小整数,k为传感器标签m进制ID号的位数,q为大于或等于log2m的最小整数。阅读器的控制器中包含一个q位的计数器和一个最大深度为(m-1)·(k-1)的堆栈;该方法包括以下步骤:
(1)阅读器发送初始化命令,将传感器标签激活并初始化;
(2)传感器标签的ID号以m进制的形式表示为k位,阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号;
(3)如果阅读器检测到传感器标签的某一位m进制ID号有冲突,则对冲突的各值依次轮换进行查询;
(4)传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变。
进一步地,所述步骤(1)中,将传感器标签激活并初始化是将所有待识别传感器标签的冲突标识清零,并由初始状态进入就绪状态。
进一步地,所述步骤(2)中,阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号是指,传感器标签每次发送一位m进制ID号时,只发送尚未发送过的最高一位m进制ID号。其中传感器标签发送一位m进制ID号,包括以下步骤:
a.阅读器发“一位m进制ID号查询指令”,阅读器计数器以一定的周期从0开始计数。处于就绪状态的传感器标签收到指令进入发送尚未发送过的最高一位m进制ID号状态,传感器标签计数器也以相同的周期从0开始和阅读器同步计数。
b.阅读器在每个周期检测有无传感器标签应答,若收到应答信号,则记录下计时数值,即为应答传感器标签所发的该位m进制ID号。传感器标签和阅读器同步计数,当传感器标签计数器的值与它要发送的该位m进制ID号相等时,该传感器标签发送一位应答信号。
c.当阅读器和传感器标签的计数器满,即计完m个周期,传感器标签退回就绪状态,监听阅读器指令,一位m进制ID号查询过程结束。
进一步地,所述步骤(3)中,对冲突的各值依次轮换进行查询,是采用将部分冲突传感器标签入栈出栈来实现的,具体步骤包括:
a.阅读器在一次一位m进制ID号查询过程中收到两个或以上的一位m进制ID号应答,则除了最小的应答值,其余的应答值连同该位的位序号一起,根据应答值由大到小的顺序依次入栈。
b.阅读器发“冲突标识加一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中最小的应答值。传感器标签接收到指令后核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态。
c.当阅读器完成一个或几个传感器标签的最后一位m进制ID号的查询后,判断堆栈是否为空,如果堆栈为空,则所有传感器标签查询结束,否则从堆栈中弹出一位m进制ID号和一个位序号。
d.如果该弹出的位序号与堆栈中下一个位序号相同,即表示该位m进制ID号仍有冲突,阅读器发送“含冲突减一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中从堆栈中弹出的一位m进制ID号。处于冲突状态的传感器标签接收到该指令后核对自身是否冲突标识为1且最后发送的一位ID号与指令中的一位m进制ID号相同,如果是则冲突标识减1,否则不动作。处于就绪状态的传感器标签接收到该指令后进入休眠状态。
e.如果步骤c中弹出的一位序号与堆栈中下一个位序号不同,即表示该位m进制ID号已无冲突,阅读器发送“无冲突减一指令”。处于冲突状态的传感器标签接收到该指令后冲突标识减1,处于就绪状态的传感器标签接收到该指令后进入休眠状态。
进一步地,所述步骤(4)中,传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变中,传感器标签的状态包括:初始状态、就绪状态、发送一位m进制ID号状态、冲突状态和休眠状态,状态的切换及参数的改变具体包括:
a.处于初始状态和休眠状态的传感器标签收到初始化指令后,将冲突标识清0,并进入就绪状态。
b.处于就绪状态的传感器标签接收到“一位m进制ID号查询指令”后进入发送一位m进制ID号状态,并在m个计数结束后自动回到就绪状态。
c.处于就绪状态的传感器标签接收到“冲突标识加一指令”后,核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态。
d.处于冲突状态的传感器标签接收到“无冲突减一指令”或接收到“含冲突减一指令”并且自身冲突标识为1且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,则冲突标识减1。若冲突标识减为0,则进入就绪状态。
e.处于就绪状态的传感器标签接收到“无冲突减一指令”或“含冲突减一指令”后进入休眠状态。
本发明的有益效果是:
1、减少查询次数,由于采用了多进制的编码方式,并且通过传感器标签的冲突标识对传感器标签的发送时机进行控制,实现了高效的多叉树遍历查询,减少了查询及传感器标签回复的次数。
2、降低误码率,传感器标签的ID号采用多进制的方式发送,较二进制即二叉树及其改进算法相比,传感器标签不用发送大量的二进制ID码,而是将数据在发送的时间上体现,可以降低数据的误码率。
3、可同时工作的传感器标签数多,该方法理论上可以同时查询所有不同ID号的传感器标签,即最多m·k个传感器标签。
4、逻辑简单,容易实现,该方法的传感器标签的状态少,识别过程的逻辑简单,传感器标签使用资源较少,容易实现。
5、降低传感器标签功耗,本发明将主要的数据处理及控制任务交于阅读器,减少了传感器标签的处理及数据发送量,传感器标签的算法复杂度很低,降低了传感器标签功耗。
附图说明
图1是本发明阅读器和传感器标签的无线供电和通信的示意图;
图2是本发明中阅读器的结构示意图;
图3是本发明中传感器标签的结构示意图;
图4是本发明在阅读器上的执行框图;
图5是本发明中对一个多进制位查询的阅读器执行框图;
图6是本发明中传感器标签的状态转换图;
图7是本发明的一个具体实例的m叉树示意图;
图8是本发明的一个具体实例中阅读器和传感器标签的参数变化示意图。
具体实施方式
本发明提供的一种基于多叉树的无线无源传感系统防冲突方法,具体应用于单个阅读器和多个传感器标签组成的无线无源传感系统中,如图1所示。系统工作时由阅读器发送能量和信号,传感器标签通过标签线圈与阅读器线圈耦合,以电磁感应的方式获得能量和信号,并根据接收的信号以副载波调制的方式做出应答或将传感信息发送给阅读器。
阅读器的硬件结构组成包括直流输入、逆变电路、逆变控制芯片、阅读器线圈、选频放大电路、解调电路、控制器以及通信接口,结构示意图如图2所示。其中逆变电路可采用半桥式逆变电路,工作频率可为1.0MHz,逆变控制芯片可选用专用于半桥式逆变电路的UC3825芯片,阅读器发射信号的调制在逆变控制芯片上完成,可采用20%的ASK调制。阅读器线圈可选用LC并联谐振电路,谐振频率为逆变电路的工作频率。选频放大电路和解调电路用于解调传感器标签发出的副载波调制信号,选频放大电路的选择频率为副载波频率,如0.875MHz。通信接口可选用RS232串行通信接口,用于和上位机通信。控制器可选用AVR系列的ATMAGE48单片机,阅读器与传感器标签之间通信的编码和解码工作也由控制器完成,可采用2Kbit/s的曼彻斯特编码。控制器还包括一个q位的计数器和一个最大深度为(m-1)·(k-1)的堆栈,其中k为传感器标签m进制ID号的位数,q为大于或等于log2m的最小整数。
传感器标签的硬件结构组成包括标签线圈、稳压电源、解调电路、分频器、副载波调制电路、控制器、传感器、n位ID号ROM,它们的结构示意图如图3所示。其中标签线圈可选用LC并联谐振电路,用于磁场能量的接受和信号的收发。稳压电源包括整流、滤波和稳压电路,用于给传感器标签电路供电。解调电路用于解调阅读器发出的20%的ASK调制信号。分频器和副载波调制电路则用于将控制器要发送的信号进行副载波调制,分频器可选用8分频,如阅读器发射的信号为1.0MHz,则副载波调制信号的频率为0.875MHz和1.125MHz。传感器可选用DALLAS公司的单线总线数字式传感器,如DS18B20温度传感器。ID号ROM用于保存传感器标签唯一的n位二进制ID号。控制器可选用AVR系列的ATTINY24单片机,同时兼负责传感器标签与阅读器通信的编码和解码。此外,控制器还包含一个可读写的p位的冲突标识数和一个q位的计数器,p为大于或等于log2k的最小整数。
本发明提供了一种基于多叉树的无线无源传感系统防冲突方法,该方法包括以下步骤:
1、阅读器发送初始化命令,将传感器标签激活并初始化。
将传感器标签激活并初始化是将所有待识别传感器标签的冲突标识清零,并由初始状态进入就绪状态。
2、传感器标签的ID号以m进制的形式表示为k位,阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号。
阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号是指,传感器标签每次发送一位m进制ID号时,只发送尚未发送过的最高一位m进制ID号。其中传感器标签发送一位m进制ID号,包括以下步骤:
a.阅读器发“一位m进制ID号查询指令”,阅读器计数器以一定的周期从0开始计数。处于就绪状态的传感器标签收到指令进入发送尚未发送过的最高一位m进制ID号状态,传感器标签计数器也以相同的周期从0开始和阅读器同步计数。
b.阅读器在每个周期检测有无传感器标签应答,若收到应答信号,则记录下计时数值,即为应答传感器标签所发的该位m进制ID号。传感器标签和阅读器同步计数,当传感器标签计数器的值与它要发送的该位m进制ID号相等时,该传感器标签发送一位应答信号。
c.当阅读器和传感器标签的计数器满,即计完m个周期,传感器标签退回就绪状态,监听阅读器指令,一位m进制ID号查询过程结束。
3、如果阅读器检测到传感器标签的某一位m进制ID号有冲突,则对冲突的各值依次轮换进行查询。
对冲突的各值依次轮换进行查询,是采用将部分冲突传感器标签入栈出栈来实现的,具体步骤包括:
a.阅读器在一次一位m进制ID号查询过程中收到两个或以上的一位m进制ID号应答,则除了最小的应答值,其余的应答值连同该位的位序号一起,根据应答值由大到小的顺序依次入栈。
b.阅读器发“冲突标识加一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中最小的应答值。传感器标签接收到指令后核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态。
c.当阅读器完成一个或几个传感器标签的最后一位m进制ID号的查询后,判断堆栈是否为空,如果堆栈为空,则所有传感器标签查询结束,否则从堆栈中弹出一位m进制ID号和一个位序号。
d.如果该弹出的位序号与堆栈中下一个位序号相同,即表示该位m进制ID号仍有冲突,阅读器发送“含冲突减一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中从堆栈中弹出的一位m进制ID号。处于冲突状态的传感器标签接收到该指令后核对自身是否冲突标识为1且最后发送的一位ID号与指令中的一位m进制ID号相同,如果是则冲突标识减1,否则不动作。处于就绪状态的传感器标签接收到该指令后进入休眠状态。
e.如果步骤c中弹出的一位序号与堆栈中下一个位序号不同,即表示该位m进制ID号已无冲突,阅读器发送“无冲突减一指令”。处于冲突状态的传感器标签接收到该指令后冲突标识减1,处于就绪状态的传感器标签接收到该指令后进入休眠状态。
4、传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变。
传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变中,传感器标签的状态包括:初始状态、就绪状态、发送一位m进制ID号状态、冲突状态和休眠状态,状态的切换及参数的改变具体包括:
a.处于初始状态和休眠状态的传感器标签收到初始化指令后,将冲突标识清0,并进入就绪状态。
b.处于就绪状态的传感器标签接收到“一位m进制ID号查询指令”后进入发送一位m进制ID号状态,并在m个计数结束后自动回到就绪状态。
c.处于就绪状态的传感器标签接收到“冲突标识加一指令”后,核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态。
d.处于冲突状态的传感器标签接收到“无冲突减一指令”或接收到“含冲突减一指令”并且自身冲突标识为1且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,则冲突标识减1。若冲突标识减为0,则进入就绪状态。
e.处于就绪状态的传感器标签接收到“无冲突减一指令”或“含冲突减一指令”后进入休眠状态。
具体来说,本发明提供的一种基于多叉树的无线无源传感系统防冲突方法,其中的多叉树是采用ID号多进制编码的方式实现,这里以m进制,即m叉树进行说明。下面对本发明的具体实施的步骤进行阐述,如附图4所示,本发明在阅读器上的执行步骤及相应的传感器标签动作情况如下:
1.阅读器发送初始化命令,将传感器标签激活并清零冲突标识,所有传感器标签进入就绪状态。
2.阅读器进行一位m进制ID号查询,处于就绪状态的传感器标签发送各自的一位m进制ID号。
该步骤具体如附图2所示,包括以下步骤:
a.阅读器发“一位m进制ID号查询指令”,阅读器计数器以一定的周期从0开始计数。处于就绪状态的传感器标签收到指令进入发送尚未发送过的最高一位m进制ID号状态,传感器标签计数器也以相同的周期从0开始和阅读器同步计数。
b.阅读器在每个周期检测有无传感器标签应答,若收到应答信号,则记录下计时数值,即为应答传感器标签所发的该位m进制ID号。传感器标签和阅读器同步计数,当传感器标签计数器的值与它要发送的该位m进制ID号相等时,该传感器标签发送一位应答信号。
c.当阅读器和传感器标签的计数器满,即计完m个周期,传感器标签退回就绪状态,监听阅读器指令,一位m进制ID号查询过程结束。
3.阅读器接收到一个或多个一位m进制ID号应答,判断该位是否是传感器标签的最后一位m进制ID号,若是,则转入步骤7。
4.阅读器判断是否接收到多个一位m进制ID号应答,即应答的传感器标签有无冲突,若无冲突,即只有一个应答,则转入步骤2。
5.若阅读器在收到多个一位m进制ID号应答,则除了最小的应答值,其余的应答值连同该位的位序号一起,根据应答值由大到小的顺序依次入栈。
6.阅读器发“冲突标识加一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中最小的一位m进制ID号应答值。传感器标签接收到指令后核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态。然后转入步骤2。
7.阅读器判断堆栈是否为空,若为空,则表示所有传感器标签均已查询,结束本次查询。
8.若阅读器判断堆栈不为空,则从堆栈中弹出一位m进制ID号和一个位序号。
9.阅读器判断该弹出的位序号与堆栈中下一个位序号是否相同,即该m进制位是否还有冲突,如果不相同或者堆栈中下一个位序号为空,即该位已无冲突,转入步骤11。
10.该m进制位仍有冲突,阅读器发“含冲突减一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中从堆栈中弹出的一位m进制ID号。处于冲突状态的传感器标签接收到该指令后核对自身是否冲突标识为1且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则冲突标识减1,否则不动作。处于就绪状态的传感器标签接收到该指令后进入休眠状态。然后转入步骤2。
11.阅读器发“无冲突减一指令”,处于冲突状态的传感器标签接收到该指令后冲突标识减1,处于就绪状态的传感器标签接收到该指令后进入休眠状态。然后转入步骤2。
实施例
为了更清晰地描述本方法的操作流程,下面结合实例及附图4对本发明进行具体阐述。
假设有6个传感器标签,它们的二进制ID号为12位,现采用16叉树即16进制的方式进行查询。6个传感器标签的二进制ID号和16进制ID号分别如下:
一号传感器标签:001001100011(二进制),263(16进制);
二号传感器标签:001001001010(二进制),24A(16进制);
三号传感器标签:101100101001(二进制),B29(16进制);
四号传感器标签:110111000001(二进制),DC1(16进制);
五号传感器标签:001001000111(二进制),247(16进制);
六号传感器标签:110111001000(二进制),DC8(16进制)。
本方法在该例中的执行步骤如下:
1、阅读器发送初始化命令,所有传感器标签清零冲突标识,进入就绪状态。
2、阅读器发送“一位m进制ID号查询指令”,所有传感器标签均处于就绪状态,则都进入发送一位m进制ID号状态,并发送16进制ID号的第1位(最高位)。具体发送方式为:阅读器和传感器标签以相同的周期从0开始计数,当传感器标签计数器的值与它要发送的该位16进制ID号相等时,该传感器标签发送一位应答信号,即一号、二号、五号传感器标签在计数器的等于2时送一位应答信号,三号传感器标签在计数器的等于B时送一位应答信号,四号、六号传感器标签在计数器的等于D时送一位应答信号。,传感器标签退回到就绪状态。
3、阅读器完成一位16进制ID号查询,即计完16个计数周期后得到3个应答值,分别为2、B、D,即有冲突,阅读器由大到小将应答值D、位序号1以及应答值B、位序号1依次入栈。
4、阅读器发“冲突标识加一指令”,格式为“指令+一位16进制ID号2”,传感器标签接收到指令后核对自身是否冲突标识为0且最后发送的一位16进制ID号为2,当前所有传感器标签冲突标识均为0,其中一号、二号、五号传感器标签最后发送的一位16进制ID号为2,则其不动作;三号、四号、六号传感器标签冲突标识加1,即均变为1,并进入冲突状态。
5、阅读器发送“一位m进制ID号查询指令”,一号、二号、五号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第2位。其余传感器标签不动作。
6、阅读器完成一位16进制ID号查询后得到2个应答值,分别为4、6,即有冲突,阅读器将应答值6、位序号2入栈。
7、阅读器发“冲突标识加一指令”,格式为“指令+一位16进制ID号4”,传感器标签接收到指令后核对自身是否冲突标识为0且最后发送的一位16进制ID号为4,当前一号、二号、五号传感器标签冲突标识均为0,其中二号、五号传感器标签最后发送的一位16进制ID号为4,则其不动作;其余的传感器标签冲突标识加1,并处于冲突状态,即一号传感器标签的冲突标识变为1,三号、四号、六号传感器标签的冲突标识变为2。
8、阅读器发送“一位m进制ID号查询指令”,二号、五号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第3位。其余传感器标签不动作。
9、阅读器完成一位16进制ID号查询后得到2个应答值,分别为7、A,并判断出该位为传感器标签16进制ID号的最后一位,即已查询得到两个完整的传感器标签16进制ID号247和24A。
10、阅读器从堆栈中弹出一位16进制ID号6和一个位序号2,由于弹出的位序号2与堆栈中下一个位序号1不相同,则说明该16进制位已无冲突。
11、阅读器发送“无冲突减一指令”,处于就绪状态的二号、五号传感器标签接收到该指令后进入休眠状态。处于冲突状态的一号、三号、四号、六号传感器标签接收到该指令后冲突标识减1。其中一号传感器标签的冲突标识变为0,进入就绪状态;三号、四号、六号传感器标签的冲突标识变为1,仍为冲突状态。
12、阅读器发送“一位m进制ID号查询指令”,一号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第3位。其余传感器标签不动作。
13、阅读器完成一位16进制ID号查询后得到1个应答值3,并判断出该位为传感器标签16进制ID号的最后一位,即又查询得到一个完整的传感器标签16进制ID号263。
14、阅读器从堆栈中弹出一位16进制ID号B和一个位序号1,由于弹出的位序号1与堆栈中下一个位序号1相同,则说明该16进制位仍有冲突。
15、阅读器发“含冲突减一指令”,格式为“指令+一位16进制ID号B”,处于就绪状态的一号传感器标签接收到该指令后进入休眠状态。处于冲突状态的三号、四号、六号传感器标签中三号传感器标签满足冲突标识为1且最后发送的一位1 6进制ID号为B,则其冲突标识减1变为0,进入就绪状态。其余传感器标签不动作。
16、阅读器发送“一位m进制ID号查询指令”,三号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第2位。
17、阅读器完成一位16进制ID号查询后得到1个应答值2。
18、阅读器发送“一位m进制ID号查询指令”,三号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第3位。
19、阅读器完成一位16进制ID号查询后得到1个应答值9,并判断出该位为传感器标签16进制ID号的最后一位,即又查询得到一个完整的传感器标签16进制ID号B29。
20、阅读器从堆栈中弹出一位16进制ID号D和一个位序号1,由于堆栈中下一个位序号为空,则说明该16进制位已无冲突。
21、阅读器发送“无冲突减一指令”,处于就绪状态的三号传感器标签接收到该指令后进入休眠状态。处于冲突状态的四号、六号传感器标签接收到该指令后冲突标识减1变为0,进入就绪状态。
22、阅读器发送“一位m进制ID号查询指令”,四号、六号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第2位。
23、阅读器完成一位16进制ID号查询后得到1个应答值C。
24、阅读器发送“一位m进制ID号查询指令”,四号、六号传感器标签处于就绪状态,则进入发送一位m进制ID号状态,并发送16进制ID号的第3位。
25、阅读器完成一位16进制ID号查询后得到2个应答值,分别为1、8,并判断出该位为传感器标签16进制ID号的最后一位,即又查询得到两个完整的传感器标签16进制ID号DC1和DC8。
26、阅读器检查堆栈为空,本次查询结束,获得6个传感器标签的ID号。
Claims (1)
1.一种基于多叉树的无线无源传感系统防冲突方法,无线无源传感系统主要由单个阅读器和多个传感器标签组成,阅读器和传感器标签均包括控制器,传感器标签包含一个n位的二进制ID号,将该二进制ID号表示为一个k位的m进制ID号,传感器标签的控制器中包含一个可读写的p位的冲突标识数和一个q位的计数器,p为大于或等于log2k的最小整数,k为传感器标签m进制ID号的位数,q为大于或等于log2m的最小整数;阅读器的控制器中包含一个q位的计数器和一个最大深度为(m-1)·(k-1)的堆栈;其特征在于,该方法包括以下步骤:
(1)阅读器发送初始化命令,将传感器标签激活并初始化;
(2)传感器标签的ID号以m进制的形式表示为k位,阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号;
(3)如果阅读器检测到传感器标签的某一位m进制ID号有冲突,则对冲突的各值依次轮换进行查询;
(4)传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变;
其中,所述步骤(1)中,将传感器标签激活并初始化是将所有待识别传感器标签的冲突标识清零,并由初始状态进入就绪状态;
所述步骤(2)中,阅读器由高位到低位依次查询待识别传感器标签的每一位m进制ID号是指,传感器标签每次发送一位m进制ID号时,只发送尚未发送过的最高一位m进制ID号;其中传感器标签发送一位m进制ID号,包括以下步骤:
(a)阅读器发“一位m进制ID号查询指令”,阅读器计数器以一定的周期从0开始计数;处于就绪状态的传感器标签收到指令进入发送尚未发送过的最高一位m进制ID号状态,传感器标签计数器也以相同的周期从0开始和阅读器同步计数;
(b)阅读器在每个周期检测有无传感器标签应答,若收到应答信号,则记录下计时数值,即为应答传感器标签所发的该位m进制ID号;传感器标签和阅读器同步计数,当传感器标签计数器的值与它要发送的该位m进制ID号相等时,该传感器标签发送一位应答信号;
(c)当阅读器和传感器标签的计数器满,即计完m个周期,传感器标签退回就绪状态,监听阅读器指令,一位m进制ID号查询过程结束;
所述步骤(3)中,对冲突的各值依次轮换进行查询,是采用将部分冲突传感器标签入栈出栈来实现的,具体步骤包括:
(a)阅读器在一次一位m进制ID号查询过程中收到两个或两个以上的一位m进制ID号应答,则除了最小的应答值,其余的应答值连同该位的位序号一起,根据应答值由大到小的顺序依次入栈;
(b)阅读器发“冲突标识加一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中最小的应答值;传感器标签接收到指令后核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态;
(c)当阅读器完成一个或几个传感器标签的最后一位m进制ID号的查询后,判断堆栈是否为空,如果堆栈为空,则所有传感器标签查询结束,否则从堆栈中弹出一位m进制ID号和一个位序号;
(d)如果该弹出的位序号与堆栈中下一个位序号相同,即表示该位m进制ID号仍有冲突,阅读器发送“含冲突减一指令”,格式为“指令+一位m进制ID号”,其中的一位m进制ID号为前一步中从堆栈中弹出的一位m进制ID号;处于冲突状态的传感器标签接收到该指令后核对自身是否冲突标识为1且最后发送的一位ID号与指令中的一位m进制ID号相同,如果是则冲突标识减1,否则不动作;处于就绪状态的传感器标签接收到该指令后进入休眠状态;
(e)如果步骤c中弹出的一位序号与堆栈中下一个位序号不同,即表示该位m进制ID号已无冲突,阅读器发送“无冲突减一指令”;处于冲突状态的传感器标签接收到该指令后冲突标识减1,处于就绪状态的传感器标签接收到该指令后进入休眠状态;
所述步骤(4)中,传感器标签根据自身的状态及参数来对阅读器的各个指令做出状态的切换及参数的改变中,传感器标签的状态包括:初始状态、就绪状态、发送一位m进制ID号状态、冲突状态和休眠状态,状态的切换及参数的改变,具体包括:
(a)处于初始状态和休眠状态的传感器标签收到初始化指令后,将冲突标识清0,并进入就绪状态;
(b)处于就绪状态的传感器标签接收到“一位m进制ID号查询指令”后进入发送一位m进制ID号状态,并在m个计数结束后自动回到就绪状态;
(c)处于就绪状态的传感器标签接收到“冲突标识加一指令”后,核对自身是否冲突标识为0且最后发送的一位m进制ID号与指令中的一位m进制ID号相同,如果是则不动作,否则冲突标识加1,进入冲突状态;
(d)处于冲突状态的传感器标签接收到“无冲突减一指令”或接收到“含冲突 减一指令”,自身冲突标识为1,最后发送的一位m进制ID号与指令中的一位m进制ID号相同,则冲突标识减1;若冲突标识减为0,则进入就绪状态;
(e)处于就绪状态的传感器标签接收到“无冲突减一指令”或“含冲突减一指令”后进入休眠状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910095463XA CN101464941B (zh) | 2009-01-15 | 2009-01-15 | 基于多叉树的无线无源传感系统防冲突方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910095463XA CN101464941B (zh) | 2009-01-15 | 2009-01-15 | 基于多叉树的无线无源传感系统防冲突方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101464941A CN101464941A (zh) | 2009-06-24 |
CN101464941B true CN101464941B (zh) | 2011-06-22 |
Family
ID=40805513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910095463XA Expired - Fee Related CN101464941B (zh) | 2009-01-15 | 2009-01-15 | 基于多叉树的无线无源传感系统防冲突方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101464941B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077417B (zh) * | 2013-01-31 | 2016-07-06 | 北京工业大学 | 面向海量数据的rfid标签读取方法 |
CN111405592B (zh) * | 2019-12-02 | 2023-10-24 | 宁波柯力传感科技股份有限公司 | 一种数字传感器快速组网的方法 |
-
2009
- 2009-01-15 CN CN200910095463XA patent/CN101464941B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101464941A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8981909B2 (en) | RFID group selection method | |
EP2377067B1 (en) | Inclusive or exclusive rfid tag interrogation and query round | |
CN102004895B (zh) | 基于碰撞预检的时隙扫描防碰撞方法 | |
CN103208019B (zh) | 适用于rfid系统的多叉树防碰撞算法 | |
CN101529438B (zh) | Rfid标签 | |
WO2004015613A2 (en) | Pulsed power method for increased read range for a radio frequency identification reader | |
WO2008140847A1 (en) | Method and system of placing a rfid tag in a continuous transmission mode | |
CN103473524A (zh) | Rfid多标签识别方法、阅读器和标签 | |
CN102024163A (zh) | 一种带有分组预览机制的防碰撞方法 | |
CN101093549B (zh) | 射频识别系统的读写器的数据读取及标签的数据发送方法 | |
CN101452517A (zh) | 无线无源射频传感系统的防冲突数据传输方法 | |
CN104331679B (zh) | 一种基于物理层网络编码的射频识别标签防冲突方法 | |
CN102622564A (zh) | 一种rfid多标签识别防碰撞方法 | |
WO2015043141A1 (en) | Improved rfid protocol | |
Liu et al. | An improved anti-collision algorithm in RFID system | |
CN101071471A (zh) | 一种多标签防碰撞方法 | |
CN101464941B (zh) | 基于多叉树的无线无源传感系统防冲突方法 | |
He et al. | A fast RFID tag identification algorithm based on counter and stack | |
CN101324916B (zh) | 用于rfid系统的标签识别防碰撞方法 | |
CN105654010B (zh) | 一种基于自适应搜索策略的rfid标签防碰撞方法 | |
EP2583215A1 (en) | Selectively addressing transponders | |
CN103218635A (zh) | 一种基于混合多叉树搜索的rfid防碰撞方法 | |
CN104411018A (zh) | 一种基于动态分组变时隙算法的数据传输方法 | |
Wang et al. | A novel anti-collision algorithm with dynamic tag number estimation for RFID systems | |
CN110852129B (zh) | 一种动态标签估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110622 Termination date: 20130115 |