TYPE B非接触IC卡放碰撞原理

2014-07-02 16:47:31 重庆诺塔斯智能科技有限公司 600

    非接触式IC卡由包括电感线圈或小型高频收发天线组成的射频电路、能量转换模块与微处理器系统组成。射频电路主要用来完成卡与读写设备的通信;能量转换模 块用来从接收的射频信号中产生卡片工作所需的时钟信号和电源能量,其基本的工作原理是基于射频识别技术RF ID, RF场的工作频率为13. 56 MHz,RFID读写器与卡之间采用异步半双工方式进行通信,采用的是调幅的调制方式。在ISO1443 - 2国际标准中定义的TYPE B 通信协议规定,从读写器到卡的信号调制方式采用ASK 10%,编码采用NRZ方式。从卡到读写器的信号调制方式采用BPSK,编码采用BPSK曼彻斯特方式。TYPE B 采用的ASK 10%的调制方式信号无载波休止,因此更加稳定,并且可以满足将来高速通信的要求。

    防冲突过程的指令

    TYPE B的防冲突是读卡器对进入其读写范围内的有效卡片按一定的顺序进行有条不紊的操作。在这个过程中,读卡器始终处于主动状态,通过一个命令集来管理与多张卡 片的通信。卡片内部的操作系统,能够对读卡器发出的这组命令集进行处理。当读写器在检测到冲突发生时,读写器必须执行相应的防冲突 (Anticollision)过程,以识别出每一张工作卡片,并准备进入传输协议的更高层, 以进行后续的通信过程。ISO /IEC14443 - 3协议中TYPE B用于防冲突过程的指令如下: 

    REQB /WUPB:用于查询天线工作区中的卡片,在指令中包含了AFI应用类标识符和时隙个数N 的信息,WUPB也可用于唤醒处于挂起状态的卡片。 

    SLOTMARKER:用于对处于指令中所包含的时隙N 的卡片发出查询命令。

    ATQB:用于对卡片接收到的REQB /WUPB和SLOTMARKER指令进行响应。它除了给出应用数据和卡上支持的协议信息以外,还给出了在防冲突过程中用于区分卡片的4个字节的卡片唯一标识号PUP I。

    ATTR IB:用于选择指令中的PUP I所指定的卡片。同时也给出了读写器端的协议信息和用于多卡片通信环境下的唯一信道标识CID。ATB:卡片发出的对于ATTR IB指令的响应。
         
    HLTB:用于将卡片置于HALT挂起状态,处于挂起状态的卡片只对WUPB响应。

    ATH:卡片发出的对于HLTB指令的响应。

 防冲突过程中的状态

    为了与读卡器的命令相配合,卡片操作系统(COS)以状态机的形式处理读卡器发来的命令,为此,卡片内部定义了5种处理状态,即POWEROFF状态、IDLE 状态、READY状态、ACTIVE 状态和HALT状态。

    POWER OFF状态:由于没有载波能量,卡片没有能量。

    IDLE状态: 卡片上电复位后,进入IDLE状态,这是卡片只对读卡器发送的有效的并与卡片本身AF I匹配的REQB或WUPB命令进行处理。

    READY状态:在这种状态下卡片只处理有效的ATTR IB或者HLTB。

    ACTIVE状态:在这种状态下卡片可以接收高层命令并进行处理。

    HALT状态:在这种状态下只接受WUPB 命令。

   防冲突过程

    第一步:若有多张卡片进入RF场,当IC卡读卡器检测到冲突之后,发送多时隙带AF I应用标识符的REQB或者WUPB命令,那些与AF I相匹配的卡片,产生一个内部随机数R, R 的取值范围在1~N 之间, R = 1的卡片即除在1时隙的卡片,回ATQB给读卡器。若在1时隙内有多于一张卡片回复ATQB,则发生新的冲突,这些卡片无法在此次防冲突循环中被识别出 来,等待下次的防冲突循环;若仅有一张卡片且正确回复ATQB,则读卡器可接着发出ATTR IB或者HALT命令;若发AT2TR IB命令,则选定此卡进入ACTIVE状态,此时卡片可接受高层命令并进行处理, REQB 及WUPB命令无效,直至卡片离开射频场内;若发出HLTB命令,则卡片进入HALT状态,此时卡片只接受WUPB命令,直至卡片离开射频场内。

    第二步:读卡器发SLOTMARKER命令,由小到大依次检查2~N 这N - 1个时隙,选取卡片的原理和过程同第一步。

    第三步:若一次防冲突循环之后,还有卡片未被识别出来,则继续执行步骤1和步骤2,直至所有卡片被识别出来。

    防冲突循环允许在任何时间选择一张或者多张卡进行进一步的高层通信。

   防冲突过程实例

    实例如图1所示。设同时有3张卡进入RF场中, 3张卡片的应用类型各不相同。首先读卡器发单时隙REQB命令,卡片1和卡片3都回复了ATQB,读卡器检测到冲突后,改发4 时隙的REQB命令,卡片1 选择了时隙2,这次不回复ATQB;卡片3选择了1时隙,马上回复ATQB;卡片2类型符不对,所以不做反应。然后读卡器发时隙2的SLOTMARKER 命令,卡片1回复AT2QB;卡片2类型不符,还是不做回复,卡片3时隙不符也不做回复。读卡器接着发出时隙3和时隙4的SLOTMARKER命令,卡片 1和3不在这2个时隙内,不做回复;卡片2 类型不对,也不做回复;此时卡片1和3等待着HLTB或者ATTR IB,所以这2个时隙内没有回复。读卡器接着发时隙3和时隙4的SLOTMARKER命令,卡片1和3不在这2个时隙内,不做回复;卡片2 类型不对,也不做回复;此时卡片1和3等待着HLTB或者ATTR IB,所以这2个时隙内没有回复。