zoukankan      html  css  js  c++  java
  • 15693协议命令格式汇总

    15693协议相关内容纪要

    一、从VCD to VICC的一次请求;

    请求格式:

    1.1 请求标志位

    下文出现请求标志eg:

    0x07——双载波/高速率/无AFI域/16个slots

    0x17——双载波/高速率/有AFI域/16个slots

    0x23——双载波/高速率/请求寻址带UID

    0x63——双载波/高速率/请求寻址带UID/选择权标志置位

    1.2 命令编码

    二、从VICC to VCD的一次响应;

    响应格式:

    2.1响应标志位

    当上表中错误标志被VICC置位,将包含错误码域,并提示出现的错误信息错误码在表 7 中定义。假如 VICC 不支持表 7 中列出的规定错误码, VICC 将以错误码 '0F' 应答( "不给出错误信息")。

    三、命令格式说明+示例;

    1、清卡指令 "01"

    VCD TO VICC

    标志(1B)+命令编码(1B)+可选AFI(1B)+MASK长度(1B)+mask值(1B)+CRC16(2B)

    17 01 00 00 82 32  (带AFI的清卡指令)

    07 01 00 11 53

    VICC TO VCD

    标志(1B)+DSFID(1B)+UID(8B)+CRC16(2B)

    00 00 5F 02 1F 9E 50 01 04 E0 C8 F4

    00 11 AA 9C 37 59 50 01 04 E0 3D F8

    2、读单个块指令 "20"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+数据(块数量1B)+CRC16(2B)

    63 20 1D 9F 37 59 50 01 04 E0 0A 08 99

    VICC TO VCD

    标志(1B)+块状态(1B)+数据(4B)+CRC16(2B)

    00 00 00 00 00 00 8F F7

    00 00 11 22 33 44 FC 06

     

    3、写单个块指令 "21"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+块数量(1B)+数据(块长度4B)+CRC16(2B)

    (块被锁定之后写指令返回错误状态)

    23 21 1D 9F 37 59 50 01 04 E0 0A 11 22 33 44 4A 18

    23 21 1D 9F 37 59 50 01 04 E0 0B 55 66 77 88 24 3F

    23 21 1D 9F 37 59 50 01 04 E0 0C 99 AA BB CC 06 6B

    VICC TO VCD

    标志(1B)+ CRC16(2B)

    00 78 F0

     

    4、锁定块 "22"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+块序号(1B)+CRC16(2B)

    (锁定之后为永久锁定,能读不能写,二次锁定返回错误状态)

    23 22 AA 9C 37 59 50 01 04 E0 0A 0B A3

    VICC TO VCD

    标志(1B)+ CRC16(2B)

    00 78 F0

     

    5、读多个快 "23"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+数据(首块序号+块数量)(2B)+CRC16(2B)

    (块数量为0表示读单个块)

    63 23 1D 9F 37 59 50 01 04 E0 0A 01 93 93

    63 23 1D 9F 37 59 50 01 04 E0 0A 02 08 A1

    VICC TO VCD

    标志(1B)+[块状态(1B)+数据(4B)]*(块数量+1)+CRC16(2B)

    00 00 11 22 33 44 00 55 66 77 88 22 B1

    00 00 11 22 33 44 00 55 66 77 88 00 99 AA BB CC 00 00

     

    6、写多个块 "24"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+首块序号(1B)+块数量(1B)+数据(块长度NB)+CRC16(2B)

    (一直返回error未找到原因)

    23 24 1D 9F 37 59 50 01 04 E0 09 05 01 01 01 01 02 02 02 02 03 03 03 03 04 04 04 04 05 05 05 05 B3 81

    VICC TO VCD

    数据(块长度NB)+CRC16(2B)

    01 0F 68 EE

     【notice】:关于读写多个块指令不同厂商自定义,有出现读多个块数据回复循环且多于要读数量,无法接收到CRC校验值;写多个块也有写不成功的情况出现,不同的VICC卡情况不同,需注意,大多数情况下,写单个块和读单个块满足需求,基于稳定性考虑,这两条指令使用需测试。

    7、选择 "25"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+CRC16(2B)

    23 25 1D 9F 37 59 50 01 04 E0 A3 05

    VICC TO VCD

    标志(1B)+CRC16(2B)

    00 78 F0

     

    8、复位准备 "26"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+CRC16(2B)

    23 26 1D 9F 37 59 50 01 04 E0 A4 D3

    VICC TO VCD

    标志(1B)+CRC16(2B)

    00 78 F0

     

    9、写AFI "27"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+AFI值(1B)+CRC16(2B)

    (AFI被锁定后二次写入返回错误状态)

    23 27 1D 9F 37 59 50 01 04 E0 00 A2 3F

    VICC TO VCD

    标志(1B)+CRC16(2B)

    00 78 F0

     

    10、锁定AFI "28"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+CRC16(2B)

    (AFI被锁定后二次锁定返回错误状态)

    23 28 1D 9F 37 59 50 01 04 E0 71 08

    VICC TO VCD

    标志(1B)+CRC16(2B)

    00 78 F0

     

    11、写DSFID命令 "29"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+DSFID值(1B)+CRC16(2B)

    (DSFID被锁定后二次写入返回错误状态)

    23 29 1D 9F 37 59 50 01 04 E0 11 51 BF

    VICC TO VCD

    标志(1B)+CRC16(2B)

    00 78 F0

    12、锁定DSFID命令 "2A"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+CRC16(2B)

    (DSFID被锁定后二次锁定返回错误状态)

    23 2A 1D 9F 37 59 50 01 04 E0 8B 93

    VICC TO VCD

    标志(1B)+CRC16(2B)

    00 78 F0

     

    13、获取系统信息 "2B"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+CRC16(2B)

    23 2B 1D 9F 37 59 50 01 04 E0 76 DE

    VICC TO VCD

    标志(1B)+信息标志(1B)+UID(8B)+DSFID(1B)+afi(1B)+信息域(2B)+CRC16(2B)

    00 0F 1D 9F 37 59 50 01 04 E0 11 00 1B 03 01 51 00

    00 0F C7 C2 37 59 50 01 04 E0 00 00 1B 03 01 33 00

     

    14、获取多个块安全状态 "2C"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B)+首块序号(1B)+块数量(1B)+CRC16(2B)

    (返回状态数量等于块数量加一)

    23 2C 1D 9F 37 59 50 01 04 E0 09 06 68 86

    VICC TO VCD

    标志(1B)+块安全状态(NB)+CRC16(2B)

    00 00 00 00 00 00 00 00 73 83

     

    15、静默 "02"

    VCD TO VICC

    标志(1B)+命令编码(1B)+UID(8B) +CRC16(2B)

    23 02 AA 9C 37 59 50 01 04 E0 72 09

    VICC TO VCD


    防碰撞部分待整理。

    在读卡过程中出现一张卡会回复两个UID情况,暂时未查明原因。

  • 相关阅读:
    华为OD机试 :找终点
    华为OD机试 :磁盘容量排序
    剑指Offer-从上到下打印二叉树
    GO语言学习笔记3-int与byte类型转换
    剑指Offer-树的子结构
    LeetCode :21.合并两个有序链表
    LeetCode :206.反转链表
    剑指Offer-删除链表的结点
    剑指Offer-调整数组顺序使奇数位于偶数前面
    如何创建ts+react项目
  • 原文地址:https://www.cnblogs.com/smy87/p/9166460.html
Copyright © 2011-2022 走看看