叱DI
积累的电荷达到2V时,此电源可作为其他电路提供工作电压,将标签内数据发射出去或接收读写器的数据。
图2.3IC卡功能结构图
2.2非接触式IC卡
目前市面上有多种类型的非接触式IC卡,它们按照遵从的不同协议大体可以分为三类,
各类IC卡特点及工作特性如图1.4所示,PHILIPS的Mifare1卡(简称M1卡)属于PICC卡,该类卡的读写器可以称为PCD
1C卡
世靠标16
]I
ncc
CCD
T8O/TEC10W
|0-30MHk
1RX
PCD
ISO-TEC1444)
『隼-P'lQtci)
kHz,6
75XH7j?
16MH7
vice
VCD
isomr
踱黑舍(4m)
nmmi
图2.4IC卡分类
>cDn广州飞瑞敖电子科枝有限公司
—GuangZhouF.R.OElectronicTechnologyCo.XTD.
高频RFID系统选用PICC类IC卡作为其电子标签,这里以Philips公司典型的PICC卡Mifare1为例,详细讲解IC卡内部结构。
Philips是世界上最早研制非接触式IC卡的
公司,其Mifare技术已经被制定为IS014443TYPEA国际标准。
本平台选用用Mifare
1(S50)卡作为电子标签,其内部原理如图2.5所示。
图2.5M1卡内部原理
射频接口部分主要包括有波形转换模块。
它可将读写器发出的12.56MHZ的无线电调制
频率接收,一方面送调制/解调模块,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出供给卡片
上的各电路。
数字控制单元主要针对接收到的数据进行相关处理,包括选卡、防冲突等。
Mifare1卡片采取EEPRO作为存储介质,其内部可以分为16个扇区,每个扇区由4块组
成,(我们也将16个扇区的64个块按绝对地址编号为0-63,存贮结构如下图2.6所示:
k
0
►
块
块1
A
块空
块3
Ui区
1
►
块0
A
块1
►
块愛
块3(密码A疗眼控制-藩码B]
■
||
1
1
1
1
1
1
1
1
1
1
1
1
1
1
r■
1
>
块0
15
►
块1
►
块2
A
块缸帝玛4疗蹴拄制-塞谢B)
图2.6MFI卡片存储结构
>cDn广州飞瑞敖电子科枝有限公司
—GuangZhouF.R,0ElectronicTechnologyCo.XTD.
第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。
其中:
第0〜3个字节为卡片的序列号;第4个字节为序列号的校验码;第5个字节为卡片内
容“size”字节,第6~7个字节为卡片的类型字节。
每个扇区的块0、块1、块2为数据块,可用于存贮数据。
数据块可作两种应用:
用作一般的数据保存,可以进行读、写操作。
例如在食堂消费时采用输入饭菜金额的方式扣款。
用做数据值,可以进行初始化加值、减值、读值操作。
例如在食堂消费时对于定额套餐采用输入餐号的方式加以扣款,又如公交/地铁等行业的检票/收费系统中的扣费。
每个扇区
的块3为控制块,包括了密码A、存取控制、密码B。
具体结构如下,
A0A1A2A3A4A5FF078069B0B1B2B3B4B5
其中其中A0—A5代表密码A的六个字节;B0—B5代表密码B的六个字节;FF078069为四字节存取控制字的默认值,FF为低字节。
每个扇区的密码和存取控制都是独立的,可
以根据实际需要设定各自的密码及存取控制。
存取控制为4个字节,共32位,扇区中的
每个块(包括数据块和的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都
有相应的三个控制位,定义如下:
块0:
C10C20C30
块1:
C11C21C31
块2:
C12C22C32
块3:
C13C23C33
三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值
Bit7654
字节6
字节7
字节8
字节9
C20_b
C10_b
C10
C30_b
C30
C20
2.3ISO14443
3210
协议标准简介
操作必须验证KEYA,进行加值操作必须验证KEYB,等等)。
三个控制位在存取控制字节中的位置,以块0为例,如下所示:
ISO14443协议是超短距离智慧卡标准,该标准定义出读取距离7-15公分的短距离非接
>CDn广州飞瑞敖电子科技有限公司
GuangZhouF.R.OElectronicTechnologyCo.XTO.
PCD到PICC(数据传输)调制为:
ASK调制指数100%
PCD到PICC(数据传输)位编码为:
改进的Miller编码
PICC到PCD(数据传输)调制为:
频率为847kHz的副载波负载调制
PICC到PCD位编码为:
曼彻斯特编码
数据传输速率为106kbps
射频工作区的载波频率为12.56MHz
最小未调制工作场的值是1.5A/mrms(以Hmin表示),最大未调制工作场的值是7.5A/mrms(以Hmax表示),邻近卡应持续工作在Hmin和Hma)之间
PICC的能量是通过发送频率为12.56MHz的阅读器的交变磁场来提供。
由阅读器产生的磁场必须在1.5A/m-7.5A/m之间
2)ISO14443TYPEA标准中规定的PICC标签状态集,读卡器对进入其工作范围的多张IC卡的有效命令有:
REQATYPEA请求命令
WAKEUP唤醒命令
ANTICOLLISION防冲突命令
SELECT选择命令
HALT停止命令
图2.7为PICC(IC卡)接收到PCD(读卡器)发送命令后,可能引起状态的转换图。
传输错误的命令(不符合ISO14443TYPEA协议的命令)不包括在内。
图2.7PICC状态转化图
掉电状态(POWEROFF):
在没有提供足够的载波能量的情况下,PICC不能对PCD发射的
命令做出应答,也不能向PCD发送反射波;当PICC进入耦合场后,立即复位,进入闲置状
^态。
闲置状态(IDLESTATE):
当PICC进入闲置状态时,标签已经上电,能够解调PCD发射的信号;当PICC接收到PCD发送的有效的REQ(对A型卡请求的应答)命令后,PICC将进入就绪状态。
就绪状态(READYSTATE):
在就绪状态下,执行位帧防碰撞算法或其他可行的防碰撞
算法;当PICC标签处于就绪状态时,采用防冲突方法,用UID(惟一标识符)从多张PICC标
签中选择出一张PICC;然后PCD发送含有UID的SEL命令,当PICC接收到有效的SEL命令时,PICC就进入激活状态(ACTIVESTATE)。
激活状态(ACTIVESTATE:
在激活状态下,PICC应该完成本次应用所要求的所有操
作(例如,读写PICC内部存储器);当处于激活状态的PICC接收到有效的HALT命令后,
PICC就立即进入停止状态。
停止状态(HALTSTATE):
PICC完成本次应用所有操作后,应进入停止状态;当
处于停止状态的PICC接收到有效的WAKE_U命令时,PICC立即进入就绪状态。
注意:
当PICC处于停止状态下时,在重新进入就绪状态和激活状态后,PICC接受到相应命令,不在是进
入闲置状态,而是进入停止状态。
2.4高频RFID系统读写器
2.4.1通信流程
>cDn广州飞瑞敖电子科枝有限公司
—GnangZhouF.R.OElectronicTechnologyCo.XTD.
高频RFID系统读写器与IC卡通信过程如图2.8所示,主要步骤有:
复位应答(Answertorequest):
M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。
防冲突机制(AnticollisionLoop):
当有多张卡进入读写器操作范围时,防冲突机制
会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选
卡的序列号。
具体防冲突设计细节可参考相关协议手册。
选择卡片(SelectTag)选择被选中的卡的序列号,并同时返回卡的容量代码。
三次互相确认(3PassAuthentication):
选定要处理的卡片之后,读写器就确定要
访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行
通讯(在选择另一扇区时,则必须进行另一扇区密码校验)。
对数据块的操作:
包括读、写、加、减、存储、传输、终止。
图2.8读卡器与IC通讯流程
242防冲突
当读写器读写范围内部有多张PICC标签时,读写器利用各卡的UID(惟一标识符)从多
张标签中选择出一张PICC标签。
不同IC卡其内部的UID大小不同,通常UID由4、7或10个UID字节组成。
PICC将这些字节按照其字节数封装在几个串联级别中发送给读卡器,每个串联级别内包含5个数据字节,其中包括3个或4个UID字节,见图2.9,从图可知PICC最多会发送三个串联级别(串联级别数又可以称为UID大小)。
IHE'1
TJID大勺耳2
-UED大小.H
hidex
UID0
cr
J
UIDCL1
UTDI
umo
UID0
口口z
UID1
UBI
UID3
UID2
UID2
DCC
BCC
sec
VID?
cr
ULUl:
Jr;
ULD4
VED3
TJIZ3
cm*凶
UIDfi
UID3
BCC
1-■.■:
uij>e
uidcm
11■-
fJIDP
BCG
图2.9UID结构
图中CT为级联信号,表示在下一级中还有UID;BCC为本级检验码。
由图可知,PICC最多
应处理3个串联级别,以得到所有UID字节。
阅读器防冲突过程如下:
1)首先由PCD发送REQA命令或WAKEUP命令,使卡进入READY犬态(参见标签状态转换图)。
这两个命令的差别是:
REQA命令使卡从IDLE状态进入READY状态,而WAKEUP命令使卡从HALT状态进入READY犬态。
2)PICC接收到命令后,所有处在PCD电磁场范围内的PICC同步发出ATQA应答,说明本卡UID的大小(1、2或3),之后进入READY犬态,执行防冲突循环操作。
3)PCD通过发送ANTICOLLISION和SELECT命令执行防冲突循环操作,命令格式如下所示:
S£L
KVB
1B
1B
1B
.化L.「拦4-他其代码为8井别代KatffiJITCLlUIDCL2WIDCL3J
咂禾示本帝今的圧度”的前半宇节養示字节后半字辛養示位数.
2.5上位机与高频RFID模块间的通讯协议
在LF低频RFID实验中,上位机和低频RFID模块之间没有任何的协议通信,这是因为低频
RFID功能简单,低频RFID模块只有一个工作状态就是监听状态,此时模块只需将监听到的标签数据传给上位机即可。
而高频RFID以及之后将要学习的超高频RFID2.4GRFID模块的
功能就要多得多。
除了简单的读卡外,还有写入数据,修改密码的功能,这就需要上位机和这些RFID模块之间进行通信。
以下便是上位机和高频RFID之间的一些协议。
以下数据均为16进制,第一字节表示此次发生的字节长度
、七匕口
读卡号
02A0
读数据
09A1KeyOKey1Key2Key3Key4Key5Kn.
例:
0xA1为读数据标志。
该卡密码A为16进制:
ffffffffffff对应Key0Key1Key2Key3Key4Key5;
要读的块数为第4块即Kn=4;
贝V发送:
09A1ffffffffffff04.
返回第4块的16字节数据.
写数据
19A2KeyOKeylKey2Key3Key4Key5KnNumONum1Num2Num3Num4Num5Num6Num7Num8Num9Num10Num11Num12Num13Num14Num15.
例:
0xA2为写数据标志。
该卡密码A为16进制:
FFFFFFFFFFFF对应KeyOKeylKey2Key3Key4Key5;要写的块数为第4块即Kn=4;
要写的数据位000102030405060708090A0B0C0D0E0F
贝V发送:
19A2FFFFFFFFFFFF04000102030405060708090A0B0C0D0E
0F.
四、实验步骤
4.1为实验箱上电,将低频模块旁的S4DB9选择开关拨打至中间档,此时,UART4号DB9
接头与节点2上的高频模块通信。
4.2将PC机的串口与UART4DB9串口相连,在PC机上打开物联网RFID实验箱配套光盘物联网综合RFID实验箱应用程序目录下的ComAssistan.exe应用软件,选择正确的端口号并进行如图2.10所示的配置,并“打开串口”
图2.10
4.3读卡号操作
在串口调试助手的发送行内,按十六进制发送读卡指令“02A0”并进行刷卡(高
频标签和特高频标签无法通过肉眼识别,大家分别试一下就可以了)操作,选择按照十六进制显示,观察是否有卡号返回,如图2.11所示。
图2.11
4.4读数据操作
在串口调试助手的发送行内,按十六进制发送读数据指令“09A1ffffffffffff04
并进行刷卡操作,选择按照十六进制显示,将返回高频卡第四块存储区域内的数据,如图2.12所示,在本例中,该区域内存储了十六个字节的00数据。
图2.12
4.5读数据操作
在串口调试助手的发送行内,按十六进制发送写数据指令“19A2FFFFFFFFFFFF
04000102030405060708090A0B0C0D0E0F”并进行刷卡操作,此时高频读卡器如果正确写入数据后,会发出蜂鸣声,但是没有任何返回信息。
再次发送读数据指令“09A1ffffffffffff04”,并进行刷卡操作,观察是否4号区域的数据是我们刚刚写入的0001
02030405060708090A0B0C0D0E0F,如图2.13所示。
图2.13