shootingstars

菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。尘埃乃虚幻,亦何惧之来?

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Mifare卡是一种非接触式的智能卡,我们了解他们的相关协议。

表一

命令格式如下:

协议头(Head):2字节,固定填充0xAA,0xBB

长度(Length):2字节,从此列后的所有有效字节数(包含XOR)

节点ID(Node ID):2字节,目标节点地址数

函数码(Function code):2字节,函数功能码,另见表三

数据(Data):00~D0字节,数据位

异或(XOR):1字节,从节点ID到最后一个自己的数据的异或值

 

表二

回复格式如下:

协议头(Head):2字节,固定填充0xAA,0xBB

长度(Length):2字节,从此列后的所有有效字节数(包含XOR)

节点ID(Node ID):2字节,目标节点地址数

函数码(Function code):2字节,函数功能码,另见表三

状态(Status):成功为0,其余的值为失败

数据(Data):00~D0字节,数据位

异或(XOR):1字节,从节点ID到最后一个自己的数据的异或值

 

 

 表三

函数码列表:

1、 Initialize port :0x0101
2、 Set device node number : 0x0102
3、 Read device node number : 0x0103
4、 Read device Mode : 0x0104
5、 Set buzzer beep: 0x0106
6、 Set Led color : 0x0107
7、 Set reader working status : 0x0108
8、 Set antenna status 。0x010c
9、 Mifare Reauest , 0x0201
10、 Mifare anticollision , 0x0202:
11、 Mifare Select 0x0203:
12、 Mifare Hlta , 0x0204:
13、 Mifare Authentication1 0x0206 :
14、 Mifare Authentication2 0x0207:
15、 Mifare Read 0x0208:
16、 Mifare Write 0x0209:
17、 Mifare Initval 0x020A:
18、 Mifare Read Balance 0x020B:
19、 Mifare Decrement 0x020C:
20、 Mifare Increment 0x020D:
21、 Mifare Restore 0x020E:
22、 Mifare Transfer 0x020F
23、 Mifare UltraLight Anticoll 0x0212:
24、 Mifare UltraLight Write 0x0213:
25、 Write key store in RC500 EEPROM 。

 

读取卡号流程:

1 设置串口波特率,参数如下:

Baud rate: 19200 bps
Data: 8 bits
Stop: 1 bit
Parity: None

2  打开天线

发送命令0x010c,数据1(打开天线)到串口

3 请求卡类型

发送命令0x0201,数据0x52到串口

 4 读取卡信息

发送命令0x202到串口

 

完成后,读取串口返回信息即可。

详细信息文档:/Files/shootingstars/MifarMifareProtocol.rar

posted on 2009-12-15 15:18  shootingstars  阅读(1497)  评论(0编辑  收藏  举报