0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

射频识别技术漫谈(11)——Mifare系列卡的共性

阗笑 来源:魏道志 作者:魏道志 2023-10-11 15:38 次阅读

Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50、Mifare S70、Mifare UltraLight、Mifare Pro、Mifare Desfire等,由于Mifare的巨大影响力,业内有时把其它公司生产的遵守ISO14443A标准的射频卡也称为“Mifare”,尤其是Mifare S50卡片,几乎就是ISO14443A标准的代言人。
至于“Mifare”这个名字的由来,据说1998年Philips收购了瑞士的米克朗(Mikron)公司,该公司之前开发了一套收费系统叫作MIkron FARE-collection System,即米克朗收费系统,简写为Mifare。
Mifare系列卡片有时也根据卡内使用芯片的不同,把Mifare UltraLight称为MF0,Mifare S50和S70称为MF1,Mifare Pro称为MF2,Mifare Desfire称为MF3。
Mifare系列的共同特征就是遵守ISO14443A国际标准,这些共同特征描述如下:
1.它们都是接近卡PICC(Proximity ICC),读写距离最大10cm。
2.它们的射频频率都是13.56MHz±7KHz。
3.这些卡片都是无源免接触的,能量由读写器产生的射频场提供。
4.读写器产生的射频场的磁场强度在1.5A/m~7.5A/m之间,卡片在这个场强区间内可以连续的正常工作。
5.卡片首先进入读写器的射频场得电完成初始化,之后等待读写器的命令。读写器与卡片的数据交流总是采用RTF模式,即读写器先发出命令,卡片在规定的时间内对命令作出应答,如果读写器没有命令,卡片无论如何也不能先发言。
6.读写器向卡片发送命令使用100% ASK调制的修正米勒(Modified Miller)码,卡片应答时使用副载波调制的曼侧斯特(Manchester)码。
7.卡片与读写器之间通讯的数据速率有4种:106Kbps,212Kbps,424Kbps,847Kbps。但在读卡选择命令(含)之前,通讯速率只能是106Kbps。读卡选择之后,卡片和读写器可以协商使用什么样的速率。106Kbps是怎么来的,它是载波频率13.56MHz除以128得来的,通俗的说法是“载波128分频”。
8.卡片未进入射频场时称为断电(Power-Off)状态,进入射频场得电复位后进入休闲(Idle)状态,收到读写器的呼叫命令后进入准备(Ready)状态,经过防冲突循环被选中后进入激活(Active)状态,在激活状态收到休眠命令或不认识的命令后进入休眠(Halt)状态。
9.这些卡片都有一个全球唯一的序列号,序列号的长度可能是4字节,7字节或10字节。当多张卡片同时进入读写器的射频场时,卡片们遵守面向比特的防冲突机制,由读卡器选出唯一的一张卡片进行操作。读写器操作完一张卡片后,可以发送休眠命令让这张卡片进入休眠状态,而读卡器继续对其他卡片进行操作。
10.这些卡片在卡选择(含)之前的操作步骤都是一样的,卡选择之后的操作就不一样了,比如有的需要验证密码,有的不需要,而且验证密码的方式也有区别。
11.从卡片进入磁场到卡片被选中要经过两步。
第一步是读写器呼叫磁场内的卡片,卡片对呼叫做出应答。
(1)由于磁场内可能有刚进入磁场并得电复位处于休闲状态的卡片,也可能有已经被读写器操作过,被读写器发送休眠命令进入休眠状态的卡片,对这两类不同的卡片,读写器使用两种不同的命令进行呼叫:卡请求(REQA,0x26)和卡唤醒(WAKE-UP,0x52)。
(2)其中卡请求(REQA)只能呼叫处于休闲(Idle)状态的卡片,卡唤醒(WAKE-UP)可以呼叫所有卡片,包括处于休眠(Halt)和休闲状态的卡片。
(3)收到卡呼叫命令后,卡片将对命令做出应答(Answer To Request,ATQA),告诉读写器自己是否遵守面向比特的防冲突机制,如果不遵守,读写器自然就不会往下操作了,除非双方约好了一种特殊的防冲突协议,不过那就不叫“遵守ISO14443A”了。ATQA有两个字节,第一个字节的值没有规定(RFU),第二个字节的高两位b7b6表示卡序列号长度(“00”为4字节,“01”为7字节,“10”为10字节), b5位的值没有规定(RFU),b4-b0表示是否遵守面向比特的防冲突机制,如果遵守,b4-b0必须有且仅有1位为1。通常情况下,Mifare S50的ATQA是0004H,Mifare S70的ATQA是0002H,Mifare UltraLight的ATQA是0044H,Mifare Light的ATQA是0010H,Mifare Desfire的ATQA是0344H。业内习惯称ATQA为卡类型,并且称“Mifare S50的卡类型是0004H,Mifare S70的卡类型是0002H,Mifare UltraLight的卡类型是0044H,Mifare Desfire的卡类型是0344H……”,这种说法其实是不严谨的。已经出现了ATQA为0044H和0344H的卡片,但这种卡片并不是Mifare UltraLight和Mifare Desfire,而是一种新的7字节的Mifare S50。这很正常,因为ISO14443A中规定,ATQA的作用是卡片表明自己是否遵守面向比特的防冲突机制以及自身卡序列号的长度,并不是表示哪种类型的卡片。
(1)之所以把“防冲突”和“选择”放在一块说,是因为二者的命令码是一样的,区别在于命令码后面包含多少位已经确认的卡序列号。
(2)面向比特的防冲突机制每个防冲突循环需要32bit的卡号参加。读写器向所有参加防冲突的卡片发出一个防冲突命令码,并告诉卡片们已经确定了多少位卡序列号,让卡序列号前面部分与读写器发出的已经确认的序列号相同的卡片做出应答。
(3)如果已确认的卡序列号小于32位,就是防冲突命令,卡片将回送除了已确认卡序列号之外的剩余的卡序列号部分;如果已确认的卡序列号等于32位,就是卡选择命令了,被选中的卡片将作出对选择的应答(Select AcKnowledge,SAK)。
(4)防冲突和卡选择命令还有一个区别就是,卡选择命令有CRC_A校验,而防冲突命令没有CRC_A校验。
(5)如果卡片卡号是4个字节,防冲突选择的命令码是0x93。
(6)如果卡片卡号是7个字节,则要进行两个层次(cascade level)的防冲突选择,第一层(cascade level 1)的命令码是0x93;卡号的前3个字节参加;第二层(cascade level 2)的命令码是0x95,卡号的后4个字节参加。
(7)如果卡片卡号是10个字节,则要进行三个层次(cascade level)的防冲突选择,第一层(cascade level 1)的命令码是0x93,卡号的前3个字节参加;第二层(cascade level 2)的命令码是0x95,卡号的第4、5、6个字节参加;第三层(cascade level 3)的命令码是0x97,卡号的后4个字节参加。
(8)大家可能已经发现,前面说每个防冲突循环需要32bit的卡号参加,后面又说可以3个字节(24bit)参加,是不是前后矛盾?是的,为了凑够32bit,如果只有3个字节的卡号参加防冲突循环,则卡片自动在3个卡号字节之前增加一个字节0x88,这个0x88被称为层标签(cascade tag),从而满足防冲突循环对32bit卡号的要求。
(9)每一层的防冲突选择循环如果卡被选中,卡片都要返回“选择应答”(Select AcKnowledge,SAK),告诉读写器是否需要下一层的防冲突选择循环以及是否遵守ISO14443-4。
12.最后再次强调以上就是“共同遵守ISO14443A”的含义,也就是从卡片进入磁场到卡片被选中,它们的操作流程都是一样的。之后大家便分道扬镳,有的继续遵守ISO14443-4,有的开始验证密码,有的就直接可以进行读写操作了。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RFID
    +关注

    关注

    387

    文章

    6079

    浏览量

    237149
  • 读写器
    +关注

    关注

    3

    文章

    649

    浏览量

    38791
  • 射频识别技术

    关注

    0

    文章

    95

    浏览量

    16727
收藏 人收藏

    评论

    相关推荐

    射频识别技术的工作原理

    射频卡)进行读写,从而达到识别目标和数据交换的目的。其工作原理相对复杂但高效,以下是对RFID技术工作原理的详细阐述。
    的头像 发表于 08-13 10:36 634次阅读

    RFID射频识别是什么技术

    射频识别(RFID) 是 Radio Frequency Identification 的缩写。 射频识别技术 是自动
    的头像 发表于 06-17 17:26 511次阅读
    RFID<b class='flag-5'>射频</b><b class='flag-5'>识别</b>是什么<b class='flag-5'>技术</b>

    RFID射频识别中的高频HF

    RFID,即 Radio Frequency Identification 射频识别技术,是一种非接触式的自动识别技术,通过无线
    的头像 发表于 05-14 17:34 681次阅读
    RFID<b class='flag-5'>射频</b><b class='flag-5'>识别</b>中的高频HF

    RFID射频识别中的高频HF

    RFID,即 Radio Frequency Identification 射频识别技术,是一种非接触式的自动识别技术,通过无线
    发表于 05-08 11:31

    无线射频技术(RF)与传统条形码识别技术相比其优势有哪些?

    无线射频是20世纪90年代兴起的一种非接触式的自动识别技术射频技术相对于传统的磁卡及IC
    的头像 发表于 04-04 16:10 2740次阅读
    无线<b class='flag-5'>射频</b><b class='flag-5'>技术</b>(RF)与传统条形码<b class='flag-5'>识别</b><b class='flag-5'>技术</b>相比其优势有哪些?

    射频识别RFID介绍

    射频识别(RFID) 是 Radio Frequency Identification 的缩写。 射频识别技术 是自动
    的头像 发表于 03-27 11:00 1803次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b>RFID介绍

    射频识别RFID

    射频识别(RFID) 是 Radio Frequency Identification 的缩写。 射频识别技术是自动
    发表于 02-28 11:31

    简单认识射频识别技术

    射频识别 (Radio Frequency Identification, RFID)是一种无线通信技术,可以通过磁场耦合或者电场传输等非接触方式实现数据的无线传输,达到识别特定目标的
    的头像 发表于 01-08 09:43 1087次阅读

    rc522射频模块的工作原理

    RC522射频模块是一种基于射频识别技术的读卡器模块,广泛应用于门禁系统、智能家居、智能类应用等领域。它具备快速、稳定、安全的特点,能够读
    的头像 发表于 12-28 16:27 5004次阅读

    射频识别技术漫谈(33)——ISO15693防冲突举例

    射频识别技术漫谈(33)——ISO15693防冲突举例
    的头像 发表于 11-14 15:24 1323次阅读

    射频识别技术漫谈(32)——曼侧斯特码与FM0编码的防冲突原理

    射频识别技术漫谈(32)——曼侧斯特码与FM0编码的防冲突原理
    的头像 发表于 11-14 15:21 1263次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(32)——曼侧斯特码与FM0编码的防冲突原理

    射频识别技术漫谈(31)——射频卡的复位时间

    射频识别技术漫谈(31)——射频卡的复位时间
    的头像 发表于 11-14 14:14 566次阅读

    射频识别技术漫谈(30)——PN512的寄存器设置

    射频识别技术漫谈(30)——PN512的寄存器设置
    的头像 发表于 11-14 14:09 688次阅读

    射频识别技术漫谈(29)——射频接口芯片TRF7960

    射频识别技术漫谈(29)——射频接口芯片TRF7960
    的头像 发表于 11-14 11:58 1258次阅读

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

    射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计
    的头像 发表于 11-14 11:50 2242次阅读
    <b class='flag-5'>射频</b><b class='flag-5'>识别</b><b class='flag-5'>技术</b><b class='flag-5'>漫谈</b>(28)——基于MF1<b class='flag-5'>射频卡</b>的酒店门锁设计