- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RFID非接触式IC卡读写器用户手册ISOAV
RFID非接触式IC卡读写器用户手册
V1.02
1、通信协议描述
1.1 协议概述
该协议是上位机与读写器之间的通讯协议。通讯的格式是:1位起始位,1位长度标志位,若干数据位,1位异或校验位,1位结束位。通讯的最大长度为64字节。
1.2 字符定义
字符
数值
定义
STX
0x02
通讯开始
LEN
-
数据长度
DATA
-
数据
BCC
-
异或校验
ETX
0x03
通讯结束
1.3 通讯过程示意图
1.4 数据格式
Command(2 bytes)
Data[0]……Data[m]
2、指令集
2.1 指令一览表
指令码
功能
0xC001
寻卡(ISO/IEC15693)
0xC005
读取某一块的信息(ISO/IEC15693)
0xC006
将信息写入某一块(ISO/IEC15693)
0xC007
将某一块锁定(ISO/IEC15693)
0xC008
写入AFI(ISO/IEC15693)
0xC009
锁定AFI(ISO/IEC15693)
0xC00A
写入DSFID(ISO/IEC15693)
0xC00B
锁定DSFID(ISO/IEC15693)
0xC00C
获取系统信息(ISO/IEC15693)
0x3224
寻卡(ISO/IEC14443A存储卡)
0x3225
休眠卡片(ISO/IEC14443A存储卡)
0x3241
激活卡片(ISO/IEC14443A存储卡)
0x3243
读取某一块的信息(ISO/IEC14443A存储卡)
0x3244
将信息写入某一块(ISO/IEC14443A存储卡)
0x3245
读余额(ISO/IEC14443A存储卡)
0x3246
写入余额(ISO/IEC14443A存储卡)
0x3247
余额加值(ISO/IEC14443A存储卡)
0x3248
余额减值(ISO/IEC14443A存储卡)
0x324B
卡片复位(ISO/IEC14443A智能卡)
0x324C
发送应用命令(ISO/IEC14443A智能卡)
2.2 状态返回值
返回值
意义
0x0000
操作成功
0xFFFF
操作失败
3、二次开发接口函数说明
3.1 适用于符合ISO/IEC14443A标准的存储卡的接口函数
3.1.1 Mifare S50/S70卡片特性
S50具有1K字节的EEPROM,S70具有4K字节的EEPROM
S50分为16个扇区,每个扇区包括4块,每块16个字节,以块为存取单位
S70分为40个扇区,共256个块,每块16个字节,以块为存取单位
用户可自定义每个存储块的访问条件
每张卡有唯一序列号,为32位
具有防冲突机制,支持多卡操作
非接触传送数据和无源
至少10年数据保存期
至少10万次擦写
读写距离在100mm内
工作频率为13.56MHz
3.1.2 函数使用注意事项
该二次开发接口函数库提供用于下发命令至读写器的函数,这些函数能够控制读写器对卡片进行寻卡及读写操作。
在对卡片进行操作前必须先寻卡,寻卡成功后才能对卡片进行后续操作。卡片的读写操作是以块为单位,每块为16个字节。不同扇区可以用不同的密钥进行认证,每个扇区又可以使用A密钥或B密钥进行认证。
3.1.3 函数说明
(1)寻卡
int find_14443(BYTE* type, BYTE* card_uid );
////////////////////////////////////////////////////////////////////////////////////////////////////////
//功能: 寻卡
//
//入口参数:
//
//出口参数: type,指示寻卡成功的卡片为A类卡或是B类卡
// card_uid,指示用于存放UID的起始地址
//
//返回值: 返回0,通信失败
// 返回1,操作成功
// 返回0xff,操作失败
//
//说明: 获取卡片UID
//////////////////////////////////////////////////////////////////////////////////////////////////////
(2)HALT卡
int set_halt();
////////////////////////////////////////////////////////////////////////////////////////////////////////
//功能: 使卡片休眠
//
//入口参数:
//
//出口参数:
//
//返回值:
文档评论(0)