fm1208(高级自定义)cpu卡读写模块用户手册_第1页
fm1208(高级自定义)cpu卡读写模块用户手册_第2页
fm1208(高级自定义)cpu卡读写模块用户手册_第3页
fm1208(高级自定义)cpu卡读写模块用户手册_第4页
fm1208(高级自定义)cpu卡读写模块用户手册_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FM1208(自定义) CPU 卡读写模 块 Date: 2015/01/30 类别 内容 关键词 摘 要 广州盛炬智能科技有限公司 / i FM1208(自定义)读写模块操作说明 修订历史 版本 日期 原因 V1.00 2015/01/30 创建文档 广州盛炬智能科技有限公司 / i FM1208(自定义)读写模块操作说明 目 录 1. 概述 .1 2. 性能指标 .2 2.1 产品特性 2 2.2 应用场合 2 2.3 产品尺寸 2 2.3.1 天线一体 .2 2.3.2 天线分体(标准型) .4 3. 硬件接口 .5 3.1 UART 通信接口: 6 3.2 分体模块与天线的连接 7 3.3 辅助输出 7 3.4 通信指示灯 8 3.5 结构尺寸 8 4. 通信协议 .10 4.1 数据帧结构 10 4.2 命令码 10 4.3 操作状态码 11 5. 命令详解 .13 5.1 读取模块信息(FC = 0x15) .13 5.2 读取卡片序列号(FC = 0x16) .13 5.3 控制辅助输出端口(FC = 0x14) .14 5.4 CPU 卡激活 ISO14443-4(FC = 0x18) .15 5.5 外部认证(FC = 0xC0) .15 ii 5.6 创建密钥文件(FC = 0xC6) .17 5.7 创建目录(FC = 0xC2) .19 5.8 选择目录或文件(FC=0xC3) .21 5.9 创建二进制数据文件(FC = 0xC4) .22 5.10 写二进制数据文件( FC = 0xC8) .24 5.11 读二进制数据文件( FC = 0xC9) .26 5.12 删除目录内容( FC = 0xC5) .29 5.13 APDU 透传指令(FC = 0x19) .30 6. 常见故障分析 .32 6.1 打开串口失败 32 6.2 与模块通信不上 32 6.3 读取不到卡片序列号 32 6.4 初始化卡片失败 32 6.5 回收卡片失败 32 6.6 读写文件数据失败 33 7. 定制开发 .34 8. 技术支持 .35 9. 附录 1:IC 卡简介 .36 10. 附录 2:CPU 卡常用 APDU 错误码 .38 广州盛炬智能科技有限公司 / 1 FM1208(自定义)读写模块操作说明 1.概述 CPU 卡读写模块支持上海复旦微电子 FM1208 卡片的数据读写操作,具有 UART 通信接口。模块不 需要 PSAM 安全模块,所有密钥运算由读写模块独立完成,大大减少系统成本。 产品提供功能强大、高度集成的函数调用指令,实现自创目录、自创文件大小和自定义密钥管理系 统,通过详细的例程说明,即可在 30 分钟内完全掌握 CPU 卡的自定义操作使用。 2 2.性能指标 2.1 产品特性 【支持卡片】:上海复旦微电子 FM1208 CPU 卡文件数据(自定义)读写操作; 【电压范围】:3.3V5.5V ; 【工作电流】:45mA; 【工作温度】:-2085; 【通信接口】:UART(可外扩为 RS-232 或 RS-485) ; 【波特率】:19200bps ; 【模块体积】: 天线一体模块:55.835.53mm; 天线分体模块:35.520.33mm; 【读卡距离】:40mm60mm; 【通信指示】:具有 2 个通信数据收发指示灯,通信状态一目了然; 【辅助输出】:具有 1 个辅助输出,可以控制 LED 或蜂鸣器等外设; 【看门狗】:内置硬件看门狗,杜绝死机。 2.2 应用场合 通用读写卡器; 门禁; 停车场; 消费机; 预付费电表、水表、煤气表; 其它使用 Mifare 卡作身份识别或金融交易的场合。 2.3 产品尺寸 2.3.1 天线一体 广州盛炬智能科技有限公司 / 3 FM1208(自定义)读写模块操作说明 图 2-1 天线一体实物图 图 2-2 天线一体尺寸图(55.835.5mm) 4 2.3.2 天线分体(标准型) 图 2-3 天线分体实物图 图 2-4 天线分体尺寸图(35.520.3mm) 图 2-5 外接天线板(尺寸:70mm50mm) ,读写数据距离60mm 广州盛炬智能科技有限公司 / 5 FM1208(自定义)读写模块操作说明 3.硬件接口 读卡模块具有一个电源通信接口和一个天线接口,如 图 3-1 所示。通信方式相同的模块其电源通信 接口的定义相同,所有天线分体模块的天线接口的定义也相同。 图 3-1 模块接口 图 3-2 模块原理图符号 注意:天线一体化模块虽然引出了天线接口,但其已经与模块内置的天线相连,所以实际使用时不 能与外部再有任何电气连接,否则模块将无法正常工作。 6 3.1 UART 通信接口: UART 接口读写模块电源通信接口定义如 表 1 所示。 表 1 电源通信接口定义 引脚 符号 I/O 说 明 1 VCC 电源 模块电源,3.3V5.5V 2 GND 地 模块地,连接到主机的地 3 TXD 输出 模块 UART 数据发送端,连接到主机的数据接收端 RXD 4 RXD 输入 模块 UART 数据接收端,连接到主机的数据发送端 TXD 5 NSS (没有使用,请悬空,不要连接到电源或地) 6 CLK (没有使用,请悬空,不要连接到电源或地) 7 INT 输出 辅助输出引脚,可以用来控制 LED 或蜂鸣器等外设 UART 接口读写模块与一般微控制器(MCU)连接的电路如 图 3-3 所示,天线一体读写模块不需要 外接天线。 图 3-3 UART 接口读写模块与微控制器连接 主机与模块的 UART 通信时序图如 图 3-4 所示。 图 3-4 主机与模块 UART 通信时序 如果想把模块连接到电脑,则需要在电脑串口和模块之间加入 MAX232 之类的芯片,把 RS-232 电 平转换为 TTL 的电平,或者使用 USB 转 UART(非 RS-232)转换器。 UART 接口读写模块与电脑连接的 电路如 图 3-5 所示。 广州盛炬智能科技有限公司 / 7 FM1208(自定义)读写模块操作说明 图 3-5 UART 接口读写模块与电脑连接 3.2 分体模块与天线的连接 分体模块需要外接天线才能工作,其天线接口的定义如 表 2 所示。 表 2 天线接口定义 引脚 符号 I/O 说 明 1 ANT2 输出 天线发送端 2 2 GND 地 公共地 3 ANT1 输出 天线发送端 1 分体模块与天线连接的电路如 图 3-6 所示。Cs1、Cs2 、Cp1、Cp2 和 Rp1 是天线的调谐元件,其 参数在每种天线都是不一样的,需要根据实际情况进行调整,图中的参数只供参考。 (Cp1 + Cp2)一般 为 50pF200pF,天线一般为 14 圈,通常线圈的面积越大所需圈数越少。 图 3-6 分体模块与天线连接 3.3 辅助输出 模块具有 1 个辅助输出端口,可以用来连接 LED 或蜂鸣器,主机可以通过命令控制模块辅助输出的 打开(输出高电平)或关闭(输出低电平) ,从而实现控制 LED 的亮灭和蜂鸣器的鸣叫。模块辅助输出与 LED 或蜂鸣器的连接如 图 3-7 所示。辅助输出可以直接驱动 LED,但不能直接驱动蜂鸣器,所以控制蜂 鸣器时需要外接三极管驱动。上电时辅助输出端口默认输出为低电平。 8 图 3-7 模块辅助输出控制 LED 或蜂鸣器 3.4 通信指示灯 模块具有两个通信数据收发指示灯,平时两指示灯不亮,当模块接收到数据时,绿色接收指示灯将 会闪烁;当模块向外发送数据时,红色发送指示灯将会闪烁。另外在模块上电时,发送指示灯会亮 1 秒后 熄灭,表示模块工作正常。通过这两个指示灯您可以清楚地知道通信的状态,快速排除故障,免除了动用 示波器的麻烦。 3.5 结构尺寸 天线分体和天线一体模块的结构尺寸分别如 图 3-8 和 图 3-9 所示,我们还为您准备了 AutoCAD 格 式的封装图和 DXP(Protel)格式的元件库,请向我们销售人员索取。 图 3-8 天线分体模块结构尺寸 广州盛炬智能科技有限公司 / 9 FM1208(自定义)读写模块操作说明 图 3-9 天线一体化模块结构尺寸 10 4.通信协议 当主机(这里把与模块通信的设备统称为主机)通过 UART 接口与模块通信时,采用“命令响 应”的方式,主机发送命令数据给模块,模块执行相应的动作,然后把执行结果返回给主机。 主机与模块 UART 通信的参数为:波特率 19200bps,8 位数据位, 1 位停止位,无奇偶校验。 4.1 数据帧结构 数据帧格式分为主机命令数据帧和模块响应数据帧。 主机命令数据帧结构 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 1 字节 1 字节 1 字节 N 字节 1 字节 模块响应数据帧结构 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 1 字节 1 字节 1 字节 1 字节 N 字节 1 字节 帧数据含义 LEN :整个数据帧的长度,包含 LEN 本身及帧最后的校验值; ADDR:读卡模块的地址,RS-485 通信时会校验此地址,如果地址错误模块将不响应命令; FC:命令码,具体含义参照 表 4.1; SW:模块执行命令后返回的操作状态,0x00 表示操作成功,其它值为错误代码,详见 表 4.2; DATA:主机命令相关的参数或模块回应的数据,有的命令不带参数,则没有该字段。如果操 作不成功(SW 不为 0)这时数据为两字节更具体的错误代码(参见 10 附录 2:CPU 卡常用 APDU 错误码); BCC:校验值,除了 BCC 以外所有数据的累加和取反,只取最低字节。 4.2 命令码 读写模块命令码如 表 4.1 所示。 表 4.1 读写模块命令码 命令 命令码 命令数据 响应数据 控制辅助输出端口 0x14 循环次数 + 高电平 + 低电平时间 读取模块 信息 0x15 模块描述信息 字符串 激活 A 型卡 0x16 卡片序列号 广州盛炬智能科技有限公司 / 11 FM1208(自定义)读写模块操作说明 CPU 卡激活 0x18 激活 CPU 卡 ISO14443-4 外部认证 0xC0 密钥编号+ 密钥值 密钥验证获取 操作权限 创建目录 0xC2 外部认证密钥+目录 ID+目录大小 +建立权限 +擦除权限 +目录名称+ 目录内的传输密钥 自定义目录 选择目录或文件 0xC3 目录 ID 或者文件 ID 进入目录或选 择文件 创建文件 0xC4 文件 ID+文件大小+读权限+写权 限 创建二进制数 据文件 擦除目录文件 0xC5 擦除目录下所 有目录及文件 创建密钥文件 0xC6 文件空间+ 增加权限 +密钥编号 密钥权限值+密钥值 创建密钥文件 写文件数据 0xC8 文件 ID+地址偏移+写数据长度 数据 写二进制文件 读文件数据 0xC9 文件 ID+地址偏移+读数据长度 读二进制文件 注:响应时间仅供参考,测试条件为:UART 通信,波特率 19200bps。 4.3 操作状态码 读写模块返回的操作状态码意义如 表 4.2 所示。 表 4.2 操作返回状态码意义 返回状态 意 义 12 69 81 命令与文件结构不相容 69 82 不满足安全状态 69 83 密钥被锁死 69 85 使用条件不满足 69 87 无安全报文 69 88 安全报文数据项不正确 6A 80 数据域参数错误 6A 81 功能不支持或卡中无 MF 或卡片已锁定 6A 82 文件未找到 6A 83 记录未找到 6A 84 文件无足够空间 6A 86 参数 P1 P2 错误 6B 00 在达到 Le/Lc 字节之前文件结束,偏移量错误 6C xx Le 错误 6E 00 无铲的 CLA 6F 00 数据无效 93 02 MAC 错误 93 03 应用已被锁定 94 01 金额不足 94 03 密钥未找到 94 06 所需要 MAC 不可用 广州盛炬智能科技有限公司 / 13 FM1208(自定义)读写模块操作说明 5.命令详解 以下实际例子的数据如果没有特别说明均为 16 进制,对于多字节数据字段的发送和回应均为小端模 式,波特率为:19200bps 。 5.1 读取模块信息(FC = 0x15) 读取模块型号和版本等信息。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x04 0x01 0x15 0xE5 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0xXX 0x01 0x15 0x00 模块信息 0xXX DATA:字符串形式的模块信息,包含有模块型号和版本等内容。 3. 通信实例 操作 发送 返回 备 注 读取模块信 息 04 01 15 E5 1F 01 15 00 43 55 54 31 30 30 2D 41 20 56 31 2E 30 32 20 32 30 31 33 2D 31 32 2D 31 32 00 A2 返回的模块信息字符串 为“XXX100-A V1.02 2013-12-12” 5.2 读取卡片序列号(FC = 0x16) 读取卡片原始序列号。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x04 0x01 0x16 0xE4 2. 模块返回 LEN ADDR FC SW DATA BCC 14 数据长度 模块地址 命令码 操作状态 回应数据 校验值 0x09 0x01 0x16 0x00 卡片序列号 0xXX 3. 通信实例 操作 发送 返回 备 注 读取卡片序 列号 04 01 16 E4 09 01 16 00 1E 80 D7 32 38 卡片序列号为 0x32 D7 80 1E(回应数据为小端 模式) 5.3 控制辅助输出端口(FC = 0x14) 控制辅助输出端口的高低电平。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x07 0x01 0x14 循环次数 + 高电平时间 + 低电平时间 0xXX DATA: 循环次数:1 字节; 高电平时间:1 字节,以 10ms 为单位。 低电平时间:1 字节,以 10ms 为单位。 注意:高电平值 + 低电平值之和不能大于 255。 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0x05 0x01 0x14 0x00 0xE5 3. 通信实例 操作 发送 返回 备 注 输出端口动 作 07 01 14 03 14 0A C2 05 01 14 00 E5 循环 3 次,高电平时间 200ms(0x1410ms = 200ms) ,低电平时间 100ms(0x0A10ms = 100ms) 广州盛炬智能科技有限公司 / 15 FM1208(自定义)读写模块操作说明 5.4 CPU 卡激活 ISO14443-4(FC = 0x18) 激活 CPU 卡 ISO14443-4 层,只有 CPU 卡才能激活到这一层,逻辑加密卡(如 Mifare 卡)不能激 活到该层。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x04 0x01 0x18 0xE2 注意事项: CPU 卡离开读写模块放回后,对卡片进行任何操作前必须进行 1 次 CPU 卡激活,卡片激 活后只要卡片不离开模块则不需要再次激活; 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0x25 0x01 0x18 0x00 返回 CPU 卡的 ATS 信息 0xXX DATA: 数据区返回 CPU 卡片的 ATS 信息 包含 TS T0 TA1 TB1 TC1 历史字符等信息 【0】: ATS 信息长度 【1】: TS 【2】: T0 后续数据与 T0 的值有关 非固定值 注意事项: 错误返回 模块返回数据为“05 01 18 02 DF”,表明读卡失败或该卡片不是 CPU 卡,有可能是逻辑加 密卡(Mifare 卡)或 ID 卡等。 目录操作 CPU 卡激活成功后,表示进入 CPU 卡根目录,所有操作均表示在根目录下的操作。 3. 通信实例 操作 发送 返回 备 注 激活 CPU 卡 片 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 激活 CPU 卡片到 ISO14443-4 层 5.5 外部认证(FC = 0xC0) 进行密钥认证,获取 CPU 卡操作权限,只有操作权限满足才能进行对应的目录创建、文件创建或文 件读写等操作。 16 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x15 0x01 0xC0 密钥编号 +密钥值 0xXX DATA: 【密钥编号】:1 字节,密钥保存的编号,不同目录下的编号可以相同,如目录 1 和目录 2 均可有密钥编号为 0 的密钥,密钥为 0 的编号默认为传输密钥; 【密钥值】:16 字节,需要进行外部认证的密钥。 注意事项: 不同目录有不同的认证密钥,即外部认证仅针对当前选择的目录,认证成功后可获取当前 目录的操作权限; 全新的 FM1208 CPU 卡默认根目录下的外部认证密钥是 16 字节 0xFF; 外部认证成功后,只要权限足够,即可连续对指定目录内容进行创建、读写等操作,不需 要每个操作步骤均进行外部认证; 若目录具有密钥文件,若外部认证连续 15 次错误将永久锁死卡片不能使用。 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0x07 0x01 0xC0 0x00 认证结果 0xXX DATA: 【认证结果】:密钥认证后的结果,认证结果如下表所示: 回应数据 认证结果 90 00 认证成功,获取对应密钥的操作权限。 62 83 密钥校验错误 65 81 写 EEPROM 不成功 67 00 错误的长度 69 81 不是外部认证密钥 69 82 密钥使用条件不满足 69 83 密钥认证错误次数达到 15 次,卡片锁死不能使用。 6A 82 KEY 文件未找到 6A 88 没有创建密钥文件,即没有认证密钥。 63 CX 密钥认证错误,CX 数据不断减少,最多仅允许认证 15 次,当到 达 C0(15 次)后卡片锁死不能使用。 93 02 安全信息不正确 注意事项 每个目录(包括根目录)均有自已的密钥文件,外部验证不同的密钥文件具有不同的操作 权限; 对目录进行任何操作,如创建子目录、创建文件、读写文件前均需要对该目录的密钥文件 进行外部认证,获取操作权限(是否需要外部认证与目录与文件创建时的权限设置有关, 后续详细说明) 。 广州盛炬智能科技有限公司 / 17 FM1208(自定义)读写模块操作说明 3. 通信实例 操作 发送 返回 备 注 激活 CPU 卡 片 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 激活 CPU 卡片到 ISO14443-4 层 外部认证 15 01 C0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 39 07 01 C0 00 00 90 A7 认证根目录编号为 0 的 密钥,密钥值 16 字节默 认为全 0xFF 5.6 创建密钥文件(FC = 0xC6) 对指定目录创建密钥文件及操作权限,外部认证成功后即获取该目录对应的操作权限,操作权限包括 目录建立、目录删除、文件建立、文件读写等操作功能。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x19 0x01 0xC6 文件空间+ 增加权限 +密钥编号+ 密钥权限值 +密钥值 0xXX DATA: 【文件空间】:2 字节,用于保存多个外部认证密钥的文件空间,文件空间为 16 的倍数, 如保存 5 组不同权限的认证密钥,文件空间容量为 90 个字节; 【增加权限】:1 字节,默认为 F0,可对密钥文件进行任意添加、删除密钥; 【密钥编号】:1 字节,新建的密钥文件自动添加一个新的密钥,用于标识该新的密钥地 址编号。密钥文件中不同的密钥仅能有唯一编号,不同密钥文件允许有相同密钥编号; 【密钥权限值】:1 字节,认证新建密钥后可获取的操作权限,密钥文件中其它的密钥可 独立设置不同权限值,即同一密钥文件认证不同密钥可获取不同权限值; 【密钥值】:16 字节,需要进行外部认证的密钥。 注意事项: 密钥权限判断说明:假定目录/文件的操作权限为 AB,认证密钥后取的权限值为 XY,仅 当以下条件成立时才能对目录或文件进行操作: AX且 YB,任一条件不符合均没有操作权限,举例如下。 目录/文件操作权限 密钥权限 说明 F0 E2 FE(符合) ,20(符合) ,具有操作权限,目录/文件操 作权限为 F0 表示任何密钥权限均可满足,即不需要验证 密钥权限即可无限制操作,若目录/文件操作权限不是 F0,则必须进行外部认证。 F1 F2 F=F(符合) ,21(符合) ,具有对目录或文件的操作权 限。 F3 0F F0(符合) ,F3(符合) ,具有对目录或文件的操作权 18 限,密钥权限为 0F 表示最高的密钥权限,即可对目录 /文 件进行任何功能的操作。 E2 F3 E2(符合) ,不具有对目录或文件的操 作权限 0F F1 0E(符合) ,20(符合) ,具有操作权限,目录/文件操 作权限为 F0 表示任何密钥权限均可满足,即不需要验证 密钥权限即可无限制操作,若目录/文件操作权限不是 F0,则必须进行外部认证。 F1 F2 F=F(符合) ,21(符合) ,具有对目录或文件的操作权 限。 20 F3 0F F0(符合) ,F3(符合) ,具有对目录或文件的操作权 限,密钥权限为 0F 表示最高的密钥权限,即可对目录 /文 件进行任何功能的操作。 E2 F3 E2(符合) ,不具有对目录或文件的操 作权限 0F F1 0E(符合) ,20(符合) ,具有操作权限,目录/文件操 作权限为 F0 表示任何密钥权限均可满足,即不需要验证 密钥权限即可无限制操作,若目录/文件操作权限不是 F0,则必须进行外部认证。 F1 F2 F=F(符合) ,21(符合) ,具有对目录或文件的操作权 限。 F3 0F F0(符合) ,F3(符合) ,具有对目录或文件的操作权 限,密钥权限为 0F 表示最高的密钥权限,即可对目录 /文 件进行任何功能的操作。 E2 F3 E2(符合) ,不具有对目录或文件的操 作权限 0F F1 0F(不符合) ,1F(不符合) ,不具有对目录或文件的 操作权限 EF - 表示目录或文件禁止写操作,仅能作为只读文件 创建密钥文件仅用于删除目录文件后马上新建密钥文件的场合,若删除目录文件后没有及 时创建密钥文件,而是先创建了二进制文件,若想再次创建密钥文件时需要进行外部认证, 由于没有密钥文件不能进行外部认证,因此不能创建密钥文件。若新建的二进制文件读写 权限不为 F0,则必须经过外部认证才可以进行读写操作,此时将失去对该文件的读写控 制。 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0x07 0x01 0xC4 0x00 创建结果 0xXX DATA: 【创建结果】:创建二进制数据文件返回结果如下表所示: 回应数据 认证结果 90 00 创建二进制数据文件成功。 6A 86 相同二进制数据文件已存在,不能重复创建 69 82 没有经过外部认证 外部认证权限不足 6A 84 二进制数据文件容量太大,超出目录容量 3. 通信实例 24 对一张全新的 FM1208 CPU 卡创建一个 1K 字节容量目录,目录中添加一个 ID 号为 17 00,容量 为 256 字节,读权限 F1,写权限 F2 的二进制数据文件。 操作 发送 返回 备 注 CPU 卡激活 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 激活 CPU 卡进入 ISO14443-4 层,进入 CPU 卡根目录 外部认证 15 01 C0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 39 07 01 C0 00 00 90 A7 外部认证根目录下,编号为 0, 密钥为 16 字节 0xFF。返回验证 成功获取操作权限 删除目录/文 件 04 01 C5 35 07 01 C5 00 00 90 A2 删除根目录下的所有目录(包括 目录下的文件)及密钥文件 创建密钥文 件 19 01 C6 00 01 F0 00 0F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2F 07 01 C6 00 00 90 A1 根目录下创建密钥文件和 1 个 256 字节容量,编号为 0,权限 为 0F,16 字节 0xFF 密钥的认 证密钥 创建目录和 密钥文件 32 01 C2 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF CD AB 00 04 F1 F1 AA BB CC DD EE FF 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 8F 07 01 C2 00 00 90 A5 根目录下创建目录 ID 为 CD AB,容量为 1K 字节,创建文件 权限为 F1,擦除文件权限为 F1,目录名称为“AA BB CC DD EE FF 11 11”,上一层外部 认证 16 字节 0xFF,新建目录密 钥文件的密钥为 16 字节 0x11 选择目录 06 01 C3 CD AB BD 19 01 C3 00 00 90 6F 10 84 08 AA BB CC DD EE FF 11 11 A5 04 9F 08 01 02 17 选择目录 ID 为“CD AB”的目 录,返回目录信息并进入目录进 行操作 外部认证 15 01 C0 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 19 07 01 C0 00 00 90 A7 对“CD AB”目录中编号为 0, 密钥为 16 个 0x11 的密钥进行 外部认证,获取创建二进制数据 文件操作权限 创建二进制 数据文件 0A 01 C4 17 00 00 01 F1 F2 35 07 01 C4 00 00 90 A3 创建文件 ID 为“00 17”,文件 容量 256 字节,读权限 F1、写 权限 F2 的二进制文件 5.10 写二进制数据文件(FC = 0xC8) 写入指定文件数据。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 广州盛炬智能科技有限公司 / 25 FM1208(自定义)读写模块操作说明 0xXX 0x01 0xC8 文件 ID+地址偏移+ 写数据长度+写入 数据 0xXX DATA: 【文件 ID】:2 字节,待写入数据的文件 ID 号; 【地址偏移】:2 字节,开始写入数据的偏移地址,如偏移地址为 16,则表示从第 16 个 地址开始写入,地址偏移不允许超出文件容量; 【写数据长度】:1 字节,连续写入的数据长度,为确保写入数据成功率,数据长度最大 限制在 16 字节内(更大字节有可能导致模块的不稳定)。若要实现更大数据的写入,可 通过多次调用写文件函数,调整地址偏移实现更多数据的写入,不允许写入数据超过文件 容量; 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0x07 0x01 0xC8 0x00 写入结果 0xXX DATA: 【写入结果】:写入二进制数据文件返回结果如下表所示: 回应数据 认证结果 90 00 读出二进制数据文件成功。 65 81 写 EEPROM 失败 67 00 错误的长度(Lc 域为空) 69 81 不是二进制文件或 FAC 密钥文件不可写 69 82 写的条件不满足 69 87 无安全报文 6A 81 不支持此功能(无 MF 或 MF 已锁定) 6A 82 未找到文件 6B 00 参数错误(偏移地址超了 EF),读取超过文件容量范围 69 86 文件不存在 3. 通信实例 对一张全新的 FM1208 CPU 卡创建一个 1K 字节容量目录,目录中添加一个 256 字节容量大小的文 件,对文件从第一字节开始连续写入 16 字节“00 11 22FF”。 操作 发送 返回 备 注 CPU 卡激活 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 激活 CPU 卡进入 ISO14443-4 层,进入 CPU 卡根目录 外部认证 15 01 C0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 39 07 01 C0 00 00 90 A7 外部认证根目录下,编号为 0, 密钥为 16 字节 0xFF。返回验证 成功获取操作权限 删除目录/文 件 04 01 C5 35 07 01 C5 00 00 90 A2 删除根目录下的所有目录(包括 目录下的文件)及密钥文件 26 创建密钥文 件 19 01 C6 00 01 F0 00 0F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2F 07 01 C6 00 00 90 A1 根目录下创建密钥文件和 1 个 256 字节容量,编号为 0,权限 为 0F,16 字节 0xFF 密钥的认 证密钥 创建目录和 密钥文件 32 01 C2 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF CD AB 00 04 F1 F1 AA BB CC DD EE FF 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 8F 07 01 C2 00 00 90 A5 根目录下创建目录 ID 为 CD AB,容量为 1K 字节,创建文件 权限为 F1,擦除文件权限为 F1,目录名称为“AA BB CC DD EE FF 11 11”,上一层外部 认证 16 字节 0xFF,新建目录密 钥文件的密钥为 16 字节 0x11 选择目录 06 01 C3 CD AB BD 19 01 C3 00 00 90 6F 10 84 08 AA BB CC DD EE FF 11 11 A5 04 9F 08 01 02 17 选择目录 ID 为“CD AB”的目 录,返回目录信息并进入目录进 行操作 外部认证 15 01 C0 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 19 07 01 C0 00 00 90 A7 对“CD AB”目录中编号为 0, 密钥为 16 个 0x11 的密钥进行 外部认证,获取创建二进制数据 文件操作权限 创建二进制 数据文件 0A 01 C4 17 00 00 01 F1 F2 35 07 01 C4 00 00 90 A3 创建文件 ID 为“00 17”,文件 容量 256 字节,读权限 F1、写 权限 F2 的二进制文件 写二进制数 据文件 19 01 C8 17 00 00 00 10 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF FE 07 01 C8 00 00 90 9F 对 ID 为“00 17”的文件,地 址偏移为 0(从第 1 字节开始) , 写入 16 个字节 0x000xFF 数 据 若卡片已建立好目录和文件,则可根据以下指令快速进行写二进制数据文件操作。 操作 发送 返回 备 注 CPU 卡激活 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 激活 CPU 卡进入 ISO14443-4 层,进入 CPU 卡根目录 选择目录 06 01 C3 CD AB BD 19 01 C3 00 00 90 6F 10 84 08 AA BB CC DD EE FF 11 11 A5 04 9F 08 01 02 17 选择目录 ID 为“CD AB”的目 录,返回目录信息并进入目录进 行操作 外部认证 15 01 C0 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 19 07 01 C0 00 00 90 A7 对“CD AB”目录中编号为 0, 密钥为 16 个 0x11 的密钥进行 外部认证,获取创建二进制数据 文件操作权限 写二进制数 据文件 19 01 C8 17 00 00 00 10 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 07 01 C8 00 00 90 9F 对 ID 为“00 17”的文件,地 址偏移为 0(从第 1 字节开始) , 写入 16 个字节 0x000xFF 数 广州盛炬智能科技有限公司 / 27 FM1208(自定义)读写模块操作说明 FE 据 5.11 读二进制数据文件(FC = 0xC9) 读出指定二进制文件数据。 1. 主机发送 LEN 数据长度 ADDR 模块地址 FC 命令码 DATA 命令相关数据 BCC 校验值 0x09 0x01 0xC9 文件 ID+地址偏移+ 读数据长度 0xXX DATA: 【文件 ID】:2 字节,待读出数据的文件 ID 号; 【地址偏移】:2 字节,开始读数据的偏移地址,如偏移地址为 16,则表示从第 16 个地 址开始读出,地址偏移不允许超出文件容量; 【读数据长度】:1 字节,连续读出的数据长度,为确保读取数据成功率,数据长度最大 限制在 128 字节内(更大字节有可能导致模块的不稳定)。若要实现更大数据的读出, 可通过多次调用读文件函数,调整地址偏移实现更多数据的读出,同样不允许读出数据超 过文件容量; 2. 模块返回 LEN 数据长度 ADDR 模块地址 FC 命令码 SW 操作状态 DATA 回应数据 BCC 校验值 0x07 0x01 0xC9 0x00 读出结果 + 读出数 据 0xXX DATA: 【读出结果】:读二进制数据文件返回结果如下表所示: 回应数据 认证结果 90 00 读出二进制数据文件成功。 62 81 部分回送的数据可能有错 67 00 错误的长度 69 81 不是二进制文件 69 82 读的条件不满足 6A 81 不支持此功能(无 MF 或 MF 已锁定) 6A 82 未找到文件 6B 00 参数错误(偏移地址超了 EF),读取超过文件容量范围 69 86 文件不存在 【读出数据】:1128 字节,待读出的数据。 3. 通信实例 对一张全新的 FM1208 CPU 卡创建一个 1K 字节容量目录,目录中添加一个 256 字节文件,对文件 写入 16 字节“00 11 22FF”,读取已写入的数据。 操作 发送 返回 备 注 28 CPU 卡激活 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4D 激活 CPU 卡进入 ISO14443-4 层,进入 CPU 卡根目录 外部认证 15 01 C0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 39 07 01 C0 00 00 90 A7 外部认证根目录下,编号为 0, 密钥为 16 字节 0xFF。返回验证 成功获取操作权限 删除目录/文 件 04 01 C5 35 07 01 C5 00 00 90 A2 删除根目录下的所有目录(包括 目录下的文件)及密钥文件 创建密钥文 件 19 01 C6 00 01 F0 00 0F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2F 07 01 C6 00 00 90 A1 根目录下创建密钥文件和 1 个 256 字节容量,编号为 0,权限 为 0F,16 字节 0xFF 密钥的认 证密钥 创建目录和 密钥文件 32 01 C2 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF CD AB 00 04 F1 F1 AA BB CC DD EE FF 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 8F 07 01 C2 00 00 90 A5 根目录下创建目录 ID 为 CD AB,容量为 1K 字节,创建文件 权限为 F1,擦除文件权限为 F1,目录名称为“AA BB CC DD EE FF 11 11”,上一层外部 认证 16 字节 0xFF,新建目录密 钥文件的密钥为 16 字节 0x11 选择目录 06 01 C3 CD AB BD 19 01 C3 00 00 90 6F 10 84 08 AA BB CC DD EE FF 11 11 A5 04 9F 08 01 02 17 选择目录 ID 为“CD AB”的目 录,返回目录信息并进入目录进 行操作 外部认证 15 01 C0 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 19 07 01 C0 00 00 90 A7 对“CD AB”目录中编号为 0, 密钥为 16 个 0x11 的密钥进行 外部认证,获取创建二进制数据 文件操作权限 创建二进制 数据文件 0A 01 C4 17 00 00 01 F1 F2 35 07 01 C4 00 00 90 A3 创建文件 ID 为“00 17”,文件 容量 256 字节,读权限 F1、写 权限 F2 的二进制文件 写二进制数 据文件 19 01 C8 17 00 00 00 10 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF FE 07 01 C8 00 00 90 9F 对 ID 为“00 17”的文件,地 址偏移为 0(从第 1 字节开始) , 写入 16 个字节 0x000xFF 数 据 读二进制数 据文件 09 01 C9 17 00 00 00 10 05 17 01 C9 00 00 90 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 96 读取 ID 为“00 17”的文件, 读取偏移地址为 0,读取 16 字 节数据 若卡片已建立好目录和文件,则可根据以下指令快速进行读二进制数据文件操作。 操作 发送 返回 备 注 CPU 卡激活 04 01 18 E2 25 01 18 00 10 78 80 A0 02 20 90 00 00 00 00 00 76 7A 激活 CPU 卡进入 ISO14443-4 层,进入 CPU 卡根目录 广州盛炬智能科技有限公司 / 29 FM1208(自定义)读写模块操作说明 68 C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论