首页 > 代码库 > 射频识别技术漫谈(7)——ID卡

射频识别技术漫谈(7)——ID卡

ID(Identification)是识别的意思,ID卡就是识别卡。ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡。

    射频ID卡一般都工作在TTF模式,进入射频场得电后不停地发送自己的识别号。最初识别卡是用来识别人的,用5个字节40位二进制数表示,可以识别大约一万亿人,估计是因为考虑到一万亿太多了,一般ID卡使用时只使用低位的4个字节,而把最高位的一个字节作为厂家标识或版本号使用。这样4字节32位二进制数可以识别43亿人,在当时全世界每人一个识别号也足够了。当然后来又发展到卡号可以随便复制,这是后话。

    为了检查数据传输中是否发生了错误,射频识别卡对每个字节都增加了两个校验位,其中高半字节一个,低半字节一个,这样每个字节增加到10位二进制数,5个字节共有50位。为了校验数据的整体性错误,射频ID卡还增加了一个4位的纵向冗余检验,这样整个ID卡数据增加到54位。当进入射频场时,如果卡片直接回送这5个字节,那么读写器很难确定起始位和结束位,所以射频识别卡又增加了9个二进制“1”在前面作起始位,增加了一个二进制“0”在后面作结束位,这样ID卡就有了64位数据,正好8个字节。其排列如下图所示:

射频识别技术漫谈(7)——ID卡
    例如卡号为2100A5EAD9的卡片,其编码格式为

    1   1   1   1   1   1   1   1   1           9个“1”的起始位,也叫头部

                    0   0   1   0   1           “2”

                    0   0   0   1   1           “1”

                    0   0   0   0   0           “0”

                    0   0   0   0   0           “0”

                    1   0   1   0   0           “A”

                    0   1   0   1   0           “5”

                    1   1   1   0   1           “E”

                    1   0   1   0   0           “A”

                    1   1   0   1   1           “D”

                    1   0   0   1   0           “9”

                    1   1   0   0   0           列偶校验和结束位“0”  

    射频ID卡的数据编码一般使用曼侧斯特码或两项码,传送数据的速率用传送一位二进制数据使用几个单位载波表示。常用的有64载波,32载波,16载波,在125KHz的频率下,一个载波的时间是8微秒,因此相应的位宽为512微秒,256微秒,128微秒。对应的数据传输速率为2K(1953)、4K(3906)、8K(7813)。我们平常使用的大多是2K曼侧斯特编码的ID卡。下图是使用HTRC110芯片读卡时,卡号为2100A5EAD9的卡片从数据输出脚DOUT输出的实测波形。

射频识别技术漫谈(7)——ID卡
    软件解码时可以使用查询或中断检测跳变,配合定时器确定脉宽,根据跳变沿的方向确定数据。

    为了和128位的动物识别标签相区别,业内一般称这种64位的ID卡格式为“ID64格式”。