第6章节:卡片操作流程(译自ISO7816-3)
6 卡片操作流程
6.1 原则
在卡的触点与接口设备的触点机械连接之前,电路应保持不活动状态。 接口设备与卡的交互通过以下操作顺序进行。
- 接口设备应将一类操作条件应用于电路,即激活、冷复位和可能的一个或多个热复位。 如果卡支持该类,则应根据第 8 条回答复位。接口设备以完整有效的复位应答和操作条件类结束。 接口设备应能够重复整个操作。
- 为了交换信息,卡和接口设备应就传输协议和传输参数值达成一致。 第 10 条规定 T=0,以接口设备为主的字符半双工传输。 第 11 条规定 T=1,块的半双工传输。 第 12 条规定通过 T=0 和 T=1 传输命令-响应对。 当不期望来自卡的传输时(例如,在处理命令-响应对之后并且在启动下一个之前),如果卡支持时钟停止,则接口设备可以停止时钟信号。
- 接口设备应执行去激活。
去激活应该在卡的触点和接口设备的触点之间机械断开之前完成。
6.2 激活、重置和类选择
6.2.1 激活
为了启动与机械连接卡的交互,接口设备应根据一类操作条件激活电路:A、B 或 C,见 5.1.3,按以下顺序。
- RST 应置于状态 L,见 5.2.2。
- VCC 应通电,见 5.2.1。
- 接口设备中的 I/O 应置于接收模式,见 5.2.5。 接口设备应在激活期间忽略 I/O 上的状态。
- 应为 CLK 提供时钟信号,见 5.2.3。
注 1:未定义为 VCC 供电、在接收模式下设置 I/O 和在 CLK 上提供时钟信号之间的延迟。
注 2:接口设备可能会因短路而失活。
图 1 总结了激活(时间 Ta 之前)和冷重置(时间 Ta 之后)。
6.2.2 冷复位
激活结束时(RST 处于状态 L,VCC 供电,接口设备中的 I/O 处于接收模式,CLK 提供合适且稳定的时钟信号),卡准备好冷复位。 在冷复位之前未定义卡的内部状态。
根据图 1,时钟信号在时间 Ta 施加到 CLK。 在时钟信号施加到 CLK(时间 Ta + ta)后,卡应在 200 个时钟周期(延迟 ta)内将 I/O 设置为状态 H。 冷复位是由于在时钟信号施加到 CLK 之后(在时间 Ta + tb)将 RST 保持在状态 L 至少 400 个时钟周期(延迟 tb)。 当 RST 处于状态 L 时,接口设备应忽略 I/O 上的状态。
在时间 Tb,RST 被置于状态 H。 I/O 上的应答应在 RST 上信号的上升沿(时间 Tb + tc)之后的 400 到 40 000 个时钟周期(延迟 tc)之间开始。 如果在 RST 处于状态 H 的 40 000 个时钟周期内没有开始应答,则接口设备将执行去激活。
6.2.3 热复位
由于热复位的答案可能与先前复位的答案不同,接口设备可以在任何时间热复位卡,甚至在复位应答期间,但不能在接收到强制字符 TS 和 T0 之前(见 8.1 )。 热复位不应在字符 T0 前沿后的 4 464 (= 12 × 372) 个时钟周期内启动。
警告 在复位应答期间启动的热复位可能会损坏符合先前版本 (ISO/IEC 7816-3:1997) 的卡。
根据图 2,接口设备通过将 RST 置于状态 L 至少 400 个时钟周期(延迟 te)来启动热复位(在时间 Tc),同时 VCC 保持供电并且 CLK 提供合适且稳定的时钟信号。 在状态 L 应用于 RST(时间 Tc + td)后,卡应在 200 个时钟周期(延迟 td)内将 I/O 设置为状态 H。 当 RST 处于状态 L 时,接口设备应忽略 I/O 上的状态。
在时间 Td,RST 被置于状态 H。 I/O 上的应答应在 RST 上信号的上升沿(时间 Td + tf)之后的 400 到 40 000 个时钟周期(延迟 tf)之间开始。 如果在 RST 处于状态 H 的 40 000 个时钟周期内没有开始应答,则接口设备将执行去激活。
6.2.4 类选择
图 3 说明了选择操作条件类别的原则。 该图并非详尽无遗。
- 如果复位应答携带指示正在应用的类的类指示符(参见 8.2 中 T=15 的第一个 TA),则可以继续正常操作。 或者,接口设备可以执行去激活,并在至少 10 毫秒的延迟后,应用卡支持的另一个类。
- 如果复位应答不携带类指示符,则接口设备应保持当前类。 如果在完成复位应答后,卡不工作,则接口设备应执行去激活,并在至少 10 ms 的延迟后应用另一类。
- 如果卡不响应复位,则接口设备应执行去激活和
- 延迟至少 10 毫秒后,应用另一个类(如果有),或
- 中止选择过程。
在选择过程中止之后,接口设备可以发起另一个选择过程。
一经选定,正常运行期间不得更改等级。 为了改变它,接口设备应执行去激活,并在至少 10 ms 的延迟后,应用另一个类。
6.3 信息交流
6.3.1 传输参数和协议的选择
完成复位应答后,卡将等待来自接口设备的字符:它们的传输由传输参数控制(见 7.1); 它们的解释受协议约束(见 9、10 和 11)。 图4说明了传输参数和协议的选择原则。
- 如果 TA2(见 8.3)出现在复位应答(特定模式的卡)中,则接口设备应使用特定的传输参数值启动特定的传输协议。
- 否则(卡处于可协商模式),对于传输参数,在复位应答期间使用的值(即传输参数的默认值,见 8.1)应继续如下应用。
- 如果卡接收到的第一个字符的值为“FF”,则接口设备应启动 PPS 交换(见 9); 传输参数的默认值将继续应用,直到成功完成 PPS 交换(见 9.3),之后接口设备应使用传输参数的协商值启动协商传输协议。
- 否则,接口设备应启动“第一个提供的传输协议”(见 8.2.3 中的 TD1)。 当卡仅提供一种传输协议且仅提供传输参数的默认值时,接口设备应这样做。 这种卡不需要支持 PPS 交换。
注 1:PPSS('FF',见 9.2)的值对 CLA(T=0,见 10.3.2)和 NAD(T=1,见 11.3.2.1)无效。
注 2:在可协商模式下提供 T=0 的多协议卡中,只能“隐式”选择 T=0。
注 3:面向可协商模式的卡且既不支持 PPS 交换也不支持“首先提供的传输协议”的接口设备可以执行热复位或去激活。
注 4:向不知道特定模式存在的接口设备发送字符 TA2 的卡不能依赖热复位来切换模式。
注 5:检测到字符 TA2 的接口设备在检测到接收字符中不支持的值或 WT 溢出之前不应启动热复位(见 7.2)。
6.3.2 时钟停止
对于支持时钟停止的卡,当接口设备期望卡没有传输并且I/O在状态H保持至少1860个时钟周期(延迟tg)时,则根据图5,接口设备可以停止发送 CLK 上的时钟(在时间 Te),而 VCC 保持供电并且 RST 处于状态 H。
当时钟停止时(从时间 Te 到时间 Tf),根据 8.3 中定义的时钟停止指示器 X,CLK 应保持在状态 H 或状态 L。
在时间 Tf,接口设备重新启动时钟,并且 I/O 上的信息交换可能会在至少 700 个时钟周期(时间 Tf + th)后继续进行。
6.4 停用
当信息交换完成或中止时(例如,卡无响应,检测到卡移除),接口设备应按以下顺序停用电路(见图 6)。
- RST 应置于状态 L。
- CLK 应置于状态 L(除非时钟已停止在状态 L)。
- I/O 应置于状态 L。
- VCC 应停用。