复位应答(译自ISO7816-3)

8.1 字符和编码约定

该卡最初使用的etu应等于372个时钟周期(即,在回答复位期间,传输参数的值为默认值Fd=372和Dd=1)。有关该 etu 的替代测量,请参阅下面的 TS。字符帧应符合 7.2 中的规定,其中 GT = 12 etu 和 WT = 9600 etu。对于提供 T=0 的卡片,根据 7.3 的错误信号和字符重复是强制性的; 对于接口设备和其他卡,它是可选的。

图 11 显示了名为“初始字符”并表示为 TS 的第一个字符,以及名为“格式字符”并表示为 T0 的第二个字符的开头。

图11:初始字符TS

初始字符TS应如下。

  • 矩 1 到 4 的模式应为 LHHL。序列(H) LHHL 是同步模式。当取两个下降沿之间的三分之一延迟作为卡最初使用的etu的替代测量时,卡中的发送和接收机制应与7.2和7.3规定的时序一致。
  • 矩 5 到 7 的模式应为 LLL 或 HHH。它表示对字节进行编码或解码的约定(即,从最高有效位 (msb) 到最低有效位 (lsb) 的八位,值为 0 和 1)在每个后续字符中(即,在状态 L 和 H 处编号为 1 到 10 的十个连续时刻)。
  • 矩 8 到 10 的模式应为 LLH。

初始字符 TS 有两种可能的模式。

  • (H) LHHL LLL LLH 建立逆约定:状态 L 编码值 1,时刻 2 传送最高有效位(msb 在前)。当按逆约定解码时,传送的字节等于“3F”。
  • (H) LHHL HHH LLH 建立正约定:状态 H 编码值 1,时刻 2 传送最低有效位(lsb 在前)。当通过直接约定解码时,传送的字节等于“3B”。

当在 2 到 10 的九个时刻中有偶数位设置为 1 时,字符奇偶校验是正确的。

该卡使用任一编码约定。 接口设备应支持两种编码约定。

初始字符 TS 后跟最多 32 个字符的序列。

  • 表示为 T0,格式字符是强制性的。
  • 表示TA TB TC TD,接口字符可选。 接口字符的存在由格式字符 T0 启动的位图技术指示。
  • 表示为 T1 T2 … TO,历史字符是可选的。 历史字符的存在取决于以格式字符 T0 编码的数字 K。
  • 表示为 TCK,校验字符是有条件的。 校验字符的存在取决于在某些接口字符 TD 中编码的类型 T。

根据定义,在序列的最后一个字符的前沿之后 12 个 etu 完成对重置的回答。根据定义,复位应答是在该字符序列中编码的字节串(最多 32 个字节)的值。

8.2 复位应答

8.2.1 一般配置

图 12 显示了以后使用的字节帧。该字节由编号为 8 到 1 且值为 0 或 1 的八位组成; 第 8 位是最高有效位 (msb),第 1 位是最低有效位 (lsb)。

图12 - 字节帧

表 6 说明了复位应答(最多 32 个字节的字符串)。为符号简单起见,T0 TA TB TC TD … T1 T2 … TK 和 TCK 中的每一个也表示在各自的字符中传送的字节。

表6 - 复位应答

8.2.2 格式字节T0

图 13 显示了格式字节 T0。

  • 位 8 到 5 形成一个指示器 Y1。
  • 位 4 到 1 编码从 0 到 15 的数字 K。
图 13 — T0 的编码

8.2.3 接口字节 TA TB TC TD

图 14 显示了接口字节 TDi。 每个接口字节 TD 都是结构化的。

  • 位 8 到 5 形成一个指示符 Yi+1。
  • 位 4 到 1 编码从 0 到 15 的类型 T。
图 14 — TDi 的编码

因此T0传送Y1; TD1传送Y2; TD2传送Y3,依此类推。在传送指示符 Yi 的字节中,第 8 位到第 5 位说明第 5 位的 TAi、第 6 位的 TBi、第 7 位的 TCi、第 8 位的 TDi 是否存在(取决于相关位是设置为 1 还是 0 ) 在字节传送 Yi 之后按此顺序。

如果不存在 TDi,则 TAi+1、TBi+1、TCi+1 和 TDi+1 也不存在。

  • 类型 T 指的是传输协议和/或限定接口字节。
  • T=0 指的是第 10 节中规定的字符的半双工传输。
  • T=1 指的是第 11 节中规定的块的半双工传输。
  • T=2 和 T=3 保留用于将来的全双工操作。
  • T=4 保留用于字符的增强型半双工传输。
  • T=5 到 T=13 保留供 ISO/IEC JTC 1/SC 17 将来使用。
  • T=14 指的是未由 ISO/IEC JTC 1/SC 17 标准化的传输协议。
  • T=15 不是指传输协议,而是仅限定全局接口字节。

注:在 TA2(见 8.2)和 PPS0(见 9.2)中,比特 4 到 1 也编码类型 T。

如果存在 TD1、TD2 等,则编码类型 T 应按数字升序排列。 如果存在,T=0 应在前,T=15 应在后。 T=15 在 TD1 中无效。

“首先提供的传输协议”定义如下。

  • 如果存在 TD1,则它对第一个提供的协议 T 进行编码。
  • 如果 TD1 不存在,则只提供T=0。

每个接口字节 TA、TB 或 TC 要么是全局的,要么是特定的。

  • 全局接口字节是指卡内集成电路的参数,见8.3。
  • 具体接口字节是指卡提供的传输协议的参数。

TA1、TB1、TC1、TA2 和 TB2 是全局的。 TC2 特定于 T=0,见 10.2。

对于 i > 2 TAi TBi TCi 的解释取决于 TDi-1 中编码的类型 T。

  • 在从 0 到 14 的 T 之后,TAi TBi 和 TCi 特定于传输协议 T。
  • T=15 之后,TAi TBi 和 TCi 是全局的。

如果为同一类型 T 定义了三个以上的接口字节 TAi TBi TCi TAi+1 TBi+1 TCi+1 ...,则每个字节都由其在第一个之后的位置明确标识,对于 i > 2,T 在 TDi-1 中的第二次出现。因此,对于每个类型T,第一个TA TB TC、第二个TA TB TC 等等都是可用的。

注:类型 T 与位图技术的组合允许仅传输有用的接口字节,并在需要时使用默认值作为与不存在的接口字节相对应的参数。

例如,第 11.4 节规定了三个特定于 T=1 的接口字节,即 T=1 的第一个 TA、TB 和 TC。如果需要,在TD2指示T=1之后,该字节将分别作为TA3 TB3和TC3传输。根据卡是否也提供 T=0,TD1 应指示 T=0 或 T=1。

8.2.4 历史字节 T1 T2 … TK

历史字节描述卡的操作特性。 它们的结构和内容应符合 ISO/IEC 7816-4 的规定。

如果 K 不为零,则复位应答继续在 K(最多 15 个)历史字节 T1 T2 … TK 上。

8.2.5 校验字节 TCK

如果仅指示 T=0,可能默认情况下,则应不存在 TCK。如果存在 T=0 和 T=15,并且在所有其他情况下,则应存在 TCK。当 TCK 存在时,异或所有字节 T0 到 TCK 应给出'00'。任何其他值都是无效的。

8.3 全局接口字节

本节规定了全局接口字节 TA1、TB1、TC1、TA2、TB2 的内容,T=15 的第一个 TA 和 T=15 的第一个 TB。

  • 如果存在,则应解释此类字节以正确处理任何传输协议。
  • 如果没有这样的字节,则在需要时,相关参数应使用默认值。

ISO/IEC JTC 1/SC 17 保留了本节中未定义的所有全局接口字节和本节中定义的所有未使用的全局接口字节值,以备将来使用。

TA1编码时钟速率转换整数指示值(Fi)、波特率调整整数指示值(Di)和卡支持的频率最大值(f(max.))。 默认值为 Fi = 372、Di = 1 和 f(最大值) = 5 MHz。 关于Fi和Di的使用,见下面的7.1、TC1和TA2、9.2和10.2。 关于 f(最大值)的使用,见 5.2.3。

  • 根据表 7,位 8 到 5 编码 Fi 和 f(最大值)。
表 7 — Fi 和 f(最大值)
  • 根据表 8,位 4 到 1 编码 Di。
表 8 — Di

不推荐使用 TB1TB2。 该卡不应传输它们。 接口设备应忽略它们。

注:ISO/IEC 7816-3 的前两个版本指定了 TB1 和 TB2 来修复集成电路的电气参数,用于不推荐使用的触点 C6(见 5.1.1)。

TC1 在 8 位上对从 0 到 255 的额外保护时间整数 (N) 进行编码。 默认值为 N = 0。

  • 如果 N = 0 到 254,那么在准备好接收下一个字符之前,卡需要从前一个字符(由卡或接口设备传输)的前沿开始的以下延迟。

    [GT = 12etu + R * frac{N}{f} ]

    • 如果在 复位应答 中不存在 T=15,则 R = F / D,即用于计算 etu 的整数。
    • 如果 T=15 出现在 复位应答 中,则 R = Fi / Di,即上面由 TA1 定义的整数。

    没有额外的保护时间用于从卡传输字符:GT = 12 etu。

  • N = 255 的使用取决于协议:PPS 中的 GT = 12 etu(参见 9)和 T=0(参见 10)。 对于在 T=1 中使用 N = 255,请参见 11.2。

TA2为具体模式字节,如图15所示。TA2的使用见6.3.1和7.1。

  • 位 8 表示改变可协商/特定模式的能力:

    • 如果第 8 位设置为 0,则能够更改;
    • 如果第 8 位设置为 1,则无法更改。
  • 位 7 和 6 保留供将来使用(不使用时设置为 0)。

  • 位 5 表示参数 F 和 D 的定义。

    • 如果第 5 位设置为 0,则应应用上面由 TA1 定义的整数 Fi 和 Di。
    • 如果第 5 位设置为 1,则应应用隐式值(未由接口字节定义)。
  • 位 4 到 1 编码类型 T。

图 15 — TA2 的编码

注:支持 TA2 引用的三个值 F、D 和 T 的接口设备应使用 F 和 D 启动传输协议 T。否则,它应执行热复位(位 8 设置为 0)或停用(位 8 设置) 到 1)。

T=15 的第一个 TA 编码时钟停止指示符 (X) 和类别指示符 (Y)。 默认值为 X =“不支持时钟停止”和 Y =“仅支持 A 类”。 时钟停止的使用见6.3.2。 操作条件等级的使用,见 6.2.1 和 6.2.4。

  • 根据表 9,第 8 位和第 7 位指示卡是否支持时钟停止 (≠ 00) 或不支持 (= 00),以及当支持时钟停止时电路 CLK 上的首选状态。
表 9 — X
  • 根据表 10,第 6 位到第 1 位表示卡可接受的操作条件等级。 每个位代表一个类:第 1 位代表 A 类,第 2 位代表 B 类,第 3 位代表 C 类(见 5.1.3)。
表 10 — Y

T=15 的第一个 TB 表示卡使用 SPU(见 5.2.4)。 默认值为“未使用 SPU”。

编码在第 7 位到 1 位,使用是标准的(第 8 位设置为 0)或专有的(第 8 位设置为 1)。 值“00”表示卡不使用 SPU。 ISO/IEC JTC 1/SC 17 为将来使用第 8 位设置为 0 的任何其他值保留。

原文地址:https://www.cnblogs.com/sunchukun/p/15218679.html