面向比特的防冲突机制。
高频芯片ISO14443A是基于卡片只有唯一序列号的原理下,使用的防冲突机制。比如M1卡,每张卡有且只有唯一的32 位二进制序列号。
RFID读写器是如何检测智能卡或者电子标签发生冲突?RFID卡片向读写器发送命令使用副载波调制的曼侧 斯特(Manchester)码,副载波调制码元的右半部分表示数据“0”,副载波调制码元的左半部分表示数据“1”,当发生冲突时,由于同时有卡片回送 “0”和“1”,导致整个码元都有副载波调制,读写器收到这样的码元,就知道发生冲突了。这样就可以保证在发生冲突的情况下都能选出一张智能卡或者电子标签,最多经过32个防冲突循环就能在全球同类型卡片中选出一张卡片。
面向时隙的防冲突机制
ISO14443B中使用这种防冲突机制。这里的时隙(timeslot)其实就是个序号。这个序号的取值范围由读写器指定,可能的范围有 1-1、1-2、1-4、1-8、1-16。当两张以上卡片同时进入射频场,rfid读写器向射频场发出卡呼叫命令,命令中指定了时隙的范围,让卡片在这个指定的 范围内随机选择一个数作为自己的临时识别号。然后读写器从1开始叫号,如果叫到某个号恰好只有一张卡片选择了这个号,则这张卡片被选中胜出。如果叫到的号 没有卡片应答或者有多于一张卡片应答,则继续向下叫号。如果取值范围内的所有号都叫了一遍还没有选出一张卡片,则重新让卡片随机选择临时识别号,直到叫出 一张卡片为止。这种办法不要求卡片有一个全球唯一序列号,所以智能卡的生产数量没有限制,但是理论上存在一种可能,就是永远也选不出一张卡片来。
位和时隙相结合的防冲突机制
ISO15693使用的是位和时隙结合的防冲突机制。主要通过两方面实现:一是每张智能卡或者RFID电子标签有且只有唯一的7字节序列号,二是rfid读写器在防冲突的工作中使用时隙叫号的方式,这里的号选取的是智能卡或者电子标签序列号的一部分,并不是随即的号。
除此以外,有一些特殊的智能卡如TTF(Tag Talk First)的卡片一般是无法防冲突的。因为这种智能卡进入射频场后会主动发送的识别号,如果有多张智能卡同时进入射频场时就会发生不读卡的现象。这种智能卡只能通过人为去避免冲突了。