问RFID读卡器公司:读写器防冲突机制主要体现在那些方面?

点击次数:  更新时间:2016/10/9 16:42:34

RFID读写器常情况下一个时间点只能对磁场中的一张RFID卡进行读或写操作,但是实际应用中经常有当多张卡片同时进入读写器的射频场,读写器怎么处理呢?RFID读卡器公司指出需要使用标签防碰撞,标签防碰撞是指读写器需要选出特定的一张卡片进行读或写操作。

 

 

防碰撞机制是RFID技术中特有的问题。在接触式IC卡的操作中是不存在冲突的,因为接触式智能卡的读写器有一个专门的卡座,而且一个卡座只能插一张卡片,不存在读写器同时面对两张以上卡片的问题。常见的非接触式RFID卡中的防冲突机制主要有以下几种:

 

.面向比特的防冲突机制。

 

高频的ISO一四四四三A使用这种防冲突机制,其原理是基于卡片有一个全球唯一的序列号。比如Mifare卡,每张卡片有一个全球唯一的三二位二进制序列号。显而易见,卡号的每一位上不是”就是“”,而且由于是全世界唯一,所以任何两张卡片的序列号总有一位的值是不一样的,也就说总存在某一位,一张卡片上是“”,而另一张卡片上是“”。

 

当两张以上卡片同时进入射频场,读写器向射频场发出卡呼叫命令,问射频场中有没有卡片。这些卡片同时回答“有卡片”;然后读写器发送防冲突命令“把你们的卡号告诉我”,收到命令后所有卡片同时回送自己的卡号。

 

可能这些卡片卡号的前几位都是一样的。比如前四位都是一零一零,第五位上有一张卡片是”而其他卡片是“”,于是所有卡片在一起说自己的第五位卡号的时候,由于有卡片说“”,有卡片说“”,读写器听出来发生了冲突。

读写器检测到冲突后,对射频场中的卡片说,让卡号前四位是一零一零”,第五位是“”的卡片继续说自己的卡号,其他的卡片不要发言了。结果第五位是“”的卡片继续发言,可能第五位是“”的卡片不止一张,于是在这些卡片回送卡号的过程中又发生了冲突,读写器仍然用上面的办法让冲突位是“”的卡片继续发言,其他卡片禁止发言,最终经过多次的防冲突循环,当只剩下一张卡片的时候,就没有冲突了,最后胜出的卡片把自己完整的卡号回送给读写器,读写器发出卡选择命令,这张卡片就被选中了,而其他卡片只有等待下次卡呼叫时才能再次参与防冲突过程。

 

上述防冲突过程中,当冲突发生时,读写器总是选择冲突位为”的卡片胜出,当然也可以指定冲突位为“”的卡片胜出。

 

上述过程有点拟人化了,实际情况下读写器是怎么知道发生冲突了呢?在前面的数据编码中我们已经提到,卡片向读写器发送命令使用副载波调制的曼侧斯特(Manchester)码,副载波调制码元的右半部分表示数据“”,副载波调制码元的左半部分表示数据“”,当发生冲突时,由于同时有卡片回送“”和“”,导致整个码元都有副载波调制,读写器收到这样的码元,就知道发生冲突了。

 

这种方法可以保证任何情况下都能选出一张卡片,即使把全世界同类型的所有卡片都拿来防冲突,最多经过三二个防冲突循环就能选出一张卡片。缺点是由于卡序列号全世界唯一,而卡号的长度是固定的,所以某一类型的卡片的生产数量也是一定的,比如常见的Mifare卡,由于只有个字节的卡序列号,所以其生产数量最多为三二次方,即四二九四九六七二九六张。

 

.面向时隙的防冲突机制

 

使用这种防冲突机制。这里的时隙(timeslot)其实就是个序号。这个序号的取值范围由读写器指定,可能的范围有-----一六。当两张以上卡片同时进入射频场,读写器向射频场发出卡呼叫命令,命令中指定了时隙的范围,让卡片在这个指定的范围内随机选择一个数作为自己的临时识别号。然后读写器从开始叫号,如果叫到某个号恰好只有一张卡片选择了这个号,则这张卡片被选中胜出。如果叫到的号没有卡片应答或者有多于一张卡片应答,则继续向下叫号。如果取值范围内的所有号都叫了一遍还没有选出一张卡片,则重新让卡片随机选择临时识别号,直到叫出一张卡片为止。

 

这种办法不要求卡片有一个全球唯一序列号,所以卡片的生产数量没有限制,但是理论上存在一种可能,就是永远也选不出一张卡片来。