一、主要指标

 

;容量为8K位EEPROM

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

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

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

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

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

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

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

;工作频率:13.56MHZ

;通信速率:106KBPS

;读写距离: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。具体结构如下:

   

 

           密码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

字节6C20_bC10_b

字节7C10C30_b

字节8C30C20

字节9

               ( 注: C10_b表示C10取反 )

 

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

         bit  7    6      5       4     3      2      1      0

字节6C23_bC22_bC21_bC20_bC13_bC12_bC11_bC10_b

字节7C13C12C11C10C33_bC32_bC31_bC30_b

字节8C33C32C31C30C23C22C21C20

字节9

                    ( 注: _b表示取反 )

 

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

 

 控制位(X=0..2)

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

C1XC2XC3X Read Write IncrementDecrement, transfer,

Restore

000KeyA|BKeyA|BKeyA|BKeyA|B

010KeyA|BNeverNeverNever

100KeyA|BKeyBNeverNever

110KeyA|BKeyBKeyBKeyA|B

001KeyA|BNeverNeverKeyA|B

011KeyBKeyBNeverNever

101KeyBNeverNeverNever

111NeverNeverNeverNever

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

 

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

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

 

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

 

密码A存取控制密码B

C13C23C33ReadWrite ReadWriteReadWrite

000NeverKeyA|BKeyA|BNeverKeyA|BKeyA|B

010NeverNeverKeyA|BNeverKeyA|BNever

100NeverKeyBKeyA|BNeverNeverKeyB

110NeverNeverKeyA|BNeverNeverNever

001NeverKeyA|BKeyA|BKeyA|BKeyA|BKeyA|B

011NeverKeyBKeyA|BKeyBNeverKeyB

101NeverNeverKeyA|BKeyBNeverNever

111NeverNeverKeyA|BNeverNeverNever

  例如:当块3的存取控制位C13 C23 C33=1 0 0时,表示:

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

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

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

 

三、工作原理

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

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

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

     8K位EEPROM组成。

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

 

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

  改变扇区

 

 不改变扇区

 

 

 

 

 

 

复位应答(Answer to request)

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

 

防冲突机制 (Anticollision Loop)

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

 

选择卡片(Select Tag)

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

 

三次互相确认(3 Pass Authentication)

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

 

对数据块的操作 

读 (Read):读一个块;

写 (Write):写一个块;

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

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

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

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

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