NFC读写器用户手册.pdf

上传人:tbuqq 文档编号:5434982 上传时间:2020-05-11 格式:PDF 页数:19 大小:311.19KB
返回 下载 相关 举报
NFC读写器用户手册.pdf_第1页
第1页 / 共19页
NFC读写器用户手册.pdf_第2页
第2页 / 共19页
NFC读写器用户手册.pdf_第3页
第3页 / 共19页
NFC读写器用户手册.pdf_第4页
第4页 / 共19页
NFC读写器用户手册.pdf_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《NFC读写器用户手册.pdf》由会员分享,可在线阅读,更多相关《NFC读写器用户手册.pdf(19页珍藏版)》请在三一文库上搜索。

1、粤之瑞科技 (深圳) 有限公司 1 / 19 NFC读写器用户手册 粤之瑞科技(深圳)有限公司 粤之瑞科技 (深圳) 有限公司 2 / 19 文档修订记录 序号变更( +/- )说明作者版本号日期批准 1 制定文档粤之瑞V1.0 粤之瑞科技 (深圳) 有限公司 3 / 19 目录 1.概述 . 4 2.符合标准 . 4 3.基本特征 . 4 3.1. 硬件构成 . 5 3.2. 通信方式 . 5 3.3. NFC 读写器和终端设备的连接. 6 3.4. NFC 读写器的取电模式. 6 4.通信协议 . 6 4.1.物理层 . 6 4.2.链路层 . 6 4.2.1.通讯数据包定义 6 4.2.

2、2. 协议描述 7 4.3.数据单元格式. 8 4.3.1.命令单元格式 . 8 4.3.2.应答单元格式 . 8 5.读写器操作指令. 9 5.1 NFC 卡片操作指令 9 5.1.1. 连接 NFC 卡片 9 5.1.2. 断开 NFC 卡片连接 11 5.1.3. 操作 NFC 卡片数据 11 6.操作流程 . 13 7.使用示例 . 14 7.1.TypeB 卡读写(卡片为二代身份证) . 14 7.2.TpyeA CPU 卡读写(卡片为银行卡) 15 7.3.Mifare 卡读写 . 16 7.4.FeliCa 卡读写 . 17 8.常见问题解答. 18 9.定制开发 . 18 10

3、.联系我们 . 19 粤之瑞科技 (深圳) 有限公司 4 / 19 1. 概述 本文档适用于使用NFC 读写器(以下简称读写器)进行终端开发的用户。 终端开发者通过发送串口命令的方式操作读写器与NFC 卡进行数据交换,从而 进行增值应用开发。通过阅读本文档,终端开发者可以在无需考虑NFC 通信实 现细节情况下, 借助读写器来迅速创建、 或改造现有系统使之适合NFC卡应用。 2. 符合标准 ISO/IEC14443 Type A 、B、FeliCa 、 ISO/IEC10892 3. 基本特征 读写器的基本特征见下表: 射频工作频率13.56MMHz 射频有效操作距离10cm 串口波特率1152

4、00 bps( 默认 ) 供电电源DC 5V 读写器消耗电流150mA 通讯接口UART 工作温度-20 65 工作湿度相对湿度 0 95 尺寸84.9mm 64.9mm 粤之瑞科技 (深圳) 有限公司 5 / 19 3.1. 硬件构成 1)安全主控,完成读写器内部各接口的控制和安全管理功能; 2)NFC驱动模块,主要负责完成与NFC卡的射频通信功能; 读写器内部结构逻辑如下图所示: 安全主控 NFC 驱 动模块 天线 NFC 读写器模块 终端设备NFC 卡 UART 空中接 口 图 1 读写器内部结构逻辑图 3.2. 通信方式 读写器与 NFC卡、终端设备的通信方式如下图所示: NFC卡读写

5、器终端设备NFC卡 PSAM 读写器串行接口协议空中接口协议 图 2 读写器与外部的通信方式 读写器与终端设备之间采用UART接口通讯,由终端设备实现所有业务逻辑。 粤之瑞科技 (深圳) 有限公司 6 / 19 3.3. NFC 读写器和终端设备的连接 NFC 读写器终端设备 VccVcc RX RXTX TX GNDGND UART 图 3-读写器与终端设备的UART接口连接示意图 3.4. NFC 读写器的取电模式 NFC读写器直接从其嵌入的终端设备(如金融POS 、闸机等)取电,最大取 电电流 150mA。 4. 通信协议 4.1. 物理层 读写器采用终端设备串口供电或单独外部供电方式,

6、电压5V。读写器串口 与终端设备串口相连,采用3.3V CMOS电平,异步全双工通讯,波特率默认为 115200bps。数据格式为 1 位起始位、 8 位数据位和 1 位停止位,无校验位。 终端设备向读写器发送命令时, 在同一个命令内, 相连两个发送字符之间的 间隔不应大于 10 个字符时间,否则读写器可能会认为命令超时导致无任何响应。 4.2. 链路层 4.2.1. 通讯数据包定义 通信数据包如下图所示: STX(0x02)Len_HiLen_LowDataLRCETX(0x03) 粤之瑞科技 (深圳) 有限公司 7 / 19 通讯数据包项目、长度、含义说明对应见下表: 通讯数据包项目含义一

7、览表 序号项 目长度(字节)说明 1 数据包头( STX )1 常量: 0x02 2 数据单元长度(Len)2 需传输的数据单元Data 部分的长度,高 字节在前,低字节在后。 例如: 0x0010 表示 Data 部分有 16 个字 节。 3 需传输的数据单元 (Data) 不定 长度由 Len 指出,数据单元头两个字节是 命令码 (终端发送命令到读写器)或状态 码(读写器返回数据给终端),后面是其 它参数。 4 冗余检验值(LRC )1 Data 部分数据各字节异或值。 5 数据包尾( ETX )1 常量: 0x03 数据包总长度为:Len + 5字节,最长不能超过512 字节。 4.2.

8、2. 协议描述 终端设备首先发送一个命令数据包, 发送完成后等待来自读写器的应答数据 包。 NFC读写器正确收到命令数据包后,便执行命令,然后回应应答数据包。 如果终端设备在规定的最长时间内未能收到正确的应答数据包,便结束本 次数据通讯,并提示出错信息。 粤之瑞科技 (深圳) 有限公司 8 / 19 4.3. 数据单元格式 4.3.1.命令单元格式 终端设备向读写器发送的数据包称为命令数据包,命令数据包的格式如下图 所示: CommandHCommandLCommand ParamSTX(0x02)Len_HiLen_LowLRCETX(0x03) 命令单元格式见下表: 命令单元格式一览表 项

9、目长度说明 CommandH 1字节命令类别 CommandL 1字节命令代码 【参数】不定长命令参数,不是所有命令都有 4.3.2.应答单元格式 读写器向 POS机发送的数据包称为应答数据包,如下图所示: StatusHStatusLStatus DataLRCETX(0x03)STX(0x02)Len_HiLen_Low 应答单元格式见下表: 应答单元格式一览表 项目长度说明 StatusH 1 字节状态码高字节 StatusL 1 字节状态码低字节 【数据】不定长应答数据,不是所有应答都有 粤之瑞科技 (深圳) 有限公司 9 / 19 5. 读写器操作指令 5.1 NFC 卡片操作指令

10、5.1.1. 连接 NFC 卡片 本命令用于要求读写器在DelayTime时间内查寻 NFC卡片是否进入感应区, 并连接进入感应区的NFC卡片。 命令数据单元: 命令数据单元含义一览表 标识内容说明 CommandH A2H 卡片操作命令类别 CommandL 31H 连接 NFC卡片命令代码 DelayTime 2 字节 等待卡进入感应区时间,高位在前,低位 在后。为 0 时:感应区无卡直接返回失败; 为 0xFFFF时,一直寻卡,直到卡进入感应 区; 其它值时:在DelayTime 毫秒时间内一直 判断卡是否进入感应区 应答数据单元: 应答数据单元含义一览表 标识内容说明 Status 0

11、0H, 00H 连接成功 ,此时返回有后续数据 A0H, 01H 读写器已连接, 或 Delaytime 设置为 00 时 连接失败返回 A0H, 06H 在 Delaytime 时间内连接卡片失败返回 A0H, 07H 命令数据错误 CardType 3 字节当前连接的NFC卡片类型 粤之瑞科技 (深圳) 有限公司 10 / 19 Len 1 字节卡序列号长度(连接成功才返回) Data Len字节卡序列号(连接成功才返回) CardType : Byte0 Byte1 Byte2 说明 03H 00H 04H ISO/IEC14443 Type A CPU 卡 02H 00H 00H IS

12、O/IEC14443 Type B 卡 01H 00H 00H FeliCa 卡 00H 00H 10H Mifare1 light 00H 08H Mifare Pro 00H 04H Mifare1 S50 00H 02H Mifare1 S70 00H 44H Mifare0 Ultralight 03H 44H Mifare3 Desfire 00H 42H Mifare PlusX Len: 1)当前连接的卡片是ISO/IEC14443 Type A 卡、FeliCa卡时,Len为 UID的长 度。 2)当前连接的卡片是ISO/IEC14443 Type B 卡时, Len为 ATQ

13、B的长度。 Data: 3)当前连接的卡片是ISO/IEC14443 Type A 卡、FeliCa卡时, Data为 UID。 4)当前连接的卡片是ISO/IEC14443 Type B 卡时, Data 为 ATQB 如果 DelayTime参数为 0,在无卡处于读写器感应区时,读写器不用等待直 接返回“连接失败”;如果 DelayTime参数为 0xFFFF 时,一直寻卡,直到卡进入感 应区; 如果 DelayTime参数为其它值时,读写器可在 DelayTime时间内一直寻卡, 直到超时了才返回“连接失败” 。任意 DelayTime 内,如果有卡在感应区但连接 失败,那么读写器不用继

14、续寻卡就直接返回“连接失败”。 当读写器成功连接卡片后,除非1)执行断开连接命令; 2)读写器重新上 粤之瑞科技 (深圳) 有限公司 11 / 19 电,否则读写器对终端再次发送的连接卡片命令均会返回连接失败响应。 5.1.2. 断开 NFC 卡片连接 该命令要求读写器断开与卡的连接。 命令数据单元: 命令数据单元含义一览表 标识内容说明 CommandH A2H 卡片操作命令类别 CommandL 32H 断开连接命令代码 DelayTime 2 字节 等待卡拿离感应区时间,高位在前,低 位在后,参数说明见备注 应答数据单元: 应答数据单元含义一览表 标识内容说明 Status 00H, 0

15、0H 命令执行正确 注:只要发送关闭卡命令,一定返回成功。 5.1.3. 操作 NFC 卡片数据 传输通讯链路建成后, 终端设备和读写器通过该命令开始应用层的APDU命 令的传送。 命令数据单元: 命令数据单元含义一览表 标识内容说明 CommandH A2H 卡片操作命令类别 CommandL 33H 操作卡片数据命令代码 NFC-APDU NFC_len253bytes 与 NFC卡片交互数据,数据格式说明见 表后 应答数据单元: 粤之瑞科技 (深圳) 有限公司 12 / 19 应答数据单元含义一览表 标识内容说明 Status 00H, 00H 卡片正常传回数据 A0H, 02H 读写器

16、处于未连接状态 A0H, 06H 发送或接收超时或者Mifare 卡指令操作 失败 A0H, 07H 操作卡片数据出现错误,不允许空数据 操作 A0H, 08H Mifare 卡不支持的命令格式 NFCR-APDU NFC_LEN254 响应应用协议数据单元,只有Status 返 回 00 时有效 只有在 Status为 00H 00H 的情况下才会有 NFCR-APDU 数据单元,其他情况 是由于卡片无法正常返回数据,所以无NFCR-APDU 。 当 NFC卡为标准的 CPU卡时,关于 NFC-APDU 和 NFCR-APDU 数据格式请参 考 ISO/IEC 7816 规范。 注意:本指令

17、响应返回的时间会根据卡片对相应命令处理时间长短决定,读 写器会等待卡片响应返回后将结果返回给终端。 NFC-APDU 格式说明: (1) 当前连接的卡是标准的TpyeA CPU 卡时,数据格式请参考ISO/IEC 7816 规 范,具体指令集参考该CPU卡的应用规范,如PBOC3.0 ,PBOC2.0等 (2) 当前连接的卡是标准的TpyeB CPU 卡时,数据格式请参考ISO/IEC 7816 规 范,具体指令集参考该CPU卡的应用规范。 (3) 当前连接的卡是 FeliCa卡时,数据格式请参考FeliCa指令集 (4)当前连接的卡是 Mifare 卡(包括 standard 和 Ultra

18、light)遵循以下的数据格 式。Mifare Standard卡命令集: cmd add data response 说明 0x60 1byte keyA (6bytes) UID (4bytes) 0x00:执行正确 Error(1byte) :出错 验证 keyA 粤之瑞科技 (深圳) 有限公司 13 / 19 0x61 1byte keyB (6bytes) UID (4bytes) 0x00:执行正确 Error(1byte) :出错 验证 keyB 0x30 1byte Val(16bytes): 执行正确 Error(1byte) :出错 读 Block 0xA0 1byte 1

19、6bytes 0x00:执行正确 Error(1byte) :出错 写 Block 0xC1 1byte 16bytes 0x00:执行正确 Error(1byte) :出错 增值 0xC0 1byte 16bytes 0x00:执行正确 Error(1byte) :出错 减值 0xB0 1byte 0x00:执行正确 Error(1byte) :出错 Transfer 0xC2 1byte 0x00:执行正确 Error(1byte) :出错 Restore 注:Addr=4*扇区号 +块号 增值和减值命令的data 域数据结构如下: Byte 03 47 811 12 13 14 15 V

20、al Val 取反Val Addr !Addr Addr !Addr Mifare Ultralight 卡命令集: cmd add data response 说明 0x30 1byte Val(16bytes): 执行正确 Error(1byte) :出错 读 Block 0xA0 1byte 4bytes 0x00:执行正确 Error(1byte) :出错 写 Block 6. 操作流程 本节描述常见操作的建议流程,用户可参照本节来设计通过读写器和NFC 卡的数据交换。 一个基于读写器的完整操作包括两个过程:终端对读写器发送命令的过程和 读写器对终端发送命令的应答过程。 每一次的操作都

21、必须顺序的完成这一个来回。 建议使用如下的操作流程: 粤之瑞科技 (深圳) 有限公司 14 / 19 发送连接卡 命令 连接成功? 正常 APDU 交互 发送断开连 接命令 N Y 开始 结束 7. 使用示例 以下是终端通过 Uart 口操作读写器的示例:读取 TypeB卡, TypeA CPU 卡, Mifare 卡,FeliCa卡。 7.1. TypeB 卡读写(卡片为二代身份证) 终端发送: 02 00 04 a2 31 00 00 93 03/ 连接卡片指令,DelayTime=0 读写器返回: 02 00 12 00 00 02 00 00 0C 50 00 00 00 00 D1

22、03 86 07 00 80 90 1D 03 粤之瑞科技 (深圳) 有限公司 15 / 19 说明:黄色部分为NFC卡类型,表明是 TypeB卡,绿色部分为 ATQB 终端发送: 02 00 07 a2 33 00 36 00 00 08 AF 03/ 读取 8 字节序列号指令 说明:红色部分为二代身份证读取序列号指令 读写器返回: 02 00 0C 00 00 41 0A 6B 03 05 B5 8C 6D 90 00 E2 03 说明:绿色部分为二代身份证返回的8 字节序列号, 后面 90 00为 CPU卡的的状 态字,表示命令正确执行,可以参考ISO/IEC 7816规范 终端发送:

23、02 00 07 a2 33 00 84 00 00 08 1D 03/ 读取 8 字节随机数指令 说明:红色部分为二代身份证取随机数指令 读写器返回: 02 00 0C 00 00 22 55 B9 60 6D 88 61 3F 90 00 85 03 说明:绿色部分为二代身份证返回的8 字节随机数, 后面 90 00为 CPU卡的状态 字,表示命令正确执行,可以参考ISO/IEC 7816规范,每次发送该指令返回的随 机数不同,所以才是随机数。 终端发送: 02 00 04 a2 32 00 00 90 03 / 断开卡连接指令 读写器返回: 02 00 02 00 00 00 03 7.

24、2. TpyeA CPU 卡读写(卡片为银行卡) 备注:银行卡需要有 ” Quick Pass ” 闪付标志 终端发送: 02 00 04 a2 31 00 00 93 03/ 连接卡片指令 读写器返回: 02 00 0A 00 00 03 00 04 04 4C 37 28 51 01 03 说明:黄色部分为NFC卡类型,表明是 TypeA CPU 卡,绿色部分为UID 粤之瑞科技 (深圳) 有限公司 16 / 19 终端发送: 02 00 09 a2 33 00 a4 00 00 02 3f 00 08 03/ 选择文件指令 说明:红色部分为CPU卡选择主文件指令 读写器返回: 02 00

25、 1B 00 00 6F 15 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 03 88 01 01 90 00 29 03 说明:绿色部分为选择3F 00文件后返回的控制信息数据,后面90 00为 CPU卡 的状态字,表示命令正确执行,可以参考ISO/IEC 7816规范 终端发送: 02 00 07 a2 33 00 84 00 00 08 1D 03/ 读取 8 字节随机数指令 说明:红色部分为CPU卡取随机数指令 读写器返回: 02 00 0C 00 00 B4 44 E6 52 CA 90 EF F2 90 00 93 03 说

26、明:绿色部分为 CPU卡返回的 8 字节随机数,后面 90 00 为 CPU卡的状态字, 表示命令正确执行, 可以参考 ISO/IEC 7816规范,每次发送该指令返回的随机数 不同,所以才是随机数。 终端发送: 02 00 04 a2 32 00 00 90 03 / 断开卡连接指令 读写器返回: 02 00 02 00 00 00 03 7.3. Mifare卡读写 终端发送: 02 00 04 a2 31 00 00 93 03/ 连接卡片指令 读写器返回: 粤之瑞科技 (深圳) 有限公司 17 / 19 02 00 0A 00 00 00 00 04 04 7C 0C 5E 6D 43

27、 03 说明:黄色部分为NFC卡类型,表明是 Mifare 卡,绿色部分为UID 终端发送: 02 00 0E a2 33 60 07 FF FF FF FF FF FF 7C 0C 5E 6D B5 03/验证 keyA命令 说明:红色部分为Mifare 卡验证 keyA的命令 读写器返回: 02 00 02 00 00 00 03 说明: Mifare 验证 KeyA没有返回值,绿色状态字00 00 表明验证成功,否则状 态字节为 A0 06 终端发送: 02 00 04 a2 33 30 04 A5 03/ 读 Block指令 说明:红色部分为Mifare 卡读 Block命令 读写器返

28、回: 02 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 说明:黄色状态字00 00 表明读取 Block命令执行成功,绿色部分读出的16 字 节的值, 终端发送: 02 00 04 a2 32 00 00 90 03 / 断开卡连接指令 读写器返回: 02 00 02 00 00 00 03 7.4. FeliCa 卡读写 终端发送: 02 00 04 a2 31 00 00 93 03/ 连接卡片指令 读写器返回: 粤之瑞科技 (深圳) 有限公司 18 / 19 02 00 0E 00 00 01 00

29、00 08 01 01 06 01 58 0E 6E 31 07 03 说明:黄色部分为NFC卡类型,表明是 FeliCa卡,绿色部分为UID 8. 常见问题解答 1)将读写器连接到终端后,无论终端发送任何命令,读写器均无响应。 a)确保终端能给读写器提供5V 150mA的工作电流; b)确保终端的 UART接口能够兼容 3.3VCMOS电平; c)确保终端的 UART接口 TX连接到读写器的 RX ,终端的 UART接口 RX连 接到读写器的 TX; d)串口设置的波特率是否正确。默认情况下,读写器的串口波特率为 115200; 2)终端发送短的命令时,读写器有回应,但是终端发送长的命令时,

30、读写器没 有回应。 a)确保发送长命令时,命令的总字节数不超过512 字节; b)确保发送同一个命令的过程中,两个连续的字符之间的间隔不大于10 个字符时间; c)终端采取先发送STX ,LEN ,DATA ,然后计算 LRC ,再发送 LRC和 ETX的 方式,则有可能在计算LRC时时间较长,导致超过上述限制,被读写器 认为是非法的指令而不作任何响应; d)检查终端的串口波特率是否有偏差。 9. 定制开发 读写器内置安全芯片,集成了DES/3DES ,RSA等算法模块,可以支持: 1、读写器认证密钥灌入,只允许读写器厂家自己认证后才能使用该读写器 2、对储存类卡片数据加密,如Mifare 系列卡、 NTAG系列标签,可以自动把存 储数据加密后再发送给卡片存储,达到防止别人破解卡片的目的 粤之瑞科技 (深圳) 有限公司 19 / 19 3、其他更多的个性化需求 10. 联系我们 公司名称:粤之瑞科技(深圳)有限公司 公司地址:深圳市南山区月亮湾大道2076 号中国高科大厦 7 楼 78025 联系人:杨经理 电话:15813726670 邮箱:S QQ:2425053909 (NFC读写器交流 )

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1