NFC读写器用户手册

上传人:无*** 文档编号:135972261 上传时间:2022-08-16 格式:DOC 页数:19 大小:886.50KB
返回 下载 相关 举报
NFC读写器用户手册_第1页
第1页 / 共19页
NFC读写器用户手册_第2页
第2页 / 共19页
NFC读写器用户手册_第3页
第3页 / 共19页
点击查看更多>>
资源描述
粤之瑞科技 (深圳) 有限公司NFC读写器用户手册粤之瑞科技(深圳)有限公司1 /19粤之瑞科技 (深圳) 有限公司文档修订记录序号变更( +/- )说明作者版本号日期批准1制定文档粤之瑞V1.02 /19粤之瑞科技 (深圳) 有限公司目录1.概述 .42.符合标准 .43.基本特征 .43.1.硬件构成 .53.2.通信方式 .53.3.NFC 读写器和终端设备的连接 .63.4.NFC 读写器的取电模式 .64.通信协议 .64.1.物理层 .64.2.链路层 .64.2.1.通讯数据包定义 .64.2.2. 协议描述 .74.3.数据单元格式 .84.3.1.命令单元格式 .84.3.2.应答单元格式 .85.读写器操作指令 .95.1 NFC 卡片操作指令 .95.1.1. 连接 NFC 卡片 .95.1.2. 断开 NFC 卡片连接 .115.1.3. 操作 NFC 卡片数据 .116.操作流程 .137.使用示例 .147.1.TypeB 卡读写(卡片为二代身份证).147.2.TpyeA CPU 卡读写(卡片为银行卡) .157.3.Mifare 卡读写 .167.4.FeliCa 卡读写 .178.常见问题解答 .189.定制开发 .1810.联系我们 .193 /19粤之瑞科技 (深圳) 有限公司1. 概述本文档适用于使用NFC 读写器(以下简称读写器)进行终端开发的用户。终端开发者通过发送串口命令的方式操作读写器与NFC 卡进行数据交换,从而进行增值应用开发。通过阅读本文档,终端开发者可以在无需考虑NFC 通信实现细节情况下,借助读写器来迅速创建、 或改造现有系统使之适合NFC卡应用。2. 符合标准 ISO/IEC14443 Type 、A B、 FeliCa、 ISO/IEC108923. 基本特征读写器的基本特征见下表:射频工作频率13.56MMHz射频有效操作距离10cm串口波特率115200 bps( 默认 )供电电源DC 5V读写器消耗电流150mA通讯接口UART工作温度-20 65工作湿度相对湿度 0 95尺寸84.9mm 64.9mm4 /19粤之瑞科技 (深圳) 有限公司3.1. 硬件构成1) 安全主控,完成读写器内部各接口的控制和安全管理功能;2) NFC驱动模块,主要负责完成与 NFC卡的射频通信功能;读写器内部结构逻辑如下图所示:NFC 读写器模块终端设备UARTNFC 驱天线空中接 口NFC 卡安全主控动模块图 1 读写器内部结构逻辑图3.2. 通信方式读写器与 NFC卡、终端设备的通信方式如下图所示:NFC 卡空中接口协议NFC 卡读写器读写器串行接口协议终端设备PSAM图 2 读写器与外部的通信方式读写器与终端设备之间采用UART接口通讯,由终端设备实现所有业务逻辑。5 /19粤之瑞科技 (深圳) 有限公司3.3. NFC 读写器和终端设备的连接VccUARTVccRXTXNFC读写器终端设备TXRXGNDGND图 3-读写器与终端设备的UART接口连接示意图3.4. NFC 读写器的取电模式NFC读写器直接从其嵌入的终端设备(如金融POS、闸机等)取电,最大取电电流 150mA。4. 通信协议4.1. 物理层读写器采用终端设备串口供电或单独外部供电方式,电压5V。读写器串口与终端设备串口相连,采用3.3V CMOS电平,异步全双工通讯,波特率默认为115200bps。数据格式为 1 位起始位、 8 位数据位和 1 位停止位,无校验位。终端设备向读写器发送命令时,在同一个命令内, 相连两个发送字符之间的间隔不应大于 10 个字符时间,否则读写器可能会认为命令超时导致无任何响应。4.2. 链路层通讯数据包定义通信数据包如下图所示:STX(0x02)Len_HiLen_LowDataLRCETX(0x03)6 /19粤之瑞科技 (深圳) 有限公司通讯数据包项目、长度、含义说明对应见下表:通讯数据包项目含义一览表序号项 目长度(字节)说明1数据包头( STX)1常量: 0x02需传输的数据单元 Data 部分的长度,高2数据单元长度( Len)2字节在前,低字节在后。例如: 0x0010 表示 Data 部分有 16 个字节。长度由 Len 指出,数据单元头两个字节是需传输的数据单元命令码 (终端发送命令到读写器) 或状态3(Data)不定码(读写器返回数据给终端) ,后面是其它参数。4冗余检验值( LRC)1Data 部分数据各字节异或值。5数据包尾( ETX)1常量: 0x03数据包总长度为:Len + 5字节,最长不能超过 512 字节。协议描述终端设备首先发送一个命令数据包, 发送完成后等待来自读写器的应答数据包。NFC读写器正确收到命令数据包后,便执行命令,然后回应应答数据包。如果终端设备在规定的最长时间内未能收到正确的应答数据包,便结束本次数据通讯,并提示出错信息。7 /19粤之瑞科技 (深圳) 有限公司4.3. 数据单元格式命令单元格式终端设备向读写器发送的数据包称为命令数据包,命令数据包的格式如下图所示:STX(0x02)Len_HiLen_LowCommandHCommandLCommand ParamLRCETX(0x03)命令单元格式见下表:命令单元格式一览表项目长度说明CommandH1 字节命令类别CommandL1 字节命令代码【参数】不定长命令参数,不是所有命令都有应答单元格式读写器向 POS机发送的数据包称为应答数据包,如下图所示:STX(0x02)Len_HiLen_LowStatusHStatusLStatus DataLRCETX(0x03)应答单元格式见下表:应答单元格式一览表项目长度说明StatusH1 字节状态码高字节StatusL1 字节状态码低字节【数据】不定长应答数据,不是所有应答都有8 /19粤之瑞科技 (深圳) 有限公司5. 读写器操作指令5.1 NFC 卡片操作指令连接 NFC 卡片本命令用于要求读写器在DelayTime 时间内查寻 NFC卡片是否进入感应区,并连接进入感应区的NFC卡片。命令数据单元:命令数据单元含义一览表标识内容说明CommandHA2H卡片操作命令类别CommandL31H连接 NFC卡片命令代码等待卡进入感应区时间,高位在前,低位在后。为 0 时:感应区无卡直接返回失败;DelayTime为 0xFFFF时 ,一直寻卡,直到卡进入感应2 字节区;其它值时:在 DelayTime 毫秒时间内一直判断卡是否进入感应区应答数据单元:应答数据单元含义一览表标识内容说明00H, 00H连接成功 ,此时返回有后续数据A0H, 01H读写器已连接, 或 Delaytime设置为 00 时Status连接失败返回A0H, 06H在 Delaytime 时间内连接卡片失败返回A0H, 07H命令数据错误CardType3 字节当前连接的 NFC卡片类型9 /19粤之瑞科技 (深圳) 有限公司Len1 字节卡序列号长度(连接成功才返回)DataLen 字节卡序列号(连接成功才返回)CardType:Byte0Byte1Byte2说明03H00H04HISO/IEC14443 Type A CPU卡02H00H00HISO/IEC14443 Type B 卡01H00H00HFeliCa 卡00H10HMifare1 light00H08HMifare Pro00H04HMifare1 S5000H00H02HMifare1 S7000H44HMifare0 Ultralight03H44HMifare3 Desfire00H42HMifare PlusXLen:1)当前连接的卡片是ISO/IEC14443 Type A卡、 FeliCa卡时, Len 为 UID 的长度。2)当前连接的卡片是ISO/IEC14443 Type B卡时, Len 为 ATQB的长度。Data:3)当前连接的卡片是ISO/IEC14443 Type A卡、 FeliCa卡时, Data 为 UID。4)当前连接的卡片是ISO/IEC14443 Type B卡时, Data 为 ATQB如果 DelayTime 参数为 0,在无卡处于读写器感应区时,读写器不用等待直接返回“连接失败”;如果 DelayTime参数为 0xFFFF时,一直寻卡,直到卡进入感应区;如果 DelayTime参数为其它值时,读写器可在 DelayTime 时间内一直寻卡,直到超时了才返回“连接失败” 。任意 DelayTime 内,如果有卡在感应区但连接失败,那么读写器不用继续寻卡就直接返回“连接失败”。当读写器成功连接卡片后,除非1)执行断开连接命令;2)读写器重新上10/ 19粤之瑞科技 (深圳) 有限公司电,否则读写器对终端再次发送的连接卡片命令均会返回连接失败响应。断开 NFC 卡片连接该命令要求读写器断开与卡的连接。命令数据单元:命令数据单元含义一览表标识内容说明CommandHA2H卡片操作命令类别CommandL32H断开连接命令代码DelayTime2 字节等待卡拿离感应区时间,高位在前,低位在后,参数说明见备注应答数据单元:应答数据单元含义一览表标识内容说明Status00H, 00H命令执行正确注:只要发送关闭卡命令,一定返回成功。操作 NFC 卡片数据传输通讯链路建成后, 终端设备和读写器通过该命令开始应用层的APDU命令的传送。命令数据单元:命令数据单元含义一览表标识内容说明CommandHA2H卡片操作命令类别CommandL33H操作卡片数据命令代码与 NFC 卡片交互数据,数据格式说明见NFC-APDUNFC_len253bytes表后应答数据单元:11/19粤之瑞科技 (深圳) 有限公司应答数据单元含义一览表标识内容说明00H, 00H卡片正常传回数据A0H, 02H读写器处于未连接状态A0H, 06H发送或接收超时或者Mifare 卡指令操作Status失败操作卡片数据出现错误,不允许空数据A0H, 07H操作A0H, 08HMifare 卡不支持的命令格式NFCR-APDUNFC_LEN254响应应用协议数据单元,只有Status 返回 00 时有效只有在 Status 为 00H 00H 的情况下才会有 NFCR-APDU数据单元,其他情况是由于卡片无法正常返回数据,所以无NFCR-APDU。当 NFC卡为标准的 CPU卡时,关于 NFC-APDU和 NFCR-APDU数据格式请参考 ISO/IEC 7816规范。注意:本指令响应返回的时间会根据卡片对相应命令处理时间长短决定,读写器会等待卡片响应返回后将结果返回给终端。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 和 Ultralight )遵循以下的数据格式。 Mifare Standard 卡命令集:cmdadddataresponse说明0x60keyAUID0x00:执行正确验证 keyA1byte(4bytes)Error(1byte) :出错(6bytes)12/ 19粤之瑞科技 (深圳) 有限公司0x61keyBUID0x00:执行正确验证 keyB1byteError(1byte) :出错(6bytes)(4bytes)0x301byteVal(16bytes):执行正确读 BlockError(1byte) :出错0xA01byte16bytes0x00:执行正确写 BlockError(1byte) :出错0xC11byte16bytes0x00:执行正确增值Error(1byte) :出错0xC01byte16bytes0x00:执行正确减值Error(1byte) :出错0xB01byte0x00:执行正确TransferError(1byte) :出错0xC21byte0x00:执行正确RestoreError(1byte) :出错注: Addr=4*扇区号 +块号增值和减值命令的data 域数据结构如下:Byte034781112131415ValVal 取反ValAddr!AddrAddr!AddrMifare Ultralight 卡命令集:cmdadddataresponse说明0x301byteVal(16bytes):执行正确读 BlockError(1byte) :出错0xA01byte4bytes0x00:执行正确写 BlockError(1byte) :出错6. 操作流程本节描述常见操作的建议流程,用户可参照本节来设计通过读写器和NFC卡的数据交换。一个基于读写器的完整操作包括两个过程: 终端对读写器发送命令的过程和读写器对终端发送命令的应答过程。 每一次的操作都必须顺序的完成这一个来回。建议使用如下的操作流程:13/ 19开始发送连接卡命令连接成功?Y正常 APDU交互发送断开连接命令结束粤之瑞科技 (深圳) 有限公司N7. 使用示例以下是终端通过 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 03 86 07 00 80 90 1D 0314/ 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规范终端发送: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 037.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卡,绿色部分为UID15/ 19粤之瑞科技 (深圳) 有限公司终端发送:02 00 09 a2 33 00 a4 00 00 02 3f 00 08 03/选择文件指令说明:红色部分为CPU卡选择主文件指令读写器返回:02 00 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 0190 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说明:绿色部分为 CPU卡返回的 8 字节随机数,后面 90 00 为 CPU卡的状态字,表示命令正确执行, 可以参考 ISO/IEC 7816规范,每次发送该指令返回的随机数不同,所以才是随机数。终端发送:02 00 04 a2 32 00 00 90 03/ 断开卡连接指令读写器返回:02 00 02 00 00 00 037.3. Mifare卡读写终端发送:02 00 04 a2 31 00 00 93 03/连接卡片指令读写器返回:16/ 19粤之瑞科技 (深圳) 有限公司02 00 0A 00 00 00 00 04 04 7C 0C 5E 6D 43 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命令读写器返回: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 037.4. FeliCa 卡读写终端发送:02 00 04 a2 31 00 00 93 03/连接卡片指令读写器返回:17/ 19粤之瑞科技 (深圳) 有限公司02 00 0E 00 00 01 00 00 08 01 01 06 01 58 0E 6E 31 07 03说明:黄色部分为NFC卡类型,表明是 FeliCa卡,绿色部分为UID8. 常见问题解答1) 将读写器连接到终端后,无论终端发送任何命令,读写器均无响应。a) 确保终端能给读写器提供 5V 150mA 的工作电流;b) 确保终端的 UART接口能够兼容 3.3VCMOS电平;c) 确保终端的 UART接口 TX连接到读写器的 RX,终端的 UART接口 RX连接到读写器的 TX;d) 串口设置的波特率是否正确。默认情况下,读写器的串口波特率为115200;2) 终端发送短的命令时,读写器有回应,但是终端发送长的命令时,读写器没有回应。a)确保发送长命令时,命令的总字节数不超过512 字节;b)确保发送同一个命令的过程中,两个连续的字符之间的间隔不大于10个字符时间;c) 终端采取先发送 STX,LEN,DATA,然后计算 LRC,再发送 LRC和 ETX的方式,则有可能在计算 LRC时时间较长,导致超过上述限制,被读写器认为是非法的指令而不作任何响应;d) 检查终端的串口波特率是否有偏差。9. 定制开发读写器内置安全芯片,集成了DES/3DES,RSA等算法模块,可以支持:1、读写器认证密钥灌入,只允许读写器厂家自己认证后才能使用该读写器2、对储存类卡片数据加密,如Mifare 系列卡、 NTAG系列标签,可以自动把存储数据加密后再发送给卡片存储,达到防止别人破解卡片的目的18/ 19粤之瑞科技 (深圳) 有限公司3、其他更多的个性化需求10. 联系我们公司名称:粤之瑞科技(深圳)有限公司公司地址:深圳市南山区月亮湾大道2076 号中国高科大厦7 楼 78025联系人:杨经理电话:邮箱:QQ:2425053909 (NFC读写器交流 )19/ 19
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!