tag 标签: mf1s50

相关博文
  • 热度 13
    2013-4-28 09:40
    2815 次阅读|
    0 个评论
    公司有产品需求非接触式卡,利用RFID模块进行读写。找了ZLG的ZLG522ST模块和开发板,进行测试。利用ZLG的Demo软件进行读写操作。 MF1S50卡片的内部EEPROM结构如下,共有16个扇区,每个扇区4块,每块大小16字节,其中3个数据块以及1个控制块。控制块包括了6字节的密码A4字节的存取控制以及6字节的密码B。 密码A、密码B以及存取控制决定了对块0~2的数据的操作。存取控制4个字节也能觉得块3中密码A、B以及存取控制的设置。 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。在 存取控制 中每个块都有相应的三个 控制位 ,定义如下:           块0:   C10   C20   C30           块1:   C11   C21   C31           块2:   C12   C22   C32           块3:   C13   C23   C33     三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节中的位置如下(字节9为备用字节,默认值为0x69):     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   (注: _b表示取反) 其中,黑色区控制 块3 ,蓝色区控制 块2 ,绿色区控制 块1 ,红色区控制 块0 。 数据块 (块0、块1、块2)的存取控制如下:   控制位(X=0..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 C20 C30=100时,验证密码A或密码B正确后可读;验证密码B正确后可写;不能进行加值、减值操作。      控制块 (块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 C23 C33=100时,表示:   密码A:  不可读,验证KEYB正确后,可写(更改)。   存取控制:验证KEYA或KEYB正确后,可读不可写。   密码B:  不可读,验证KEYB正确后,可写。