CN101464940B - 多标签防碰撞方法 - Google Patents

多标签防碰撞方法 Download PDF

Info

Publication number
CN101464940B
CN101464940B CN2008101906287A CN200810190628A CN101464940B CN 101464940 B CN101464940 B CN 101464940B CN 2008101906287 A CN2008101906287 A CN 2008101906287A CN 200810190628 A CN200810190628 A CN 200810190628A CN 101464940 B CN101464940 B CN 101464940B
Authority
CN
China
Prior art keywords
label
write line
read write
jump
value
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.)
Active
Application number
CN2008101906287A
Other languages
English (en)
Other versions
CN101464940A (zh
Inventor
宁兆熙
白亮
崔乐
刘枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Fudan Microelectronics Group Co Ltd
Original Assignee
Shanghai Fudan Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Fudan Microelectronics Co Ltd filed Critical Shanghai Fudan Microelectronics Co Ltd
Priority to CN2008101906287A priority Critical patent/CN101464940B/zh
Publication of CN101464940A publication Critical patent/CN101464940A/zh
Application granted granted Critical
Publication of CN101464940B publication Critical patent/CN101464940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Near-Field Transmission Systems (AREA)

Abstract

本发明提供一种多标签防碰撞方法,该方法包括:清零;读写器发送标签查询命令;应答器对接到的查询命令进行判断;读写器接收签标签查询应答,并判断;读写器对应答器进行数据处理;pd值设置为1,Q值设置为Q;读写器发送查询变更命令应答器回发;读写器接收签标签查询应答,并判断;读写器对应答器进行数据处理,该方法能以快速排除的方式循环,对发生冲突的标签有很高实际识别效率,可以快速减少读写器工作范围内的应答器数量,一方面通过快速减少应答器数量提高识别效率,令一方面可以降低读写器工作范围内电磁环境的干扰以进一步提高识别质量。

Description

多标签防碰撞方法
技术领域
本发明涉及通信技术领域中射频(RFID)多标签识别技术,具体涉及一种高频/超高频射频(RFID)识别系统中的多标签防碰撞方法。
背景技术
目前高频/超高频射频识别技术主要在集中应用于两个频段附近:13.56MHz和900MHz,还有一小部分在2.45GHz频段,但相对较少。13.56MHz频段射频识别产品主要应用在近距离识别领域,可以支持较强的加密、解密能力,但典型使用距离一般在10cm之内,即使是远距离的13.56MHz标签识别距离最多不超过1.5m;而900MHz频段射频识别产品最远识别距离可以达到10m以上,但难以加入加密、解密方法。
从13.56MHz频段常用的ISO/IEC 14443协议、ISO/IEC 15693协议到900MHz频段常用的ISO/IEC 18000-B/C协议,其防碰撞协议在现有技术中一般都基于两种基本方法:时隙ALOHA方法和二进制树的搜索方法。
时隙ALOHA方法:应答器只在规定的同步间隙中才传输数据包。这种情况下,对所有应答器所必须的同步由读写器控制。本质上时隙ALOHA方法是一种由读写器控制的随机时分多址(TDMA)方法。它将信道分为很多时隙,每个时隙正好传送一个分组。对于射频系统,标签只在规定的同步时隙内才能传输数据包,对所有的标签所必须的同步由读写器控制,但发生碰撞后,各标签仍是经过随机时延后分散重发的。
二进制树的搜索方法:如果数据包在传输过程中发生碰撞,这种协议允许读写器使用二进制搜索树的运方法则和一个比特的数据来解决冲突。因为每个标签本身都有一个地址(ID),所以读写器可以指定一个特定范围内的地址来读取标签,而这些标签必须对读写器的询问做出应答,其他标签则保持缄默。这时如果有两个标签由于同时上传数据而发生碰撞,读写器可以精确的检测出地址发生碰撞的比特位并找出对应的标签。依靠二进制搜索树运算理论,读写器可以读出所有的标签。
时隙ALOHA方法较为实用,由于时隙ALOHA方法不关注实际冲突的位数,而只关注是否发生冲突,因此实现较为方便。但在实际系统中,其方法效率相对不高。如果应答器数目过多而时隙数量不够,那么发生数据冲突的概率也就过大,需要的时间也过长。这样,如果多个应答器在读写器工作范围内停留时间太短,识别率就会相应变低。
而基本的二进制搜索方法由于抗干扰能力差,数据容易误读而造成效率低。难以实现。而时隙ALOHA方法局限性大,如果应答器数目过多,发生数据冲突的概率也就过大,需要时间也就过长。
发明内容
本发明提供的一种多标签防碰撞方法,该方法通过调整进程值,对应答器进行层层筛选,以快速排除的方式循环,对发生冲突的标签有很高的实际识别效率。一方面通过快速减少应答器数量提高识别效率,另一方面可以降低读写器工作范围内电磁环境的干扰以进一步提高识别质量。
为了达到上述目的,本发明提供一种多标签防碰撞方法,应用在高频/超高频射频识别系统中,该高频/超高频射频识别系统包含1或多个读写器,0个或者多个标签(或称为应答器);
本方法采用Q(时隙数标识数据)、Q0(时隙数标识数据初始值)、进程值pd(查询阶标识数据,或称之为进程值)、sc(应答器时隙选择值)来说明整个方法步骤,同时使用数组C(进程值pd)来记录各个进程的冲突数量以方便调整Q值的变化,(举例而言,流程开始时,C(1)初始为0,在进程值为1的情况下一共发生了10次冲突,那么C(1)最后的数据就为10)数组C(pd)包括C(0)、C(1)…C(15)共16个数据;
所述的读写器中设置有Q寄存器、pd寄存器和16个C(pd)寄存器用来记录方法过程中的Q、pd以及C(pd)数据,还设置有一个Reader_ID寄存器用于记录读写器地址标识;
所述的标签中设置有tag_Q寄存器、tag_pd寄存器和tag_sc寄存器用来记录方法过程中的Q、pd、sc等关键数据,还设置有一个读写器屏蔽寄存器tag_norsp_id用于记录标签需要屏蔽的读写器标识;
所述的多标签防碰撞方法包含以下步骤:
步骤1、读写器进行初始化清零;
将时隙数标识数据Q设置为0,将进程值pd设置为0,所有冲突值C设置为0;
步骤2、读写器发送查询命令至标签;
查询命令由命令码、1个4位时隙数标识数据Q、1个4位进程值pd、1个4位读写器地址标识以及16位循环校验数据组成;
步骤3、标签对接到的查询命令进行判断,判断标签中读写器屏蔽寄存器tag_norsp_id中的数据与读写器发送的读写器地址标识是否一致,若一致,标签不做任何回应,跳转到步骤1,若否,标签回发标签查询应答给读写器;
标签查询应答由一个15位随机产生数据以及1位奇偶校验位组成,此时标签的内部寄存器数据为:进程值tag_pd=0,时隙数标识数据tag_Q=0,时隙选择值tag_sc=0;
步骤4、读写器接收标签查询应答;
步骤5、读写器对是否接收到有效的标签查询应答进行检测,若是,跳转到步骤6,若否,跳转到步骤14;
步骤6、读写器对标签查询应答进行单一性检测,判断是否接收到唯一的标签查询应答,若是,表示只有一个标签,跳转到步骤13-1,若否,表示有多个相对应的标签,跳转到步骤7;
步骤7、读写器将进程值pd设置为1,时隙数标识数据Q设置为初始值Q0,所有冲突值C设置为0;
首次识别时,简单将Q0设置为0或者1,使用时可根据具体识别环境进行设置,识别情况无法预测时,使用0较好;
在只有1个标签情况下,可以直接设置初始值Q0为0;
步骤8、读写器发送查询变更命令至标签,将标签分组,标签随机产生一个0至2Q-1之间的时隙选择值sc,并设置时隙选择值寄存器tag_sc=sc;
查询变更命令包括命令码、1个4位时隙数标识数据Q和1个4位进程值pd;设定查询变更命令中的时隙数标识数据Q=Q0,进程值pd=当前进程值pd;
步骤9、标签判断是否收到了读写器发送的查询回复命令,若是,跳转到步骤9.1,若否,跳转到步骤9.2;
步骤9.1、时隙选择值寄存器tag_sc=sc-1,判断寄存器tag_sc的当前值是否为0,若是,跳转到步骤9.1.1,若否,跳转到步骤9.1.2;
步骤9.1.1、标签发送标签查询应答至读写器,同时标签变更进程值寄存器tag_pd=当前进程值pd,跳转到步骤10;
步骤9.1.2、标签不发送标签查询应答至读写器,跳转到步骤10;
步骤9.2、标签不发送标签查询应答至读写器,跳转到步骤10;
步骤10、读写器接收标签发送的标签查询应答;
步骤11、读写器对是否收到有效的标签查询应答进行判断,若是,跳转到步骤12,若否,跳转到步骤11.1;
步骤11.1、判断读写器向标签连续发送的查询回复命令是否已经达到2Q-1个,若是,跳转到步骤11.1.2,若否,跳转到步骤11.1.1;
步骤11.1.1、读写器发送查询回复命令给标签,跳转到步骤9;
步骤11.1.2、变更读写器进程值pd=pd-1,判断是否pd=0,若是,跳转到步骤14,若否,跳转到步骤11.1.2.2;
步骤11.1.2.2、调整Q值,若采用查表方式调整,跳转到步骤11.1.2.2.1,若采用实时计算方式调整,跳转到步骤11.1.2.2.2;
步骤11.1.2.2.1、读写器通过查表后根据新的pd数据确定Q的数据,跳转到步骤8;
  Pd   0   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15
  Q   0   5   4   3   2   1   1   1   1   1   1   1   1   1   1   1
步骤11.1.2.2.2、判断冲突值C数据是否大于等于2Q-2,若是,跳转到步骤11.1.2.2.2.1,若否,跳转到步骤11.1.2.2.2.2;
步骤11.1.2.2.2.1、读写器进程值pd=pd-1,Q=Q+1,跳转到步骤8;
步骤11.1.2.2.2.2、保持Q不变,pd=pd-1,跳转到步骤8;
步骤12、读写器对标签查询应答进行单一性检测,判断是否接收到唯一的标签查询应答,若是,表示只有一个标签,跳转到步骤13-2,若否,表示有多个相对应的标签,跳转到步骤12.2;
步骤12.2、调整时隙数标识数据Q、进程值pd和冲突值C,若采用查表方式调整,跳转到步骤12.2.1,若采用实时计算方式调整,跳转到步骤12.2.2;
步骤12.2.1、读写器设置相应进程的冲突值C=C+1、进程值pd=pd+1、然后查表根据新的pd重置Q的数据,跳转到步骤8;
步骤12.2.2、判断读写器是否连续发送大于等于3次的查询变更命令,若是,跳转到步骤12.2.2.1,若否,跳转到步骤12.2.2.2;
步骤12.2.2.1、读写器设置相应进程的冲突值C=C+1、进程值pd=pd+1、Q=Q+1,跳转到步骤8;
步骤12.2.2.2、读写器设置相应进程的冲突值C=C+1、进程值pd=pd+1,判断Q值是否大于1,若是,跳转到步骤12.2.2.2.1,若否,跳转到步骤8;
步骤12.2.2.2.1、Q=Q-1,跳转到步骤8;
步骤13-1、读写器单独对标签进行数据处理和暂停查询处理;
步骤13-1.1、读写器对单个标签进行数据处理;
步骤13-1.2、数据处理完毕后,发送停止命令给标签,将读写器地址数据存储到标签中的读写器屏蔽寄存器tag_norsp_id,使标签进入静默状态,该标签不再被同一读写器识别;
步骤13-1.3、跳转到步骤14;
步骤13-2、读写器单独对标签进行数据处理和暂停查询处理;
步骤13-2.1、读写器对单个标签进行数据处理;
步骤13-2.2、数据处理完毕后,发送停止命令给标签,将读写器地址数据存储到标签中的读写器屏蔽寄存器tag_norsp_id,使标签进入静默状态,该标签不再被同一读写器识别;
步骤13-2.3、跳转到步骤11.1;
步骤14、读写器结束单个读写的流程;
步骤14.1、在下一次发送查询命令前,调整Q0数据;
若本次查询命令一共识别出n个标签,选择第一个大于等于
Figure GSB00000469492500051
的整数为新的Q0数据;
步骤14.2、若前面步骤是由步骤13-1.3跳转到步骤14,则认为标签已经识别完毕,结束;若前面步骤中是由步骤11.1.2跳转到步骤14,则认为标签还没有完全识别完毕,跳转到步骤1。(也可以理解为:若进入步骤14前的最后一个查询命令是pd=0的查询命令,则认为标签已经识别完毕,结束,若不是,则认为标签还没有完全查询完毕,跳转到步骤1;若在步骤11中使用的是pd为1的查询命令,在步骤11.1.2.2.2.2自减1后变成pd=0后进入步骤14,由于最后一个查询命令pd为1,则认为还有标签没有识别);
本发明的方法中的优点在于:
1.本发明由于采用了进程值pd的概念,随着进程值pd的增加,进一步筛选标签,进程值pd越大,产生回发的标签越少,这样可以快速减少读写器工作范围内的标签数量,一方面通过快速减少标签数量提高识别效率,另一方面可以降低读写器工作范围内电磁环境的干扰以进一步提高识别质量。该方法能以快速排除的方式循环,对发生冲突的标签有很高实际识别效率。
2.本发明由于设置了可调整的初始值Q0和可调整的时隙数标识Q,在标签数量在一定范围内的工业应用情况下,可以使用查表确定Q和pd对应关系。在一般应用情况下,可以不使用查表方式,通过运算过程中Q的实时调整以提高不同使用条件下的效率。本方法在实际工作中每次筛选1/2Q的标签进行回发。
3.初始值Q0调整的原则是:1、上次查询标签过程总冲突量(即C(pd)之和)越大,初始值Q0越高。2、上次查询标签过程中,识别到的标签数量越高,则初始值Q0越高。3、查询过程中进程值pd越高,Q0值越低。
4.本发明由于利用标签查询应答采用较短字节以及缩短读写器发送命令的长度,以达到减小通讯过程数据量的效果,因此可以缩短整个识别过程需要的时间,进一步提高识别效率。如本发明中的标签对读写器查询命令的查询应答只有16位数据。
5.读写器在识别过程中使用了读写器地址的概念,在有多个读写器存在的情况下,可以将不同读写器进行分组,同一组别的读写器可以采用同一个读写器地址,这样只要有一个读写器识别到了某个标签,就可以通过使用停止(halt)命令的方式使这个标签不再进入本组其他有相同读写器地址的读写器的识别过程。这种方式适合工业化的生产环境,特别是流水线上的识别处理。使用这种方法,可以使用多个读写器对标签进行同样的操作而不会造成重复操作。
本发明的方法可适用于13.56MHz频段、900MHz频段、同时适合近距离、远距离识别的要求,本发明适用广泛,便于在现有设备基础上进行实现。
附图说明
图1是本发明的多标签防碰撞方法的应用中,读写器与标签的结构示意图;
图2是使用本发明的多标签防碰撞方法的标签电路框图;
图3是本发明的多标签防碰撞方法的流程示意图;
图4是使用本发明多标签防碰撞方法的pd值与Q值关系表。
具体实施方式
以下根据图1~图4具体说明本发明的一种较佳实施方式:
本发明提供一种多标签防碰撞方法,应用在高频/超高频射频识别系统中,如图1所示,本实施例中的高频/超高频射频识别系统包含一个读写器1和500个标签2;
如图2所示,是本方法涉及到的标签电路框图,该标签电路框图包括相互电路连接的模拟电路模块2、数字电路模块3以及标签存储器电路模块4,还包含线路连接模拟电路模块2的天线1;
模拟电路模块2与数字电路模块3之间进行双向数据传输,数字电路模块3与标签存储器电路模块4之间进行双向数据传输,模拟电路模块2与标签存储器电路模块4之间进行单向数据传输;
本发明的方法将标签2根据2的Q次方进行分组,通过查询命令或者查询变更命令选中标签2的一组,如果组内有多个标签2,就对这一组标签2再进行2的Q次方的分组,这样依次分组下去,直到找到组内只有1个标签2的情况,然后进行识别;
如图3所示,具体说明应用本发明的多标签防碰撞方法中,利用一个读写器1来识别500个标签2的流程步骤:
流程(一)
步骤1、将时隙数标识数据Q设置为0,将进程值pd设置为0;
步骤2、发送查询命令,500个标签同时回发(本次须识别的标签个数也为500个,根据Q0设置值为第一个大于等于
Figure GSB00000469492500081
的整数进行计算),取Q0=5,读写器根据上位机预置数据发送查询命令(Q=Q0=5,进程值pd=0),
步骤3、标签接到读写器在步骤2中发送的查询命令后,判断地址标识不一致,立即发送标签查询应答到读写器;
步骤4、读写器接收标签发出的标签查询应答;
步骤5、读写器接收了由标签发出标签查询应答,故跳转到步骤6;
步骤6、读写器接收了500个由标签发出的标签查询应答,故跳转到步骤7;
步骤7、读写器设置进程值pd=0,Q=Q0=5;
步骤8、读写器发送查询变更命令(Q=5,进程值pd=0),相当于将本次的500个标签分在32个组别中进行回发,每组16个标签,随机产生的时隙选择值sc=2,寄存器tag_sc=2,寄存器tag_pd=当前进程值pd=0;
步骤9、标签未收到读写器发送的查询回复命令,故而不发送标签查询应答至读写器;
步骤10、读写器接收标签发送的标签查询应答;
步骤11、读写器没有收到标签查询应答,跳转到步骤11.1;
步骤11.1、读写器对标签查询应答进行检测,连续发送查询回复命令小于2Q-1个,跳转到步骤11.1.1;
步骤11.1.1、读写器继续向标签发送查询回复命令,跳转到步骤9;
步骤9、标签接到读写器在步骤11.1.1中的查询变更命令,跳转到步骤9.1;
步骤9.1、时隙选择值寄存器tag_sc=时隙选择值sc-1=1,跳转到步骤9.1.2;
步骤9.1.2、标签不发送标签查询应答至读写器,跳转到步骤10;
步骤10、读写器接收标签发送的标签查询应答;
步骤11、读写器没有收到标签查询应答,跳转到步骤11.1;
步骤11.1、读写器对标签查询应答进行检测,连续发送查询回复命令小于2Q-1个,跳转到步骤11.1.1;
步骤11.1.1、读写器继续向标签发送查询回复命令,跳转到步骤9;
步骤9、标签接到读写器在步骤11.1.1中的查询变更命令,跳转到步骤9.1;
步骤9.1、时隙选择值寄存器tag_sc=时隙选择值sc-1=0,跳转到步骤9.1.1;
步骤9.1.1、程值寄存器tag_pd=当前进程值pd=0,标签发送标签查询应答,跳转到步骤10;
步骤11、读写器收到标签查询应答,跳转到步骤12;
步骤12、当标签查询应答是唯一一个时,表示只有一个标签,执行步骤13-2;
步骤13-2、读写器单独对标签进行数据处理和暂停查询处理;
步骤13-2.1、读写器对单个标签进行数据处理;
步骤13-2.2、数据处理完毕后,发送停止命令给标签,将读写器地址数据存储到标签中的读写器屏蔽寄存器tag_norsp_id,使标签进入静默状态,该标签不再被同一读写器识别;
步骤13-2.3、跳转到步骤11.1;
步骤11.1、读写器对标签查询应答进行检测,连续发送查询回复命令达到2Q-1个,跳转到步骤11.1.2;
步骤11.1.2、跳转到步骤14;
步骤14、读写器结束单个读写的流程;
步骤14.1、在下一次发送查询命令前,调整Q0数据;
若本次查询命令一共识别出n个标签,选择第一个大于等于
Figure GSB00000469492500091
的整数为新的Q0数据;
步骤14.2、跳转到步骤1;
流程(二)
重新开始,执行步骤1;
重复流程(一)步骤1-3,标签中的读写器屏蔽寄存器数据与查询命令参数读写器地址数据一致,标签不发送任何回发,跳转到步骤1;
流程(三)
重新开始,执行步骤1;
重复流程(一)步骤1-5,读写器没有接到有效标签查询应答,跳转到步骤14;
步骤14、读写器结束单个读写的流程,跳转到步骤1。
流程(四)
重新开始,执行步骤1;
重复流程(一)步骤1-5,读写器接到有效标签查询应答时,跳转到步骤6;
步骤6.1、当读写器接到有效的标签查询应答是唯一一个时,表示只有一个标签,跳转到步骤13-1;
步骤13-1、读写器单独对标签进行数据处理和暂停查询处理;处理后进入步骤14;
步骤14、读写器结束单个读写的流程,跳转到步骤1;
流程(五)
重新开始,执行步骤1;
重复流程(一)步骤1-12;
步骤12、当读写器接到的标签查询应答有多个时,跳转到步骤12.2;
步骤12.2、采用查表方式调整,跳转到步骤12.2.1;
步骤12.2.1、读写器将相应进程的冲突值C自加1=1,进程值pd值自加1=1后,通过查表根据新的pd重置Q=4的数据,跳转到步骤8;
步骤8、读写器发送查询变更命令(Q=4,进程值pd=1),相当于将本次的16个标签分在16个组别中进行回发,每组1个标签,随机产生的时隙选择值sc=15,寄存器tag_sc=15,寄存器tag_pd=当前进程值pd=1;
步骤9、当标签中的时隙选择值寄存器tag_sc自减1后等于4时,跳转到步骤9.1.2;
步骤9.1.2、标签不发送标签查询应答至读写器,跳转到步骤10;
步骤10、读写器接收标签发送的标签查询应答;
步骤11、读写器没有接收标签发送的标签查询应答,跳转到步骤11.1;
步骤11.1、读写器对标签查询应答进行检测,连续发送查询回复命令小于2Q-1=15个,跳转到步骤11.1.1;
步骤11.1.1、读写器继续向标签发送查询回复命令,跳转到步骤9;
步骤9、10、11循环15次后,读写器已向标签连续发送15个查询回复命令,跳转到步骤11.1.2;
步骤11.1.2、读写器进程值pd值自减1,pd不为0,跳转到步骤11.1.2.2;
步骤11.1.2.2、使用查表方式调整Q值,跳转到步骤11.1.2.2.1;
步骤11.1.2.2.1、读写器通过查表后根据新的pd数据确定Q的数据,跳转到步骤8;
重复上述步骤8-步骤11.1.2,读写器已连续发送了2Q-1个查询回复命令,跳转到步骤11.1.2;
步骤11.1.2、读写器进程值pd值自减1,进程值pd值为0,跳转到步骤14;
步骤14、读写器结束单个读写的流程,判断是否识别出了所有标签,是,结束。
当16个标签在步骤8中的查询变更后进行回发,读写器显然会检测到冲突,读写器发送查询变更命令(Q=4,进程值pd=1),相当于将本次的16个标签分在16个组别中进行回发;
假设查询变更命令(Q=4,进程值pd=1)中没有接到回发,而前3个查询回复命令中接到2个不冲突的回发,则可以直接确定2个标签,当第6个查询回复命令接到了3个冲突的回发,进程值pd+1=2,Q-1=3,执行步骤8;
则读写器发送查询变更命令(Q=3,进程值pd=2)。相当于将3个标签分在8个组别中进行回发。
假设在本次发完1个查询变更命令(Q=3,进程值pd=2)+7个查询回复命令后,识别到了所有的3个标签,相当于在步骤3的16个标签中已经识别出了5个,进程值pd-1=0,Q+1=4,随后读写器发送查询变更命令(Q=4,进程值pd=1),相当于将剩下的11个标签继续分成16个组别进行识别;
经过上述步骤循环往复后,可以将500个标签进行快速识别。
在整个过程中,可以使用查表方式,如图4所示,pd值与Q值关系表:
Pd=0,Q=0;
Pd=1,Q=5;
Pd=2,Q=4;
Pd=3,Q=3;
Pd=4,Q=2;
Pd=5,Q=1;
Pd=6,Q=1;
Pd=7,Q=1;
Pd=8,Q=1;
Pd=9,Q=1;
Pd=10,Q=1;
Pd=11,Q=1;
Pd=12,Q=1;
Pd=13,Q=1;
Pd=14,Q=1;
Pd=15,Q=1;
使用查表方式,运用上述pd和Q对应关系表格,可以在上述整个步骤中替代整个Q相对pd的计算过程。这样的好处是便于实现,节省了读写器计算的过程,适合固定规模标签识别的情况,特别是工业流水线识别情况;不利之处是灵活性欠缺,在标签数量不确定的情况下会造成效率的降低。应用在工业化的流水线上,可以根据实际效率关系建立进程值pd和Q值的对应表。
本发明普遍适合从13.56MHz到900MHz频段内射频识别系统,可以通过在现有读写器上进行软件修改已达到读写器上对本发明的实现,特别是本发明中使用的查询命令,查询变更命令以及查询重复命令在现有的ISO/IEC18000-6C协议体系中均可以通过扩充指令集的办法直接实现。而标签方面,可以在现有ISO/IEC 18000-6C协议芯片设计能力基础上,增加数字电路功能以达到900M频段内对本发明的实现;而在模拟电路中进行若干修改后,可达到13.56MHz频段内标签芯片对本发明的实现。本发明对标签芯片的设计要求不高,在现有技术的基础上易于实现本发明在标签电路上的实现。

Claims (12)

1.一种多标签防碰撞方法,应用在高频/超高频射频识别系统中,该高频/超高频射频识别系统包含1或多个读写器,0个或者多个标签,其特征在于,所述的多标签防碰撞方法包含以下步骤:
步骤1、读写器进行初始化清零;
将时隙数标识数据Q设置为0,将进程值pd设置为0,所有冲突值C设置为0;
步骤2、读写器发送查询命令至标签;
步骤3、标签对接到的查询命令进行判断,判断标签中读写器屏蔽寄存器tag_norsp_id中的数据与读写器发送的读写器地址标识是否一致,若一致,标签不做任何回应,跳转到步骤1,若否,标签回发标签查询应答给读写器;
步骤4、读写器接收标签查询应答;
步骤5、读写器对是否接收到有效的标签查询应答进行检测,若是,跳转到步骤6,若否,跳转到步骤14;
步骤6、读写器对标签查询应答进行单一性检测,判断是否接收到唯一的标签查询应答,若是,表示只有一个标签,跳转到步骤13-1,若否,表示有多个相对应的标签,跳转到步骤7;
步骤7、读写器将进程值pd设置为1,时隙数标识数据Q设置为初始值Q0,所有冲突值C设置为0;
步骤8、读写器发送查询变更命令至标签,将标签分组,标签随机产生一个0至2Q-1之间的时隙选择值sc,并设置时隙选择值寄存器tag_sc=sc;设定查询变更命令中的时隙数标识数据Q=Q0,进程值pd =当前进程值pd;
步骤9、标签判断是否收到了读写器发送的查询回复命令,若是,跳转到步骤9.1,若否,跳转到步骤9.2;
步骤9.1、时隙选择值寄存器tag_sc=sc-1,判断寄存器tag_sc的当前值是否为0,若是,跳转到步骤9.1.1,若否,跳转到步骤9.1.2;
步骤9.1.1、标签发送标签查询应答至读写器,同时标签变更进程值 寄存器tag_pd=当前进程值pd,跳转到步骤10;
步骤9.1.2、标签不发送标签查询应答至读写器,跳转到步骤10;
步骤9.2、标签不发送标签查询应答至读写器,跳转到步骤10;
步骤10、读写器接收标签发送的标签查询应答;
步骤11、读写器对是否收到有效的标签查询应答进行判断,若是,跳转到步骤12,若否,跳转到步骤11.1;
步骤11.1、判断读写器向标签连续发送的查询回复命令是否已经达到2Q-1个,若是,跳转到步骤11.1.2,若否,跳转到步骤11.1.1;
步骤11.1.1、读写器发送查询回复命令给标签,跳转到步骤9;
步骤11.1.2、变更读写器进程值pd=pd-1,判断是否pd=0,若是,跳转到步骤14,若否,跳转到步骤11.1.2.2;
步骤11.1.2.2、调整Q值,跳转到步骤8;
步骤12、读写器对标签查询应答进行单一性检测,判断是否接收到唯一的标签查询应答,若是,表示只有一个标签,跳转到步骤13-2,若否,表示有多个相对应的标签,跳转到步骤12.2;
步骤12.2、调整时隙数标识数据Q、进程值pd和冲突值C,跳转到步骤8;
步骤13-1、读写器对单一标签进行单独操作,进行数据处理和暂停查询处理,跳转到步骤14;
步骤13-2、读写器单独对标签进行数据处理和暂停查询处理,跳转到步骤11.1;
步骤14、读写器结束单个读写的流程。
2.如权利要求1所述的多标签防碰撞方法,其特征在于,所述的步骤11.1.2.2包含以下步骤:
若采用查表方式调整,跳转到步骤11.1.2.2.1,若采用实时计算方式调整,跳转到步骤11.1.2.2.2;
步骤11.1.2.2.1、读写器通过查表后根据新的pd数据确定Q的数据,跳转到步骤8;
步骤11.1.2.2.2、判断冲突值C数据是否大于等于2Q-2,若是,跳转到步骤11.1.2.2.2.1,若否,跳转到步骤11.1.2.2.2.2; 
步骤11.1.2.2.2.1、设置读写器进程值pd=pd-1,Q=Q+1,跳转到步骤8;
步骤11.1.2.2.2.2、保持Q值不变,设置pd=pd-1,跳转到步骤8。
3.如权利要求1所述的多标签防碰撞方法,其特征在于,所述的步骤12.2包含以下步骤:
若采用查表方式调整,跳转到步骤12.2.1,若采用实时计算方式调整,跳转到步骤12.2.2;
步骤12.2.1、读写器设置相应进程的冲突值C=C+1、进程值pd=pd+1、然后查表根据新的pd重置Q的数据,跳转到步骤8;
步骤12.2.2、判断读写器是否连续发送大于等于3次的查询变更命令,若是,跳转到步骤12.2.2.1,若否,跳转到步骤12.2.2.2;
步骤12.2.2.1、读写器设置相应进程的冲突值C=C+1、进程值pd=pd+1、Q=Q+1,跳转到步骤8;
步骤12.2.2.2、读写器设置相应进程的冲突值C=C+1、进程值pd=pd+1,判断Q值是否大于1,若是,跳转到步骤12.2.2.2.1,若否,跳转到步骤8;
步骤12.2.2.2.1、设置Q=Q-1,跳转到步骤8。
4.如权利要求1所述的多标签防碰撞方法,其特征在于,所述的步骤13-1包含以下步骤:
步骤13-1.1、读写器对单个标签进行数据处理;
步骤13-1.2、数据处理完毕后,发送停止命令给标签,将读写器地址数据存储到标签中的读写器屏蔽寄存器tag_norsp_id,使标签进入静默状态,该标签不再被同一读写器识别;
步骤13-1.3、跳转到步骤14。
5.如权利要求1所述的多标签防碰撞方法,其特征在于,所述的步骤13-2包含以下步骤:
步骤13-2.1、读写器对单个标签进行数据处理;
步骤13-2.2、数据处理完毕后,发送停止命令给标签,将读写器地址数据存储到标签中的读写器屏蔽寄存器tag_norsp_id,使标签进入静默状态,该标签不再被同一读写器识别; 
步骤13-2.3、跳转到步骤11.1。
6.如权利要求1所述的多标签防碰撞方法,其特征在于,所述的步骤14包含以下步骤:
步骤14.1、在下一次发送查询命令前,调整Q0数据;
若本次查询命令一共识别出n个标签,选择第一个大于等于 
Figure FSB00000205592200041
的整数为新的Q0数据;
步骤14.2、若前面步骤是由步骤13-1.3跳转到步骤14,则认为标签已经识别完毕,结束;若前面步骤中是由步骤11.1.2跳转到步骤14,则认为标签还没有完全识别完毕,跳转到步骤1。
7.如权利要求1~6中任意一个所述的多标签防碰撞方法,其特征在于,使用数组C(进程值pd)来记录各个进程的冲突数量以方便调整Q值的变化,数组C(pd)包括C(0)、C(1)…C(15)共16个数据;
所述的读写器中设置有Q寄存器、pd寄存器和16个C(pd)寄存器用来记录方法过程中的Q、pd以及C(pd)数据,还设置有一个Reader_ID寄存器用于记录读写器地址标识。
8.如权利要求1~6中任意一个所述的多标签防碰撞方法,其特征在于,所述的标签中设置有tag_Q寄存器、tag_pd寄存器和tag_sc寄存器用来记录方法过程中的Q、pd、sc关键数据,还设置有一个读写器屏蔽寄存器tag_norsp_id用于记录标签需要屏蔽的读写器标识。
9.如权利要求1~6中任意一个所述的多标签防碰撞方法,其特征在于,所述的查询命令由命令码、1个4位时隙数标识数据Q、1个4位进程值pd、1个4位读写器地址标识以及16位循环校验数据组成。
10.如权利要求1~6中任意一个所述的多标签防碰撞方法,其特征在于,所述的标签查询应答由一个15位随机产生数据以及1位奇偶校验位组成。
11.如权利要求1~6中任意一个所述的多标签防碰撞方法,其特征在于,所述的查询变更命令包括命令码、1个4位时隙数标识数据Q和1个4位进程值pd。
12.如权利要求1~6中任意一个所述的多标签防碰撞方法,其特征在于,按照查表方式来调整Q值,pd值与Q值关系表如下:
Pd=0,Q=0; 
Pd=1,Q=5;
Pd=2,Q=4;
Pd=3,Q=3;
Pd=4,Q=2;
Pd=5,Q=1;
Pd=6,Q=1;
Pd=7,Q=1;
Pd=8,Q=1;
Pd=9,Q=1;
Pd=10,Q=1;
Pd=11,Q=1;
Pd=12,Q=1;
Pd=13,Q=1;
Pd=14,Q=1;
Pd=15,Q=1。 
CN2008101906287A 2007-12-21 2008-12-19 多标签防碰撞方法 Active CN101464940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101906287A CN101464940B (zh) 2007-12-21 2008-12-19 多标签防碰撞方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710172679.2 2007-12-21
CNA2007101726792A CN101256617A (zh) 2007-12-21 2007-12-21 高频/超高频rfid识别系统中的多标签防碰撞算法
CN2008101906287A CN101464940B (zh) 2007-12-21 2008-12-19 多标签防碰撞方法

Publications (2)

Publication Number Publication Date
CN101464940A CN101464940A (zh) 2009-06-24
CN101464940B true CN101464940B (zh) 2011-07-20

Family

ID=39891431

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2007101726792A Pending CN101256617A (zh) 2007-12-21 2007-12-21 高频/超高频rfid识别系统中的多标签防碰撞算法
CN2008101906287A Active CN101464940B (zh) 2007-12-21 2008-12-19 多标签防碰撞方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2007101726792A Pending CN101256617A (zh) 2007-12-21 2007-12-21 高频/超高频rfid识别系统中的多标签防碰撞算法

Country Status (1)

Country Link
CN (2) CN101256617A (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2478167B (en) 2010-06-18 2012-02-01 Friendly Technologies Ltd Selectively addressing transponders
CN101944171B (zh) * 2010-07-08 2013-02-13 电子科技大学 一种rfid阅读器的多标签识别方法
CN102156845B (zh) * 2011-04-07 2014-03-26 工业和信息化部电子工业标准化研究所 用于电子标签接收数据的处理方法及装置
GB2494890B (en) 2011-09-21 2015-09-30 Friendly Technologies Ltd Inventorying transponders
CN103117770A (zh) * 2013-01-24 2013-05-22 重庆邮电大学 一种rfid系统中多标签防碰撞方法
CN103902941B (zh) * 2014-01-23 2016-11-02 电子科技大学 一种基于连续碰撞位映射的多标签防碰撞方法
CN104700130A (zh) * 2015-03-09 2015-06-10 烽火通信科技股份有限公司 一种超高频rfid读写器的防碰撞方法
CN105488446B (zh) * 2015-11-27 2018-07-24 深圳市利谱信息技术有限公司 一种密闭金属环境下rfid多标签识别系统和方法
CN106250794A (zh) * 2016-08-05 2016-12-21 华东师范大学 一种超高频射频识别系统中多标签防碰撞算法
CN110287748B (zh) * 2019-07-03 2024-01-23 北京智芯微电子科技有限公司 超高频rfid防碰撞方法
CN110969036B (zh) * 2019-11-25 2021-04-30 独角兽网络科技(苏州)有限公司 一种rfid标签数据输出的方法、装置、设备和存储介质
CN112686065B (zh) * 2020-12-24 2021-10-08 深圳市成为信息技术有限公司 数据读写方法、系统及计算机可读存储介质

Also Published As

Publication number Publication date
CN101464940A (zh) 2009-06-24
CN101256617A (zh) 2008-09-03

Similar Documents

Publication Publication Date Title
CN101464940B (zh) 多标签防碰撞方法
KR101048612B1 (ko) 알에프아이디 태그 충돌을 방지하기 위한 알에프아이디태그 인식 방법, 이를 이용한 알에프아이디 리더 및알에프아이디 태그
Prodanoff Optimal frame size analysis for framed slotted ALOHA based RFID networks
CN105224970B (zh) 一种rfid防碰撞方法
Deng et al. Optimal dynamic framed slotted ALOHA based anti-collision algorithm for RFID systems
US20070085661A1 (en) RFID tag, RFID reader/writer, RFID system, and processing method of RFID system
EP1717726A1 (en) Radio frequency identification reader, radio frequency identification tag, system and method for identifying RFID tags
US8525645B2 (en) Method of recognizing RFID tag for the purpose of preventing throughput inversion and RFID reader performing the same
CN101866413A (zh) 基于分组机制和跳跃动态二进制识别的多标签防碰撞方法
CN102609672A (zh) 一种射频识别系统的防碰撞方法
CN101901360A (zh) 一种网络化rfid读写器及其防冲突方法
Yoon et al. ISS-TCA: An identified slot scan-based tag collection algorithm for performance improvement in active RFID systems
CN101499119B (zh) 基于射频识别的标签识别方法、系统、及装置
CN101369305A (zh) 一种射频识别标签芯片防冲突功能的验证电路及其模型
CN101071471A (zh) 一种多标签防碰撞方法
CN110414286A (zh) 一种rfid标签防碰撞方法
CN104680104A (zh) 一种动态高效的rfid标签识别机制
CN102855455A (zh) 一种电子标签快速识别方法及系统
CN102768733A (zh) 适用于rfid系统的多标签防碰撞算法、rfid系统及读写器
CN103679096A (zh) 一种优化的rfid防碰撞方法
Zheng et al. Tree-based backoff protocol for fast RFID tag identification
Piramuthu Adaptive framework for collisions in RFID tag identification
KR102465523B1 (ko) 가시광 인식을 이용한 rfid의 크로스 리딩 회피 장치 및 방법
CN106127096B (zh) 一种射频识别的防碰撞方法、系统,以及阅读器和标签
Tsao et al. Runtime optimization of framed slotted ALOHA based RFID Systems

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
C56 Change in the name or address of the patentee

Owner name: SHANGHAI FUDAN MICROELECTRONICS GROUP COMPANY LIMI

Free format text: FORMER NAME: FUDAN MICROELECTRONICS CO., LTD., SHANGHAI

CP01 Change in the name or title of a patent holder

Address after: 200433, building 4, Fudan Science Park, No. 127 Guotai Road, Shanghai

Patentee after: Shanghai Fudan Microelectronic Group Co., Ltd.

Address before: 200433, building 4, Fudan Science Park, No. 127 Guotai Road, Shanghai

Patentee before: Fudan Microelectronics Co., Ltd., Shanghai