实验2HF高频RFID通讯协议.docx
《实验2HF高频RFID通讯协议.docx》由会员分享,可在线阅读,更多相关《实验2HF高频RFID通讯协议.docx(16页珍藏版)》请在冰点文库上搜索。
实验2HF高频RFID通讯协议
实验二、HF高频RFID通信协议
一、实验目的
1.1掌握高频读卡器的通讯协议
1.2掌握本平台高频模块的操作过程
1.3掌握高频模块工作原理
二、实验设备
硬件:
R☞✋D实验箱套件,电脑等。
软件:
K♏♓●,串口调试助手。
三、实验原理
2.1高频R☞✋D系统
典型的高频☟☞(12.56M☟z)R☞✋D系统包括阅读器(R♏♋♎♏❒)和电子标签(❆♋♑,也称应答器R♏♦☐☐⏹♎♏❒)。
电子标签通常选用非接触式✋C卡,全称集成电路卡又称智能卡,可读写,容量大,有加密功能,数据记录可靠。
✋C卡相比✋D卡而言,使用更方便,目前已经大量使用在校园一卡通系统、消费系统、考勤系统、公交消费系统等。
目前市场上使用最多的是P☟✋☹✋PS的M♓♐♋❒♏系列✋C卡。
读写器☎也称为❽阅读器❾✆包含有高频模块☎发送器和接收器✆、控制单元以及与卡连接的耦合元件。
由高频模块和耦合元件发送电磁场,以提供非接触式✋C卡所需要的工作能量以及发送数据给卡,同时接收来自卡的数据。
此外,大多数非接触式✋C卡读写器都配有上传接口,以便将所获取的数据上传给另外的系统☎个人计算机、机器人控制装置等✆。
✋C卡由主控芯片✌S✋C(专用集成电路)和天线组成,标签的天线只由
线圈组成,很适合封状到卡片中,常见✋C卡内部结构如图2.1所示。
图2.1✋C卡内部结构图
较常见的高频R☞✋D应用系统如图2.2所示,✋C卡通过电感耦合的方式从读卡器处获得能量。
图2.2常见高频R☞✋D应用系统组成
下面以典型的✋C卡M✋✌R☜1为例,说明电子标签获得能量的整个过程。
读卡器向✋C卡发送一组固定频率的电磁波,标签内有一个☹C串联谐振电路☎如图2.3✆,其谐振频率与读写器发出的频率相同,这样当标签进入读写器范围时便产生电磁共振,从而使电容内有了电荷,
在电容的另一端接有一个单向通的电子泵,将电容内的电荷送到另一个电容内储存,当储存积累的电荷达到2✞时,此电源可作为其他电路提供工作电压,将标签内数据发射出去或接收读写器的数据。
图2.3✋C卡功能结构图
2.2非接触式✋C卡
目前市面上有多种类型的非接触式✋C卡,它们按照遵从的不同协议大体可以分为三类,
各类✋C卡特点及工作特性如图1.4所示,P☟✋☹✋PS的M♓♐♋❒♏1卡☎简称M1卡✆属于P✋CC卡,该类卡的读写器可以称为PCD。
图2.4✋C卡分类
高频R☞✋D系统选用P✋CC类✋C卡作为其电子标签,这里以P♒♓●♓☐♦公司典型的P✋CC卡M♓♐♋❒♏1为例,详细讲解✋C卡内部结构。
P♒♓●♓☐♦是世界上最早研制非接触式✋C卡的公司,其M♓♐♋❒♏技术已经被制定为✋S014443❆✡P☜✌国际标准。
本平台选用用M♓♐♋❒♏1(S50)卡作为电子标签,其内部原理如图2.5所示。
图2.5M1卡内部原理
射频接口部分主要包括有波形转换模块。
它可将读写器发出的12.56M☟☪的无线电调制频率接收,一方面送调制/解调模块,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出供给卡片上的各电路。
数字控制单元主要针对接收到的数据进行相关处理,包括选卡、防冲突等。
M♓♐♋❒♏1卡片采取☜☜PROM作为存储介质,其内部可以分为16个扇区,每个扇区由4块组成,(我们也将16个扇区的64个块按绝对地址编号为0-63,存贮结构如下图2.6所示:
图2.6M☞✋卡片存储结构
第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。
其中:
第0~3个字节为卡片的序列号;第4个字节为序列号的校验码;第5个字节为卡片内容❽♦♓z♏❾字节,第6❞7个字节为卡片的类型字节。
每个扇区的块0、块1、块2为数据块,可用于存贮数据。
数据块可作两种应用:
用作一般的数据保存,可以进行读、写操作。
例如在食堂消费时采用输入饭菜金额的方式扣款。
用做数据值,可以进行初始化加值、减值、读值操作。
例如在食堂消费时对于定额套餐采用输入餐号的方式加以扣款,又如公交/地铁等行业的检票/收费系统中的扣费。
每个扇区的块3为控制块,包括了密码✌、存取控制、密码B。
具体结构如下,
✌0✌1✌2✌3✌4✌5☞☞078069B0B1B2B3B4B5
其中其中✌0✌5代表密码✌的六个字节;B0B5代表密码B的六个字节;☞☞078069为四字节存取控制字的默认值,☞☞为低字节。
每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。
存取控制为4个字节,共32位,扇区中的每个块(包括数据块和的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:
块0:
C10C20C30
块1:
C11C21C31
块2:
C12C22C32
块3:
C13C23C33
三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证K☜✡✌,进行加值操作必须验证K☜✡B,等等)。
三个控制位在存取控制字节中的位置,以块0为例,如下所示:
B♓♦76543210
C20♉
♌
C10♉
♌
C10
C30♉
♌
C30
C20
字节6
字节7
字节8
字节9
2.3✋SO14443协议标准简介
✋SO14443协议是超短距离智慧卡标准,该标准定义出读取距离7-15公分的短距离非接触智能卡的功能及运作标准,✋SO14443标准分为❆✡P☜✌和❆✡P☜B两种。
❆✡P☜✌的产品具有更高的市场占有率,如P♒♓●♓☐♦公司的M✋☞✌R☜系列占有了当前约80%的市场,且在较为恶劣的工作环境下有很高的优势。
而❆✡P☜B在安全性、高速率和适应性方面有很好的前景,特别适合于CP✞卡。
这里重点介绍M✋☞✌R☜1符合的✋SO14443❆✡P☜✌标准。
1✆✋SO14443❆✡P☜✌标准中规定的基本空中接口基本标准
●PCD到P✋CC(数据传输)调制为:
✌SK,调制指数100%
●PCD到P✋CC(数据传输)位编码为:
改进的M♓●●♏❒编码
●P✋CC到PCD(数据传输)调制为:
频率为847k☟z的副载波负载调制
●P✋CC到PCD位编码为:
曼彻斯特编码
●数据传输速率为106k♌☐♦
●射频工作区的载波频率为12.56M☟z
●最小未调制工作场的值是1.5✌/❍❒❍♦(以☟❍♓⏹表示),最大未调制工作场的值是7.5✌/❍❒❍♦☎以☟❍♋⌧表示✆,邻近卡应持续工作在☟❍♓⏹和☟❍♋⌧之间
●P✋CC的能量是通过发送频率为12.56M☟z的阅读器的交变磁场来提供。
由阅读器产生的磁场必须在1.5✌/❍-7.5✌/❍之间
2✆✋SO14443❆✡P☜✌标准中规定的P✋CC标签状态集,读卡器对进入其工作范围的多张✋C卡的有效命令有:
●R☜✈✌:
❆✡P☜✌请求命令
●W✌K☜✞P:
唤醒命令
●✌☠❆✋CO☹☹✋S✋O☠:
防冲突命令
●S☜☹☜C❆:
选择命令
●☟✌☹❆:
停止命令
图2.7为P✋CC(✋C卡)接收到PCD(读卡器)发送命令后,可能引起状态的转换图。
传输错误的命令☎不符合✋SO14443❆✡P☜✌协议的命令✆不包括在内。
图2.7P✋CC状态转化图
●掉电状态☎POW☜RO☞☞✆:
在没有提供足够的载波能量的情况下,P✋CC不能对PCD发射的命令做出应答,也不能向PCD发送反射波;当P✋CC进入耦合场后,立即复位,进入闲置状态。
●闲置状态☎✋D☹☜S❆✌❆☜✆:
当P✋CC进入闲置状态时,标签已经上电,能够解调PCD发射的信号;当P✋CC接收到PCD发送的有效的R☜✈✌(对✌型卡请求的应答)命令后,P✋CC将进入就绪状态。
●就绪状态☎R☜✌D✡S❆✌❆☜✆:
在就绪状态下,执行位帧防碰撞算法或其他可行的防碰撞算法;当P✋CC标签处于就绪状态时,采用防冲突方法,用✞✋D☎惟一标识符✆从多张P✋CC标签中选择出一张P✋CC;然后PCD发送含有✞✋D的S☜☹命令,当P✋CC接收到有效的S☜☹命令时,P✋CC就进入激活状态(✌C❆✋✞☜S❆✌❆☜)。
●激活状态(✌C❆✋✞☜S❆✌❆☜):
在激活状态下,P✋CC应该完成本次应用所要求的所有操作(例如,读写P✋CC内部存储器);当处于激活状态的P✋CC接收到有效的☟✌☹❆命令后,P✋CC就立即进入停止状态。
●停止状态(☟✌☹❆S❆✌❆☜):
P✋CC完成本次应用所有操作后,应进入停止状态;当处于停止状态的P✋CC接收到有效的W✌K☜♉✞P命令时,P✋CC立即进入就绪状态。
注意:
当P✋CC处于停止状态下时,在重新进入就绪状态和激活状态后,P✋CC接受到相应命令,不在是进入闲置状态,而是进入停止状态。
2.4高频RFID系统读写器
2.4.1通信流程
高频R☞✋D系统读写器与✋C卡通信过程如图2.8所示,主要步骤有:
●复位应答(✌⏹♦♦♏❒♦☐❒♏❑◆♏♦♦):
M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。
●防冲突机制☎✌⏹♦♓♍☐●●♓♦♓☐⏹☹☐☐☐):
当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。
具体防冲突设计细节可参考相关协议手册。
●选择卡片☎S♏●♏♍♦❆♋♑)选择被选中的卡的序列号,并同时返回卡的容量代码。
●三次互相确认☎3P♋♦♦✌◆♦♒♏⏹♦♓♍♋♦♓☐⏹):
选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯(在选择另一扇区时,则必须进行另一扇区密码校验)。
●对数据块的操作:
包括读、写、加、减、存储、传输、终止。
图2.8读卡器与✋C通讯流程
2.4.2防冲突
当读写器读写范围内部有多张P✋CC标签时,读写器利用各卡的✞✋D☎惟一标识符✆从多张标签中选择出一张P✋CC标签。
不同✋C卡其内部的✞✋D大小不同,通常✞✋D由4、7或10个✞✋D字节组成。
P✋CC将这些字节按照其字节数封装在几个串联级别中发送给读卡器,每个串联级别内包含5个数据字节,其中包括3个或4个✞✋D字节,见图2.9,从图可知P✋CC最多会发送三个串联级别☎串联级别数又可以称为✞✋D大小✆。
图2.9✞✋D结构
图中C❆为级联信号,表示在下一级中还有✞✋D;BCC为本级检验码。
由图可知,P✋CC最多应处理3个串联级别,以得到所有✞✋D字节。
阅读器防冲突过程如下:
1)首先由PCD发送R☜✈✌命令或W✌K☜✞P命令,使卡进入R☜✌D✡状态(参见标签状态转换图)。
这两个命令的差别是:
R☜✈✌命令使卡从✋D☹☜状态进入R☜✌D✡状态,而W✌K☜✞P命令使卡从☟✌☹❆状态进入R☜✌D✡状态。
2)P✋CC接收到命令后,所有处在PCD电磁场范围内的P✋CC同步发出✌❆✈✌应答,说明本卡✞✋D的大小☎1、2或3✆,之后进入R☜✌D✡状态,执行防冲突循环操作。
3)PCD通过发送✌☠❆✋CO☹☹✋S✋O☠和S☜☹☜C❆命令执行防冲突循环操作,命令格式如下所示:
2.5上位机与高频R☞✋D模块间的通讯协议
在☹☞低频R☞✋D实验中,上位机和低频R☞✋D模块之间没有任何的协议通信,这是因为低频R☞✋D功能简单,低频R☞✋D模块只有一个工作状态就是监听状态,此时模块只需将监听到的标签数据传给上位机即可。
而高频R☞✋D以及之后将要学习的超高频R☞✋D、2.4☝R☞✋D模块的功能就要多得多。
除了简单的读卡外,还有写入数据,修改密码的功能,这就需要上位机和这些R☞✋D模块之间进行通信。
以下便是上位机和高频R☞✋D之间的一些协议。
以下数据均为16进制,第一字节表示此次发生的字节长度
读卡号
02✌0
读数据
09✌1K♏⍓0K♏⍓1K♏⍓2K♏⍓3K♏⍓4K♏⍓5K⏹.
例:
0⌧✌1为读数据标志。
该卡密码✌为16进制:
♐♐♐♐♐♐♐♐♐♐♐♐对应K♏⍓0K♏⍓1K♏⍓2K♏⍓3K♏⍓4K♏⍓5;
要读的块数为第4块即K⏹=4;
则发送:
09✌1♐♐♐♐♐♐♐♐♐♐♐♐04.
返回第4块的16字节数据.
写数据
19✌2K♏⍓0K♏⍓1K♏⍓2K♏⍓3K♏⍓4K♏⍓5K⏹☠◆❍0☠◆❍1☠◆❍2☠◆❍3☠◆❍4☠◆❍5☠◆❍6☠◆❍7☠◆❍8☠◆❍9☠◆❍10☠◆❍11☠◆❍12☠◆❍13☠◆❍14☠◆❍15.
例:
0⌧✌2为写数据标志。
该卡密码✌为16进制:
☞☞☞☞☞☞☞☞☞☞☞☞对应K♏⍓0K♏⍓1K♏⍓2K♏⍓3K♏⍓4K♏⍓5;
要写的块数为第4块即K⏹=4;
要写的数据位000102030405060708090✌0B0C0D0☜0☞
则发送:
19✌2☞☞☞☞☞☞☞☞☞☞☞☞04000102030405060708090✌0B0C0D0☜0☞.
四、实验步骤
4.1为实验箱上电,将低频模块旁的S4DB9选择开关拨打至中间档,此时,✞✌R❆4号DB9接头与节点2上的高频模块通信。
4.2将PC机的串口与✞✌R❆4DB9串口相连,在PC机上打开物联网R☞✋D实验箱配套光盘\物联网综合R☞✋D实验箱\应用程序目录下的C☐❍✌♦♦♓♦♦♋⏹.♏⌧♏应用软件,选择正确的端口号并进行如图2.10所示的配置,并❽打开串口❾
图2.10
4.3读卡号操作
在串口调试助手的发送行内,按十六进制发送读卡指令❽02✌0❾并进行刷卡(高频标签和特高频标签无法通过肉眼识别,大家分别试一下就可以了)操作,选择按照十六进制显示,观察是否有卡号返回,如图2.11所示。
图2.11
4.4读数据操作
在串口调试助手的发送行内,按十六进制发送读数据指令❽09✌1♐♐♐♐♐♐♐♐♐♐♐♐04❾并进行刷卡操作,选择按照十六进制显示,将返回高频卡第四块存储区域内的数据,如图2.12所示,在本例中,该区域内存储了十六个字节的00数据。
图2.12
4.5读数据操作
在串口调试助手的发送行内,按十六进制发送写数据指令❽19✌2☞☞☞☞☞☞☞☞☞☞☞☞04000102030405060708090✌0B0C0D0☜0☞❾并进行刷卡操作,此时高频读卡器如果正确写入数据后,会发出蜂鸣声,但是没有任何返回信息。
再次发送读数据指令❽09✌1♐♐♐♐♐♐♐♐♐♐♐♐04❾,并进行刷卡操作,观察是否4号区域的数据是我们刚刚写入的000102030405060708090✌0B0C0D0☜0☞,如图2.13所示。
图2.13