M1非接触式IC卡性能简介

非接触式IC卡性能简介(M1)

 

一、            主要指标

l  容量为8K位EEPROM

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

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

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

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

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

l  数据保存期为10年,可改写10万次,读无限次

l  工作温度:-20℃~50℃(温度为90%)

l  工作频率:13.56MHZ

l  通信速率:106KBPS

l  读写距离:10mm以内(与读写器有关)

 

二、            存储结构

1、M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构如下图所示:

 

 

 

 

 

 

 

块0

    

数据块

0

扇区0 

块1

 

数据块

1

 

块2

 

数据块

2

 

块3

密码A   存取控制   密码B

控制块

3

 

块0

 

数据块

4

扇区1

块1

 

数据块

5

 

块2

 

数据块

6

 

块3

密码A   存取控制   密码B

控制块

7

 

 

 

            ∶

      ∶

      ∶

 

 

 

 

  0

 

数据块

60

扇区15 

  1

 

数据块

61

 

  2

 

数据块

62

 

  3

密码A    存取控制   密码B

控制块

63

 

2、第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。

3、每个扇区的块0、块1、块2为数据块,可用于存贮数据。

   数据块可作两种应用:

★ 用作一般的数据保存,可以进行操作。

★ 用作数据值,可以进行初始化值、加值、减值、读值操作。

4、每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结构如下:

A0 A1 A2 A3 A4 A5   FF 07 80 69     B0 B1 B2 B3 B4 B5

 

   

 

            密码A(6字节) 存取控制(4字节) 密码B(6字节) 

 

5、每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:

   

          块0:   C10   C20  C30

          块1:   C11   C21  C31

          块2:   C12   C22  C32

          块3:   C13  C23   C33

 

  三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如 

  进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制

  位在存取控制字节中的位置,以块0为例:

 

   对块0的控制:

           bit  7   6     5       4    3      2      1     0

字节6

 

 

 

C20_b

 

 

 

C10_b

字节7

 

 

 

C10

 

 

 

C30_b

字节8

 

 

 

C30

 

 

 

C20

字节9

 

 

 

 

 

 

 

 

                ( 注: C10_b表示C10取反 )

 

      存取控制(4字节,其中字节9为备用字节)结构如下所示:

          bit  7   6      5       4    3      2      1     0

字节6

C23_b

C22_b

C21_b

C20_b

C13_b

C12_b

C11_b

C10_b

字节7

C13

C12

C11

C10

C33_b

C32_b

C31_b

C30_b

字节8

C33

C32

C31

C30

C23

C22

C21

C20

字节9

 

 

 

 

 

 

 

 

                     ( 注: _b表示取反 )

 

    6、数据块(块0、块1、块2)的存取控制如下:

 

  控制位(X=0.1.2)

 

         访 问 条 件 (对数据块 0、1、2)

C1X

C2X

C3X

 Read

 Write

Increment

Decrement, transfer,

Restore

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

1

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

     (KeyA|B 表示密码A或密码B,Never表示任何条件下不能实现)

 

  例如:当块0的存取控制位C10 C20C30=1 0 0时,验证密码A或密码B正确后可读;

        验证密码B正确后可写;不能进行加值、减值操作。

 

    7、控制块块3的存取控制与数据块(块0、1、2)不同,它的存取控制如下:

 

 

 

 

密码A

存取控制

密码B

C13

C23

C33

Read

Write

Read

Write

Read

Write

0

0

0

Never

KeyA|B

KeyA|B

Never

KeyA|B

KeyA|B

0

1

0

Never

Never

KeyA|B

Never

KeyA|B

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|B

KeyA|B

KeyA|B

KeyA|B

KeyA|B

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的存取控制位C13 C23C33=1 0 0时,表示:

           密码A:不可读,验证KEYA或KEYB正确后,可写(更改)。

         存取控制:验证KEYA或KEYB正确后,可读、可写。

           密码B:验证KEYA或KEYB正确后,可读、可写。

 

三、            工作原理

卡片的电气部分只由一个天线和ASIC组成。

天线:卡片的天线是只有几组绕线的线圈,很适于封装到IS0卡片中。

ASIC:卡片的ASIC由一个高速(106KB波特率)的RF接口,一个控制单元和一个

      8K位EEPROM组成。

工作原理:读写器向M1卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。

 

四、            M1射频卡与读写器的通讯

                                               

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


        

选择卡片

Select  Tag

 

 

                                          

                

 


          改变扇区

三次相互验证

Authentication

 

 


中止

Halt

 

减值

decrement

 

加值

increment

 

写 块

Write block

 

读 块

Read

 

                                                                          

 

        不改变扇区

 

 

 

 

 

 

 

 

 

 

复位应答(Answer to request)

M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。

 

防冲突机制 (Anticollision Loop)

当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。

 

选择卡片(Select Tag)

选择被选中的卡的序列号,并同时返回卡的容量代码。

 

三次互相确认(3 Pass Authentication)

选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)

 

对数据块的操作

(Read):读一个块;

写 (Write):写一个块;

(Increment):对数值块进行加值;

(Decrement):对数值块进行减值;

存储(Restore):将块中的内容存到数据寄存器中;

传输(Transfer):将数据寄存器中的内容写入块中;

    中止(Halt):将卡置于暂停工作状态;

 

 

 

 FMl702SL内部有8个寄存器页,每页有8个寄存器,每个寄存器有8位数据。这些寄存器是统一编址的,从Ox00~0x3F,MCU通过SPI 接口与 FMl702SL通信对这些寄存器进行设置。例如,MCU需要让FMl702SL执行某个命令(Transceive)时,把此命令的代码(1E)写入 Command寄存器就可以了。

 必须注意的是,MCU对卡片的操作不是简单的一条指令所能完成的,其中必须有对FMl702SL硬件内部寄存器的设置。操作步骤如图5所示。

  (1)复位初始化FMr702SL:初始化FMl702SL的SPI接口,初始化FMl702SL定时器,设置定时器控制寄存器,打开Txl、TX2。

  (2)Request(请求):当一张Mifare卡片处在卡片读写器的天线的工作范围之内时,程序员控制读写器向卡片发出R:EQUEsT all(或REQUEsTstd)命令。卡片的ATR将启动,将卡片BLOCkO中的卡片类型(TagType)号共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行复位请求操作,读写器对卡片的其它操作将不会进行。

  (3)AntieollisionLOOp(防冲突机制):如果有多张Mifare卡片处在卡片读写器的天线的工作范围之内时,读写器将首先与每一张卡片进行通信,取得每一张卡片的系列号。由于每一张Mifare卡片都具有其唯一的序列号,决不会相同,因此读写器根据卡片的序列号来保证一次只对一张卡操作。该操作读写器得到卡的返回值为卡的序列号。

  (4)Tag(选择卡片):完成了上述二个步骤之后,读写器必须对卡片进行选择操作。执行操作后,返回卡上的SIZE字节。

  (5)Authentication(三次相互验证):经过上述三个步骤,在确认已经选择了一张卡片时,读写器在对卡进行读写操作之前,一必须对卡片上已经设置的密码进行认证。如果匹配,才允许进一步的读写操作。

  (6)读写操作:对卡的最后操作是读、写、增值、减值、存储和传送等操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

非接触式IC卡性能介绍(ML)

 

 

一、概述

MIFARE LIGHT 卡是一种小容量卡,共384位,适合于一卡一用。

二、主要指标

l  容量为384位

l  16位的数值计算

l  128位的数据区(如果不用钱包文件可达192位)

l  用户可自定义控制权限

l  唯一的32位序列号

l  工作频率:13.56MHZ

l  通信速率:106KB波特率

l  防 冲 突:同一时间可处理多张卡

l  读写距离:在10cm以内(与天线有关)

l  卡内无需电源

三、存储结构

ML卡共384位,分为12页,每页为4个字节。存储结构如下:

页号

字节0

字节1

字节2

字节3

 

0

 SerNr(0)

SerNr(1)

SerNr(2)

SerNr(3)

Block 0

1

SerNr(4)

Size Code

Type(0)

Type(1)

2

Data(0)

Data(1)

Data(2)

Data(3)

Data1

3

Data(4)

Data(5)

Data(6)

Data(7)

4

Value(0)

Value(1)

Value_b(0)

Value_b(1)

Value

5

Value(0)

Value(1)

Value_b(0)

Value_b(1)

6

KeyA(0)

KeyA(1)

KeyA(2)

KeyA(3)

KeyA

7

KeyA(4)

KeyA(5)

AC-A

AC-A_b

8

KeyB(0)

KeyB(1)

KeyB(2)

KeyB(3)

KeyB

9

KeyB(4)

KeyB(5)

AC-B

AC-B_b

A

Data(0)

Data(1)

Data(2)

Data(3)

Data2

B

Data(4)

Data(5)

Data(6)

Data(7)

                     ( 注:_b表示取反  )

1)  第0、1页存放着卡的序列号等信息,只可读。

2)  第2、3页及A、B两页数据块,可存贮一般的数据。

3)  和4、5页为数值块,可作为钱包使用,两字节的值以正和反两种形式存贮。只有减

值操作,没有加值操作。如果不做钱包使用,则可以做为普通的数据块使用。

4)第6、7、8、9页存储着密码A(6字节)、密码B(6字节)及存取控制。

5)第7页的2字节、第9页的2字节为存储控制,存储控制以正和反的形式存两次。

 

Bit 7

---

Bit 6

---

Bit 5

Data2—Write –Enable

Bit 4

Data2—Read—Enable

Bit 3

Key+AC—Write—Enable

Bit 2

Value—Write—Enable

Bit 1

Data1—Write—Enable

Bit 0

Data1—Read—Enable

例如:AC-A的初始值为ff,即‘11111111’,即:

      Data1:可读、可写;

      Value:可写;

      AC-A:可写;

      Data2:可读、可写;

6)一次写一页(4个字节),一次读两页(8个字节)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值