RC522读卡器 M1卡 学习总结(一)

一、  MIFARE S50卡介绍

    1、  MIFARE S50卡的容量为1K字节EEPROM,分16个扇区,每个扇区为4个块,以块为存取单位,每块16个字节。

    2、  M1卡的性能指标

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

       每张卡有唯一序列号, 为32位(4 Bytes )。

       工作频率:13.56MHz,通信速率,106KBps。

       遵从ISO/IEC 1444A标准的第2部分和第3部分。

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

     3、M1卡存储结构

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

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

          每个扇区的块3为控制块,包括了密码A,存取控制,密码B。

         数据块可为两种应用:

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

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

     

 数值块结构:

 

字节号   1  2  3  4  5  6  7  8  9 10  11  12   13 14  15 
 描述   value  value  value  addr addr   addr  addr

注意:值(带有下划线):两次正值,一次取反;地址:两次正值,两次取反。

 

     4、存取控制 

控制块具体结构如下:

 

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

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

 

       扇区中的每个块(保存数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:

                          块0:    C10   C20   C30

                          块1:    C11   C21   C31

                          块2:    C12   C22   C33

                          块3:    C13   C23   C33

      存取控制的4个字节与存取控制位关系如下:

 

 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  0  1  1  0  1  0  0  1
注意:_b表示取反

例如:        FF  07  80  69的二进制码如下:

    FF          1111  1111

    07          0000  0111 

    80          1000  0000

    69          0110  1001           从中可以提取出各个控制位如下:

    块0:          000

    块1:          000
    块2:          000
    块3:          001

  

数据块的控制位与访问条件:

  控制位

         访问条件(验证哪个密码)

C1

C2

C3

 

 

加值

减值(含传输和存储)

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

 

 

 

 

 

 

 

 

 

 

 

 控制块(每个扇区的区尾块)的存取控制如下表所示:

控制位

密码A

存取控制

密码B

C1

C2

C3

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

 

根据这两个表可知存取控制FF 07 80 69 的控制位000(数据块),和001(控制块)的权限,即

对块0,1,2 :

0

0

0

KeyA|B

KeyA|B

KeyA|B

KeyA|B

 

 

对块3:

0

0

1

Never

KeyA

KeyA

KeyA

KeyA

KeyA


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值