RFID与射频卡电器特性

电气特性:

容量为8K位EEPrOM;

● 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;

● 每个扇区有独立的一组密码及访问控制;

● 每张卡有唯一序列号,为32位;

● 具有防冲突机制,支持多卡操作;

● 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路;

● 工作温度:-20℃~50℃;

● 工作频率:13.56MHZ;

● 通信速率:106KBPS;

● 读写距离:可达10mm(与读写器以及卡天线尺寸有关);

● 数据保存期为10年,可改写10万次,读不限次。

工作原理:

片由一个卷绕天线和特定用途集成电路模块组成。其中,模块由一个高速(106KB波特率)的RF接口。一个控制单元和一个8K位E2PROM组成。读写器向MF1卡发出一组固定频率(13.56MHZ)的电磁波,片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到模块存储电容内储存,当所积累的电荷达到2V以上时,此电容可作为电源向模块电路提供工作电压,将内数据发射出去或接收读写器的数据。

存储结构:

MF1卡分为16个扇区,每区有4块(块0~块3),共64块,按块号编址为0~63。第0扇区的块0(即绝对地址块0)用于存放芯片商,卡商相关代码,已经固化不可更改。其他各扇区的块0,块1,块2为数据块,用于存贮用户数据;块3为各扇区控制块,用于存放密码A,存取控制条件设置,密码B。各区控制块结构相同,如下所示:


各区控制块3 结构


字节号


0 1 2 3 4 5


6 7 8 9


10 11 12 13 14 15


控制值


FF FF FF FF FF FF FF


07 80 69


FF FF FF FF FF FF


说明


密码A(0~5字节)


存取控制(6~9字节)


密码B(10~15字节)

控制属性:

每个扇区的用户密码和存取控制条件都是独立设置的,可以根据实际需要设定各自的密码及存取控制。在存取控制中,每个块都有三个控制位相对应,用以决定某数据块或控制块的读写条件,定义为:"CXxy",见表1所示。

其中CX代表每块控制位号(C1~C3),x代表某块所属扇区号(0~15), y代表该扇区内某块号。例如C1x2 即为x扇区内块2的第1控制位,余此类推。

注:控制位的设置存放在存取控制字节中,见表2所示。
表1:控制位定义"CXxy"


块0


C1x0


C2x0


C3x0


用户数据块,(0区0块除外)


块1


C1x1


C2x1


C3x1


用户数据块


块2


C1x2


C2x2


C3x2


用户数据块


块3


C1x3


C2x3


C3x3


密匙存取控制块

表2:三个控制位在存取控制字节中的位置(注:" _b" 表示取反)


位号

字节号


bit 7


6


5


4


3


2


1


0


字节6


C2x3_b


C2x2_b


C2x1_b


C2x0_b


C1x3_b


C1x2_b


C1x1_b


C1x0_b


字节7


C1x3


C1x2


C1x1


C1x0


C3x3_b


C3x2_b


C3x1_b


C3x0_b


字节8


C3x3


C3x2


C3x1


C3x0


C2x3


C2x2


C2x1


C2x0


字节9


BX7


BX6


BX5


BX4


BX3


BX2


BX1


BX0


所属块


块3控制位


块2控制位


块1控制位


块0控制位


块3控制位


块2控制位


块1控制位


块0控制位

各扇区数据块0~块2的三个控制位以正反两种形式存在于块3的存取控制字节中,它决定了该块的访问权限(例如进行减值及初始化值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节(6~9字节)中的权限如下(阴影区的存取控制为厂商初始值;字节9为备用字节,默认值为69):

注释:表3中,KeyA|B表示密码A或密码B,Never表示没有条件实现。

表3:数据块的存取控制权限(x=0~15扇区; y=块0,块1,块2)


C1xy C2xy C3xy




加值


减值,初始化


0 0 0


KeyA|B


KeyA|B


KeyA|B


KeyA|B


0 1 0


KeyA|B


Never


Never


Never


1 0 0


KeyA|B


KeyB


Never


Never


1 0 0


KeyA|B


KeyB


KeyB


KeyA|B


0 0 1


KeyA|B


Never


Never


KeyA|B


0 1 1


KeyB


KeyB


Never


Never


1 0 1


KeyB


Never


Never


Never


1 1 1


Never


Never


Never


Never

例如,某区块的3个存取控制位C1xy,C2xy,C3xy=000时(厂商预设的初始值,见阴影区),验证密码A或密码B正确后可读出/可写入/可加值/减值及初始化操作。该初始值主要供制卡和发卡商检测心片功能使用,确认所有读写/加密功能均正常(存取控制初始值"ff078069",请参考"步骤举例"自行验算)后,再依据使用需要和参照表4表5设置新的存取控制权限值,进行用户数据操作和修改新的用户密码。

再如当某区块0的存取控制位C10,C20,C30的设置均=100时,验证密码A或密码B正确后可读出其数据;只有验证密码B正确后才可允许改写数据;不能进行加值,减值等操作。

以厂商初始值"FF 07 80 69"为例,说明存取控制条件对数据块的影响。初始存取控制默认值(C1x0,C2x0,C3x0=000;C1x1,C2x1,C3x1=000;C1x2,C2x2,C3x2=000;C1x3,C2x3,C3x3=001)和KeyA,KeyB默认值(由厂商提供,通常为:ffffffffffff)。那么块3中,厂商初始的存取控制值如下表所示:

表4:块3中厂商初始存取控制值(-号表示需要取反)


Bit#


7


6


5


4


3


2


1


0


字节6


1-


1-


1-


1-


1-


1-


1-


1-


字节7


0


0


0


0


0-


1-


1-


1-


字节8


1


0


0


0


0


0


0


0


 


CXx3


CXx2


CXx1


CXx0


CXx3


CXx2


CXx1


CXx0

如果用户要读到块1的内容,对照表4和查对表3可知,当存取控制C1x1,C2x1,C3x1=000时,必需正确校验KEY A或KEY B后才可允许读取块1的内容,否则,MF1读写器会因校验某区密码出错而无法读取和传送数据!以此类推,用户要进行其它操作时,可根据存取条件,对照表2~4来决定其操作权限。 
   表5列出了飞利浦公司对MF1的8种控制位设置值所对应的存取控制权限表,供发商及用户设置MF1使用权限时参考,其释义如下: 
表5:块3的存取控制权限(供发商及用户设置权限时参考)


控制位设置值


密码A权限


存取控制权限


密码B权限


C1x3


C2x3


C3x3








0


0


0


Never


KeyA


KeyA


Never


KeyA


KeyA


0


1


0


Never


Never


KeyA


Never


KeyA


Never


1


0


0


Never


KeyB


KeyA|B


Never


Never


KeyB


1


1


0


Never


Never


KeyA|B


Never


Never


Never


0


0


1


Never


KeyA


KeyA


KeyA


KeyA


KeyA


0


1


1


Never


KeyB


KeyA|B


KeyB


Never


KeyB


1


0


1


Never


Never


KeyA|B


KeyB


Never


Never


1


1


1


Never


Never


KeyA|B


Never


Never


Never

例如:当块3的存取控制位C13C23 C33 = 100时,表示:密码A:不可读(隐藏),验证KEYB正确后,可写(或更改);存取控制:验证KEYA或KEYB正确后,可读不可写(写保护);密码B:不可读,验证KEYB正确后可写。

又如:当块3的存取控制位C13C23 C33 = 110或者111时,除存取控制值需要在验证KEYA或KEYB正确后仅仅可读外,其它如存取控制值的改写,密码A,密码B的读写权限均被锁死而无法访问!

MF1卡修改各区块控制位值和数据——举例

(一),以常用设置"08 77 8F 69"控制条件为例,先搞清楚它――具有的访问权限。 
1、对"08 77 8F 69"值进行计算,该值定位于各区块3的6,7,8,9四个字节内,字节6=08,字节7=77, 
字节8=8F,字节9=69(默认值,不予计算)。 
2、例如:字节6=08,对应其二进制值=00001000,则对6,7,8这三个字节进行二进制转换结果见下表:


字节6 = 0 0 0 0 1 0 0 0


字节7 = 0 1 1 1 0 1 1 1


字节8 = 1 0 0 0 1 1 1 1

3、参照表2及表4算法,字节6的全部二进制值取反,字节7的低四位二进制值取反,字节8不变,得到:


字节号


对应二进制值


位置


高4位


位置


低4位


字节6 
字节7 
字节8


0 0 0 0 1 0 0 0 
0 1 1 1 0 1 1 1 
1 0 0 0 1 1 1 1


C2Y 
C1Y 
C3Y


1 1 1 1 
0 1 1 1 
1 0 0 0


C1Y 
C3Y 
C2Y


0 1 1 1 
1 0 0 0 
1 1 1 1


所属块位


块3 块2 块1 块0


 


块3 块2 块1 块0

4、对以上6,7,8字节的存取/控制二进制已取反值,依照表2,表4块位转换为各块控制值,如下表:


块3位


字节7,字节6,字节8 = C13,C23,C33 = C1Y,C2Y,C3Y = 0 1 1


块2位 
块1位 
块0位


字节7,字节6,字节8 = C12,C22,C32 = C1Y,C2Y,C3Y = 1 1 0

字节7,字节6,字节8 = C11,C21,C31 = C1Y,C2Y,C3Y = 1 1 0

字节7,字节6,字节8 = C10,C20,C30 = C1Y,C2Y,C3Y = 1 1 0

注意:高4位的各块值=低4位的各块值时,其值可用。高4位值≠低4位值时,其值不可用! 
5、查对访问权限(数据存取控制依照表3,块3存取控制依照表5),该例"08 77 8F 69"的访问权限为: 
◆ 块3 = 011:权限为:KeyA,KeyB均不可读,验证KeyB正确后可改写KeyA和KeyB,验证KeyA或KeyB正确后可读"控制位"。在此可见密钥KeyB的重要性,KeyB不正确是无法看到块3控制值,更无法修改密钥。

◆ 块2 = 块1 = 块0 =110:权限为:验证KeyA或KeyB后可读该块数据,减值以及初始化值,只有验证KeyB 正确后才可改写该块数据,在此可以看到密钥KeyB对改写数据块也起着关键性作用。 
(二)、"08 77 8F 69" 控制条件设置步骤:
由(一)可知:KeyB设置后为不可读,并且改写数据和改写控制位都需要正确验证它,故KeyB设置后程序
操作员必须妥善保管KeyB值,否则以后改写数据和控制位时,不正确的KeyB值将无法实现卡的任何操作!!! 
1、修改块3控制位的值:最初的各区块3内的KeyA,KeyB都是厂商12个"F"默认值(KeyA在任何条件下均为不可读,大部分读写机程序表现KeyA为未知的12个"0" ),在修改控制值时,先不要修改默认密码KeyA和KeyB,在控制位修改成功后,再去更改新密码值。即先对块3的控制位进行修改(默认值FF 07 80 69改为新值08 77 8F 69)并执行写操作。控制位写成功后,KeyB亦为12个"0"不可读了,但仍是隐藏的12个"f"默认值。
2、修改块3的KeyA和KeyB值:控制位0877 8F 69值写成功后,验证KeyB正确后方可改写KeyA和KeyB新密码。在密码操作模式键入要改写区块之先前密码B(先前密码为默认值时,则不需改动和加载),加载后反回数据操作模式,再进行读值,KeyA和KeyB值的改写。

3、修改块0~块2中数据:由新的控制条件08778F69可知,要修改数据,必须先验证KeyB,故先设置密码操作为KeyB认证方式,加载后再返回数据操作模式,对要修改的数据块进行值的改写操作。

4、上例中分析了"08 77 8F 69"的访问条件及其改写步骤,对用户的其它控制条件亦可参照应用。

MF1卡常见问题及处理建议

① 盲目操作:造成某些区块误操作被锁死不能再使用。应当仔细参考表3表5的控制权限后,予先得出操作后的结果是否适合使用要求,并且列出操作顺序表单再操作。最好授权程序员对块3的设置作专人操作。

② 丢失密码:再读写时造成密码认证出错而不能访问卡。特别要求在对MF卡进行块3编程操作时,必须及时记录相关卡号的控制值,KeyA,KeyB等,而且应当有专人管理密码档案。

③错误设置:对MF1卡的块3控制块了解不透彻,错误的理解造成设置造成错误的设置。依照表2可知,目前Mf1卡的控制块仅只有8种数据块访问控制权限和8种控制块设置权限,超出这16种权限的其他代码组合,将直接引起错误设置而使卡片报废!

④ 极端权限:当块3的存取控制位C13C23 C33 = 110或者111时,称为极端权限。除特殊应用外一般不被使用!启用前认真权衡对密码读写,存取控制的锁死是否必要,否则,数据加密后即使有密码也无法读取被锁死的数据区块(看不见)!

⑤ 设备低劣:低劣的设备将直接影响卡的读写性能。对MF卡进行块3编程操作的设备,特别要求其性能必须十分可靠,运行十分稳定!建议选用由飞利浦公司原装读写模块构建的知名读写机具!

⑥编程干扰:在对块3进行编程操作时,不可以有任何的"IO"中断或打扰!包括同时运行两个以上程序干扰甚至PC机不良的开关电源纹波干扰等,否则,不成功的写操作将造成某个扇区被锁死的现象,致使该扇区再次访问时出错而报废。

⑦ 数据出错:在临界距离点上读卡和写卡造成的。通常的读卡,特别是写卡,应该避免在临界状态(刚能读卡的距离)读卡。因为临界状态下的数据传送是很不稳定的!容易引起读写出错!

⑧ 人为失误:例如,密码加载操作失误,误将KeyA加载为KeyB;或者是误将其他制卡厂约定的初始密码值如a0a1a2a3a4a5,b0b1b2b3b4b5加载到本公司生产的MF1卡内;或者在初始状态下(密码A=000000000000【隐藏状态,实际为ffffffffffff】,控制位=FF07 80 69,密码B=ffffffffffff【可见】)若不经意地将KeyA=000000000000删除后又重新输入12个"0",并加载了它!这时无意中已将KeyA原来12个隐藏的"f",修改成了12个"0",其后果可想而知!

⑨ 卡片失效:读写均无数据传送,读写器报告"寻卡错误"!卡片被超标扭曲,弯曲而造成内电路断裂。

⑩ 读写距离过近:与用户使用的读写器性能有关。标准型MF1卡的读写距离可达10cm(在飞利浦公司的标准读写机具上测试的最大距离),国产知名品牌读写器一般可达5-10cm。尺寸较小的匙扣卡,其读写距离当然比标准卡近许多,但只要可靠的读写距离≥5~10mm以上,一般不会影响正常使用!

时间: 2024-08-10 19:10:02

RFID与射频卡电器特性的相关文章

RFID射频卡超市购物结算系统

这段时间在做RFID射频卡超市购物结算系统,这个系统的设想来自于大学研究课题,但是我们在淘宝网上购买设备的时候淘宝店主都认为RF射频技术不好应用在超市购物结算系统,原因有几点:第一个是超市有许多商品是水.饮料.肉类,射频会被削弱导致漏扫,第二个是超市每天卖出商品量很大,而RF卡的成本并不低,例如nxp sli卡的价格在1.6元以上 ,而FM1108的价格也在0.3元以上,如果商品采用这种卡,成本太高. 但既然是研究课题,也就是要通过项目实施去解决这些问题,对于各种问题提出解决方案.以下简单记录截

射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计

电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表输出. 1  系统整体分析 MF1 S50和S70卡是遵守ISO14443A国际标准的非接触式逻辑加密卡,S50卡内共有1024字节非易失性存储空间,分为16个扇区,每个扇区包含4个数据块,每个扇区都有一组独立的密码A和B,扇区内的每个数据块都可单独设置存取条件.S70存储结构与S50类似,存储空间

IC卡、ID卡、M1卡、射频卡的区别是什么

IC卡.ID卡.M1卡.射频卡都是我们常见的一种智能卡,但是很多的顾客还是不清楚IC卡.ID卡.M1卡.射频卡的区别是什么,下面我们一起来看看吧. 所谓的IC卡就是集成电路卡,是继磁卡之后出现的又一种新型信息工具.IC卡在有些国家和地区也称智能卡(smart card).智慧卡(intelligent card).微电路卡(microcircuit card)或微芯片卡等.它是将一个微电子 芯片嵌入符合ISO 7816标准的卡基中,做成卡片形式. 应用范围:目前IC卡已经十分广泛地应用于包括金融

MIFARE系列6——射频卡与读写器的通讯

1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠状态的卡片,卡唤醒(WAKE-UP,0x52).其中卡请求(REQA)只能呼叫处于休闲(Idle)状态的卡片,卡唤醒(WAKE-UP)可以呼叫所有卡片,包括处于休眠(Halt)和休闲状态的卡片. 收到卡呼叫命令后,卡片将对命令做出应答(AnswerTo Request,ATQA), 读写器以特定的协

射频识别技术漫谈(17)——射频卡中数据的存储形式

无论什么样的智能卡,不管是接触式的还是非接触式的,存储数据都是一个必须具备的功能.即使是只有一个5字节卡号的ID64格式的卡片也不例外,只不过卡里面的内容在出厂时就被厂家写死了,用户只能读出而不能写入或改变其内容罢了. 数据在存储介质中的存储格式往往和存储介质的容量有很大关系.容量小的存储器如E2PROM,一般以二进制的位(bit)或字节(byte)为单位:容量大的存储介质如硬盘.U盘,一般以文件的形式存储数据,文件有各种类型,文件大小只要别超过物理存储总量,几乎不受限制. 射频卡通常面向特定的

IC卡,ID卡,M1卡,射频卡

一般把可读可写,频率是13.56MHz的射频卡称为IC卡,IC卡可以写入数据, 只能读,频率是125KHz的射频卡称为ID卡, M1卡是NXP公司的S50卡的一种叫法,国内的复旦F08,达华的TKS50等兼容飞利浦S50的卡片都有可以称为M1卡,而这些卡都是射频卡,就是通过射频感应原理工作的卡. 注释: 1.市面上的UID卡比普通的IC卡(M1卡)贵很多,那是因为UID卡的所有技术参数都和M1卡一样,唯一的区别就是UID卡的0扇区0块不是固化的,可以更改,达到复制的目的.(普通M1卡的0扇区0快

RC522射频卡读写模块驱动(仅读取)

目录 说明 测试结果 main RC522.h RC522.c 说明 更改了网上的源代码,仅保留了读取序列号并通过串口回传的功能.版本号:V1 感谢 https://blog.csdn.net/qq_28877125/article/details/80437095 测试结果 main #include "sys.h" #include "delay.h" #include "usart.h" #include "lcd.h"

RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库

后台管理人员要给每件商品贴上RF卡作为唯一标识,所以要先给对应的RFID卡中写入响应的信息,我这里为了便于模拟演示只写入商品编号,价格,名称这几个字段,然后要把已经写入的商品上传后台,由后台写入数据库中的商品表(Goods)中,其中VB访问后台的代码如下: '把写入卡片的内容上传服务器,由服务器保存在数据库中,后期需要修改url等内容 Dim sssa As New WinHttpRequest Dim urlString As String = "http://mzwapitest.appli

HX125U-BT低频蓝牙RFID读卡器|ID卡采集器支持安卓、苹果手机即联即用

HX125RU-BT低频蓝牙RFID读卡器是华翔天诚科技研究的一款支持125KHZ低频RFID芯片卡UID数据读取,采用蓝牙4.0与USB双通讯模式.支持安卓.苹果.Windows系统下工作,具有蓝牙即联即用.USB即插即用的特点,可直接类键盘口输出,在光标停留的文本框.记事本.Eexce.Word文档等直接输出RFID卡卡号.HX125RU-BT低频蓝牙RFID读卡器无需二次开发.支持自动刷卡与手动按键刷卡双模式,我司也可根据用户的实际需求,定制不同数据输出格式. HX125RU-BT低频蓝牙