射频卡接口文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

射 频 卡 接 口 文 档

一、接口电路

读写控制器采用UAR T 标准SCI 异步串口,经过芯片MAX232,将电平转换为RS-232电平后,接入PC 机。电路图如下:

C 25105C 0

C

C 26

C 28

R XD T X

二、接口协议:

通讯格式:

数据包长度L(1byte) 命令字C(1byte) 数据包D(L-1bytes) 通讯方向:

-> 下位机送给上位机 <- 上位机送给下位机

IC 卡读写器Demo 程序: 1) 启动

<- 02 0B 0F (02为长度,0B 为命令字,测试凤鸣器,0F 凤鸣器响的时间) -> 01 00 (01为长度,00为测试成功)

2) 寻卡

<- 02 02 26 (02为命令字,26为RegMfOutSelect)

-> 03 00 04 00 (00为命令成功代码,04表示Mifare One 卡) <- 02 0B 0F -> 01 00 3) 防冲突

<- 01 03 (03为命令字)

-> 05 00 52 00 75 7A (52 00 75 7A 为卡号CardSerialNo) <- 02 0B 0F -> 01 00

4) 选择

<- 01 04 (04为命令字)

-> 03 00 80 00

<- 02 0B 0F

-> 01 00

5) 终止

<- 01 01 (01为命令字)

-> 01 00

<- 02 0B 0F

-> 01 00

6) 参数设置

<- 01 0C (0C为命令字)

-> 01 00

7) 密码下载(扇区1密码为12个F)

<- 09 06 60 01 FF FF FF FF FF FF (06为命令字,60为PICC_AUTHENT1A(61为PICC_AUTHENT1B),01为扇区号,12个F为密码)

-> 01 00

<- 02 0B 0F

-> 01 00

8) 数据读(扇区1块0块1块2)

<- 02 02 52 (02为命令字,52为PICC_REQALL)

-> 03 00 04 00 (04为RegFIFOLength)

<- 01 03 (03为命令字)

-> 05 00 52 00 75 7A (52 00 75 7A为卡号)

<- 01 04 (04为命令字)

-> 03 00 08 00

<- 04 05 60 01 04 (05为命令字,60为PICC_AUTHENT1A(61为PICC_AUTHENT1B),01为扇区1,04为RegFIFOLength)

-> 01 00

<- 02 08 04 (08为命令号,04为块号)

-> 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (16个00为数据)

<- 02 08 05 (08为命令号,05为块号)

-> 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (16个00为数据)

<- 02 08 06 (08为命令号,06为块号)

-> 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (16个00为数据)

<- 02 08 07 (08为命令号,07为块号)

-> 11 00 00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff (第一个00为返回代码,后面6个00为密码A,ff 07 80 69为控制位,后面6个ff为密码B)

<- 02 0B 0F

-> 01 00

9) 数据写(扇区1块0块1块2)

<- 12 09 04 12 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (09为命令字,04为块号,12开始的16个字节为要写的数据)

-> 01 00

<- 02 0B 0F

-> 01 00

<- 12 09 05 45 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (09为命令字,05为块号,45开始的16个字节为要写的数据)

-> 01 00

<- 02 0B 0F

-> 01 00

<- 12 09 06 78 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (09为命令字,06为块号,78开始的16个字节为要写的数据)

-> 01 00

<- 02 0B 0F

-> 01 00

<- 12 09 07 11 11 11 11 11 11 ff 07 80 69 11 11 11 11 11 11 (09为命令字,07为块号,把密码A和密码B都修改成1)

-> 01 00

<- 02 0B 0F

-> 01 00

10) 块值操作(初始化)

<- 12 09 04 11 11 11 11 EE EE EE EE 11 11 11 11 04 FB 04 FB (09为命令字,04为块号,11开始的16个字节为要写的数据)

-> 01 00

<- 02 0B 0F

-> 01 00

11) 块值操作(读出)

<- 02 08 04 (08为命令字,04为块号)

-> 11 00 11 11 11 11 EE EE EE EE 11 11 11 11 04 FB 04 FB (11后面的16个自己是读出来的数据)

<- 02 0B 0F

-> 01 00

12) 块值操作(加值)

<- 08 0A C1 04 22 22 22 22 04 (0A为命令字,C1为PICC_INCREMENT,04为块号,4个字节的22是要加值的数据,04为块号)

-> 01 00

<- 02 0B 0F

-> 01 00

13) 块值操作(减值)

<- 08 0A C0 04 11 11 11 11 04 (0A为命令字,C1为PICC_DECREMENT为块号,4个字节的11是要减值的数据,04为块号)

-> 01 00

<- 02 0B 0F

-> 01 00

14) 修改密码

<- 02 02 26 (02为命令字,26为RegMfOutSelect)

-> 03 00 04 00

相关文档
最新文档