0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DS8007和智能卡接口基础

星星科技指导员 来源:ADI 作者:ADI 2023-03-03 14:24 1591次阅读

DS8007是一款多协议、低成本、双智能接口,支持所有ISO 7816、EMV™和GSM11-11要求。这个混合信号外设管理微控制器和两个独立智能卡之间接口的所有细节。本应用笔记介绍了智能卡的一些基础知识以及如何与智能卡通信。提供的软件使用DS8007将智能卡与DS5002安全微处理器连接。

概述

什么是智能卡?智能卡通常定义为包含嵌入式集成电路的任何袖珍卡。由于嵌入式集成电路,智能卡有时被称为集成电路卡或ICC。图 1 显示了一个典型示例。这些卡用于各种不同的应用,取代了熟悉的支付(借记卡或信用卡)卡,后者使用磁条来存储有关卡帐户的信息。在支付应用中向智能卡的过渡主要是因为功能增加,特别是因为该技术可以提高安全性。但是,必须根据智能卡的较高成本来评估后一种功能。

嵌入在智能卡中的集成电路可以是简单的非易失性存储设备,也可以是能够执行复杂操作的微控制器等复杂设备。支付卡中的简单非易失性存储设备可以取代用于存储数据的磁条。在许多此类设备中,存储器与附加逻辑相结合,以限制对部分或全部存储器的访问。然而,智能卡的真正功能在于嵌入式微控制器执行数据处理和/或加密功能的能力。这种处理能力允许增强安全功能。然而,随着复杂性的增加,卡的成本也在增加。带有嵌入式处理器的智能卡的成本在 7.00 美元到 15.00 美元之间,而带有磁条的支付卡的成本可能低至 0.75 美元¹ (美元)。智能卡的这种较高成本减缓了从更简单技术的普遍转换,但随着对安全性的要求增加,对智能卡的需求也将增加。

DS8007提供微控制器与两个独立智能卡物理接口所需的所有电信号。该器件包含一个专用的内部定序器,用于控制自动卡激活和停用,以及一个用于数据通信的ISO UART电荷泵和稳压器允许该器件在 2.7V 至 6.0V 电源电压下工作,并产生两个独立的智能卡电源电压,其中任一电压可以是 1.8V、3.0V 或 5V。与微控制器的通信由标准的并行8位总线提供,该总线在非多路复用配置中传输数据,或在多路复用配置中传输数据和地址。

智能卡详细信息

虽然最熟悉的智能卡外形规格是信用卡大小的设备,但术语“智能卡”也适用于用户识别模块 (SIM),其大小约为邮票大小,常见于移动电话中。这种SIM卡外形还用于支付终端,为终端提供特定的支付系统数据和详细的应用信息。信用卡大小设备的卡部分通常由聚氯乙烯(PVC)制成,并且通常浮雕有帐号和可能的有效期。无论外形尺寸如何,所有机电规格均基于 ISO 7816 系列标准。此外,由EuroCard,MasterCard和Visa(EMV)公司组成的联盟已经制定了一套专门针对智能卡及其在支付系统中的应用的标准。EMV规范通常基于ISO 7816文档。®®®

智能卡联系人

智能卡上触点的数量、位置和功能由上述标准明确定义。集成电路在标准智能卡上的位置和触点尺寸如图2所示。ISO 7816 定义了八个可能的接触位置。在这八个地点中,有五个目前用于EMV应用。这些触点的名称和功能如表1所示。而触点 C6 定义为 V聚丙烯根据 ISO 7816,根据 EMV 规范,此编程电压不用于电流卡。不使用触点 C4 和 C8,也不需要实际存在。下面将更详细地讨论EMV规格中指定的各个触点。

Contact Name Contact Function
C1 Supply voltage to card (VCC)
C2 Reset (RST)
C3 Clock (CLK)
C4 Provided on the DS8007; not used in EMV
C5 Ground (GND)
C6 VPP; not used in EMV
C7 Input/output (I/O)
C8 Provided on the DS007; not used in EMV

poYBAGQBkoCAQwyAAAAe1dZqAPg987.gif

图2.接触尺寸和位置。

Vcc触点 (C1)

此触点为卡提供电源电压。V的原始规格抄送仅包括 5V 直流 ±10%。但是,目前已分阶段迁移到低压卡。仅支持此原始规范的卡(称为 A 类卡)将在 2009 年 《》 月底之前替换为 AB 类或 ABC 类卡。五世抄送这些卡类别的规格如下:

A 类卡:4.5V ≤ VCC ≤ 5.5V at ≤ 50mA

AB类卡:2.70V ≤ VCC ≤ 3.3V at ≤ 50mA

ABC类卡:1.62V ≤ VCC ≤ 1.98V at ≤ 30mA

DS8007卡接口包含电荷泵和稳压器,当器件采用2.6V至6.0V电源供电时,可为三种卡类别中的任何一种提供适当的电压。

输入/输出触点 (C7)

智能卡上的I/O触点用作输入(接收模式)以从终端接收数据或作为输出(传输模式)以将数据传输到终端。

在接收模式下,当输入符合以下规范时,卡将识别有效数据。

A类卡

输入高压:0.7 × VCC ≤ VIH ≤ VCC

输入低电压:0.0 ≤ VIL ≤ 0.8V

上升时间/下降时间:≤ 1μs

AB 类或 ABC 卡

输入高压:0.7 × VCC ≤ VIH ≤ VCC

输入低电压:0.0 ≤ VIL ≤ 0.2 × VCC

上升时间/下降时间:≤ 1μs

在传输模式下,I/O 触点将提供如下信号电平:

A类卡

输出高压:0.7 × VCC ≤ VOH ≤ VCC, -20µA 《 IOH 《 0, VCC = min

输出低电压:0.0 ≤ VOL ≤ 0.4V, 0 《 IOL 《 1mA, VCC = min

上升时间/下降时间:≤ 1.0μs

AB 类或 ABC 卡

输出高压:0.7 × VCC ≤ VOH ≤ VCC, -20µA 《 IOH 《 0, VCC = min

输出低电压:0.0 ≤ VOL ≤ 0.15 × VCC, 0 《 IOL 《 1mA, VCC = min

上升时间/下降时间:≤ 1.0μs

EMV 规范规定,除非 I/O 触点正在传输,否则智能卡的 I/O 触点驱动程序将设置为接收模式。

CLK 联系人 (C3)

CLK触点是由接口端子(即DS8007)提供的输入。该信号用于控制交易过程中数据传输的时间。频率范围指定在 1.0MHz 和 5.0MHz 之间。此触点具有以下电气规格:

A类卡

输入高压:VCC - 0.7 ≤ VIH ≤ VCC

输入低电压:0.0 ≤ VIL ≤ 0.5V

上升时间/下降时间:时钟周期的≤9%

AB 类或 ABC 卡

输入高压:0.7 × VCC ≤ VIH ≤ VCC

输入低电压:0.0 ≤ VIL ≤ 0.2 × VCC

上升时间/下降时间:时钟周期的≤9%

RST 触点 (C2)

RST触点是由接口端子源的卡的输入。该信号为低电平有效信号,将导致卡异步复位。该触点具有与CLK触点相同的电气规格,但最大上升和下降时间为1.0μs。

从上述规范可以看出,与智能卡接口的终端必须提供各种电源电压和信号电平。接口规格还要求端子能够承受卡的任意两个触点之间的短路。由于这些原因,使用专用器件提供必要的电源电压和信号电平显然比组装大量分立模拟IC更有利。DS8007就是这样一款专用器件。除了提供这些功能所需的模拟电路外,它还包含FIFO和其他数字控制逻辑,以支持完整的卡会话所需的状态排序和时序。

终端接口要求

所有卡片会话都包括以下步骤。

将卡插入终端;联系人的连接和激活

重置卡;在终端和卡之间建立通信(ATR 序列 — 见下文)

交易的执行

停用联系人;取出卡

插入后对卡进行初始重置后,卡会以一系列称为重置答案或 ATR 的字符进行响应。这一系列字符建立初始通信详细信息,包括所有后续通信的特定协议、位定时和数据传输详细信息。虽然后续数据传输可以更改某些通信参数,但 ATR 会建立初始通信条件。以下各节将广泛讨论 ATR。

个人角色详细信息

在智能卡和终端之间的接口期间,信息通过双向 I/O 触点串行传输。位持续时间定义为元素时间单位或 ETU。ETU 的时间段与 CLK 触点上的端子提供的时钟信号具有直接线性关系。ATR 期间字符的位时序称为初始 ETU。此初始 ETU 由以下等式定义:

初始 ETU = 372/ƒ 秒

其中 ƒ 是以赫兹为单位的时钟信号的频率。

在 ATR 之后,位持续时间称为电流 ETU,它是参数 F 和 D 以及时钟频率的函数。(参数 F 和 D 在下面的 TA1 字符部分中进行了更详细的讨论。

当前 ETU = F/(Dƒ) 秒

其中 ƒ 是以赫兹为单位的时钟信号的频率。

任何通信中的每个字符都由 10 位组成,因此持续时间为 1 个 ETU。字符的第一个位称为起始位;它总是很低。在起始位之前,I/O 行保持其默认高电平状态。字符的最后一位是奇偶校验位;它由源确定为高或低,因此字符中的 3 总数是偶数。该位模式如图<>所示。

poYBAGQBkoGACrXVAAAMPz3Nzx4718.gif

图3.10 位字符帧。

智能卡通信协议

在ISO 7816规范中,四个位用于选择卡会话的通信协议。目前,可能的 2 种协议中有 16 种正在使用中。它们被称为 T=0 和 T=1。两种协议都是半双工(一次一个方向),异步通信。T=0 协议是基于字符的格式,而 T=1 是基于块的格式。所有符合EMV标准的智能卡必须支持T=0或T=1协议,而终端必须同时支持两者。

将卡插入端子后,当所有触点保持在“低”状态时,电源电压立即施加到卡的 V抄送联系。在端子验证电压稳定且在指定限值内后,将端子的 I/O 触点驱动器置于接收模式,并将时钟信号施加到卡的 CLK 触点。在时钟信号启动后的 200 个周期内,终端将其 I/O 线置于接收模式,卡将其 I/O 线置于传输模式。在 40,000 到 45,000 个时钟周期的间隔之后,终端在卡的 RST 触点上应用高电平有效信号。在 400 到 40,000 个时钟周期后,该卡以一系列称为 ATR 的字符进行响应。ATR 包括详细说明后续通信将如何进行的信息,包括 T=0 或 T=1 协议选择。如果未指定协议,则假定 T=0。(下面介绍了 ATR 的完整详细信息以及其中包含的信息。

复位答案 (ATR)

最初由终端重置后,EMV 智能卡以一串字符响应,称为重置答案或 ATR。这些字符由初始字符 TS 组成,后跟最多 32 个附加字符。这些字符一起向终端提供有关如何在会话的剩余时间内与卡通信的信息。以下各节将介绍每个字符。

表 0 给出了协议 T=2 的 EMV 规范定义的 ATR 内容,表 1 给出了协议 T=3 定义的 ATR 内容。

字符 价值 言论
TS “3B”或“3F” 表示直接 (3B) 或反向 (3F) 约定。
T0 '6x 存在 TB1 和 TC1,不存在 TA1 和 TD1;x 表示存在的历史字节数。
TB1 '00' VPP is not required.
UCP “00”到“FF” 指示所需的额外保护时间量。值“FF”具有特殊含义。(请参阅下面的 TC1 说明。
字符 价值 言论
TS “3B”或“3F” 表示直接 (3B) 或反向 (3F) 约定。
T0 'Ex' 存在 TB1、TC1 和 TD1,不存在 TA1;x 表示存在的历史字节数。
TB1 '00' V聚丙烯不是必需的。
UCP “00”到“FF” 指示所需的额外保护时间量。
UDP '81' TA2、TB2 和 TC2 缺失;存在 TD2;T=1 使用。
UDP '31' 存在 TA3 和 TB3;TC3 和 TD3 缺失;T=1 使用。
UAR “10”到“FE” 返回 IFSI,它指示卡的信息字段大小和 IFSC 的初始值 16 字节到 254 字节。
TB3 m.s. nibble* '0' to '4'; l.s. nibble '0' to '5' BWI = 0 到 4
CWI = 0 到 5
TCK 检查字符。从 T0 到 TCK (含)的所有 ATR 字节的独占 OR 为空。
*Note: m.s. nibble = most significant nibble; l.s. nibble = least significant nibble.

TS 初始字符

ATR 序列的第一个字符定义为初始字符 TS。凭借其位模式,此字符同步信息并定义所有后续字符的极性。TS的前四位由一个低起始位组成,后跟两个高位,后跟一个附加低位。此固定位模式允许定时同步。以下三位要么全部为高电平表示直接约定,要么全部为低电平以表示反向约定。对于直接约定,I/O 线上的高状态等效于逻辑 1,并且首先传输数据的最低有效位。对于反约定,I/O线上的低状态等效于逻辑1,数据首先传输最高有效位。虽然规范允许反向约定,但EMV建议将直接约定用于所有当前的卡设计。最后三位是两个低位,后跟一个高位。此字符帧或任何其他 10 位字符帧中的最后一位是奇偶校验位;它将被设置或清除以使帧中的 1 数成为偶数。

T0 格式字符

ATR 序列的第二个字符定义为格式字符,称为 T0。此字符包含两个部分,这两个部分确定剩余 ATR 序列中包含的字符。最重要的四个位称为Y1,它们指示是否将传输TA1,TB1,TC1或TD1。对于 Y1 的每个逻辑 1,相应字符的存在确定如下:

位 8 (msb) = 1 表示将传输字符 TD1 位 7 = 1 表示将传输字符 TC1 位 6 = 1 表示将传输字符 TB1 位 5 = 1 表示将传输


字符 TA1

T0 的最低有效四位称为 K。这些位确定将包含在剩余 ATR 序列中的“历史字节”的 0 到 15 个数字。历史字节传达有关卡的一般信息,例如卡制造商、卡中的芯片、芯片中的屏蔽 ROM 或卡的生存状态。ISO 7816 和 EMV 规范都没有准确定义要传达的信息(如果有的话)。

如上表2所示,Y1位b7和b6为高电平,b8和b5位为低电平('6x')。这表示将传输 TC1 和 TB1,而字符 TA1 和 TD1 不会传输(如表中所示)。对于协议 T=0,字符 TB1 和 TC1 完成基本 ATR 序列。在表 3 中,Y8 的第 1 位也很高,因此对于协议 T=1,字符 TD1 也将传输。

TA1 字符

虽然字符TA1不在T=0或T=1协议的基本EMV ATR响应中传输,但在ISO 7816规范中定义了其他通信。使用时,TA1被分成上下半身。上半字节确定时钟速率转换因子F,用于修改时钟信号的频率。较低的半字节确定 D,即可用于调整 ATR 之后的位持续时间的比特率调整因子。这些参数的使用如上面的公式2所示。默认值 F = 372 和 D = 1 用于 ATR 期间的初始 ETU 值,除非在基本 ATR 之外进行更改,否则将在后续交换期间继续使用。

TB1 字符

TB1 字符传达有关智能卡编程电压要求的信息。位 b1 至 b5(称为 PI1)表示编程电压,位 b6 和 b7(称为 II)表示智能卡所需的最大编程电流。对于基本 ATR,TB1 = '00' 表示 V聚丙烯智能卡中的 PIN 未连接。

TC1 字符

TC1 字符传达 N 的值,该值确定从终端发送到智能卡的连续字符之间要添加的额外保护时间。此值不适用于从卡发送到终端的字符,也不适用于以相反方向发送的两个字符。N 是一个二进制数,表示要添加为额外保护时间的额外 ETU。当 TC1 = 'FF' 时,应使用字符之间的最小延迟。对于协议 T=0,这是 12 个 ETU,对于 T=11,这是 1。N 的值可以是 0 到 255 之间的任何值;如果未在 ATR 中返回 TC1,终端将继续,就像收到值 00 一样。由于此值会增加字符传输的时间,因此应将其最小化以加快事务。

TD1 字符

TD1 字符指示是否要传输任何其他接口字节,如果是,将使用哪种协议。字符 TD1 是通用字符 TDx 的特定实例。TDx最重要的半字节表示TA(x + 1),TB(x + 1),TC(x + 1)或TD(x + 1)将被传输。对于每个逻辑 1,后续传输中相应字符的存在确定如下:

位 8 (msb) = 1 表示将传输字符 TD(x + 1) 位 7 = 1 表示将传输字符 TC(x + 1) 位 6 = 1 表示将传输字符 TB(x + 1) 位 5 = 1 表示将传输


字符 TA(x + 1)

TD1 字符(TDx 广义)的最低有效半字节包含值 0x0 或 0x1,分别指示协议 T=0 或 T=1。

如果使用协议 T=0,则字符 TD1 将不包括在 ATR 序列中;协议 T=0 将用于所有后续传输。如果使用协议 T=1,则将包含 TD1 并包含 0x81 的值。后一个值表示 TD2 将存在,协议 T=1 将用于所有后续传输。

TA2字符

虽然字符TA2不在T=0或T=1协议的基本EMV ATR响应中传输,但它在ISO 7816规范中定义。TA2 的存在与否决定了智能卡是在 ATR 之后分别以特定模式还是可协商模式运行。没有TA2表示将使用可转让操作模式。

TB2 字符

虽然字符TB2不会在T=0或T=1协议的基本EMV ATR响应中传输,但它在ISO 7816规范中定义。字符TB2表示PI2,PI1确定智能卡所需的编程电压值。当存在字符 TB1 时,将取代字符 TB2 中的 PI<> 值。

TC2 字符

虽然字符TC2不在T=0或T=1协议的基本EMV ATR响应中传输,但它在ISO 7816规范中定义。如果存在,TC2 特定于协议类型 T=0。TC2 传输工作等待时间整数 (WI),该整数确定智能卡发送的任何字符的起始位的前缘与卡或终端发送的前一个字符的起始位的前沿之间的最大间隔。工作等待时间的值为:

工作等待时间 = 960 × D ×WI

其中 D 是比特率调整因子(请参阅上面 TA1 中的说明)。

当 ATR 序列中不包含 TC2 时,假定默认值为 WI = 0x0A。

TD2 字符

TD2 字符与 TD1 字符具有相同的功能。有关详细信息,请参阅上面的 TD1 说明。在协议 T=3 的表 1 中,存在 TD2 并包含值 0x31。此值指示:TA3 和 TB3 将存在,TC3 和 TD3 将不存在,协议类型将为 T=1。

TA3 字符

TA3 字符传达智能卡的信息字段大小整数 (IFSI)。IFSI 确定智能卡的信息字段大小,这是卡可以接收的块的信息字段 (INF) 的最大长度。字段大小可以是 0x01 到 0xFE 之间的任何值。0x0和0xFF的值保留供将来使用。在基本 ATR 中使用 T=1 协议,TA3 的值在 0x10 到 0xFE 的范围内,因此表示 IFSC 在 16 到 254 字节的范围内。对于不包含 TA3 的 ATR,终端将假定默认值为 0x20。

TB3 字符

TB3 字符表示用于计算字符等待时间 (CWT) 和块等待时间 (BWT) 的字符等待时间整数 (CWI) 和块等待时间整数 (BWI) 的值。TB3 的最低显著部分(b1 至 b4)表示 CWI 的值;最重要的半字节(B5 到 B8)表示 BWI 的值。在 T=1 协议的基本 ATR 中,TB3 字符在 0 到 5 (CWI = 0 到 5) 范围内具有最低有效半字节,在 0 到 4 范围内具有最不重要的半字节(BWI = 0 到 4)。

TC3 字符

虽然字符TC3不在T=0或T=1协议的基本EMV ATR响应中传输,但它在ISO 7816规范中定义。当存在 TC3 时,它指示要使用的块错误检测类型。当 TC3 不存在时,默认纵向冗余校验 (LRC) 是使用的块错误校验。

TCK 字符

TCK 字符是校验字符,其值允许验证 ATR 中发送的数据的完整性。TCK 的值可以是任何值,只要从 T0 到 TCK 包含的所有字节的独占 OR 为零即可。TCK 不用于 T=0,但在所有其他情况下将在 ATR 中返回。

ATR序列

在终端接收到ATR序列中的最后一个字符后,将必要的参数从卡传输到终端后,可以对DS8007进行任何必要的接口参数调整。然后可以开始进一步的沟通。

应用协议数据单元 (APDU)

如前所述,卡会话的下一阶段是交易的执行。交易过程中执行的具体操作取决于卡和帐户的类型(信用卡、借记卡等)以及用户的请求。无论具体操作如何,事务都是通过向智能卡发出命令来完成的。智能卡执行请求的操作,并可能传达结果。卡的操作可以像读取内存中的位置一样简单,也可以像执行加密操作一样复杂。无论操作如何,终端和卡之间的通信都是使用应用协议数据单元或APDU进行的。

要运行应用程序,智能卡和终端必须交换信息。这种信息共享是在命令-响应数据交换中完成的。终端创建命令并将其发送到智能卡,智能卡随后解释命令并发送响应。此命令-响应消息对称为应用程序协议数据单元 (APDU)。终端 (C-APDU) 发送的特定命令消息将具有来自卡 (R-APDU) 的特定响应消息。这些消息称为 APDU 命令-响应对。EMV 规范详细介绍了这两种消息类型的格式,它们的格式如下所述。

C-APDU 格式

终端启动所有命令 APDU。它们由必需的 4 字节标头组成,后跟可包含数据的可变长度的可选主体。C-APDU 中包含的数据字节数在命令字节 Lc 中指定;终端期望从卡的响应接收的字节数在命令字节 Le 中指定。C-APDU格式如表4所示,字符如表5所示。

CLA INS P1 P2 Lc Data Le
←必需标头→ ←条件体→
Code 描述 长度
CLA 教学等级 1
INS 指令代码 1
P1 指令参数 1 1
P2 指令参数 2 1
Lc 命令日期字段中存在的字节数 0 或 1
Data 在命令中发送的数据字节字符串 (= Lc) 变量
Le 响应数据字段中预期的最大数据字节数 0 或 1

命令APDU的第一个字节被定义为指令类,称为CLA。此字节可以采用除 8xFF 之外的任何 0 位值。但是,目前仅使用最高有效半字节 0 和 8 的值。值为 0 的最重要半字节定义为行业间命令,值 8 是 EMV 规范专有的。

命令APDU的第二个字节是指令代码,称为INS。仅当最低有效位为 0 且最高有效半字节既不是 6 也不是 9 时,此字节才有效。

必需标头的 P1 和 P2 字节包含特定命令的参数,可以是任何值。如果未使用,则参数字节的值必须为 0x00。

R-APDU

从终端接收并解释 APDU 命令后,智能卡将返回响应。如规范中所定义,此响应由可变长度的可选主体组成,后跟由两个字节组成的所需拖车。这种格式如表6所示,APDU响应的内容如表7所示。

Data SW1 SW2
←Body→ ←Trailer→
Code 描述 长度
数据 APDU 响应中接收的数据字节字符串 变量 (= Lr)
SW1 命令处理状态 1
SW2 命令处理限定符 1

卡响应的预期长度作为 APDU 命令的 Le 代码部分传输。响应的实际长度称为 Lr。虽然卡不传输Lr的值,但终端可以根据应用需要计算它。

为了正常完成命令,智能卡将返回值为 1x0 的 SW90 和值为 2x0 的 SW00。任何其他响应都指示发生了错误或警告²。

示例代码

本应用笔记随附的软件包含在可下载的文件an4029_sw.zip中。此文件包含生成可执行十六进制文件 (ds8007.hex) 所需的所有 C (main.c、ds51.c、LCD_Funct.c) 和汇编语言 (Startup.a8007) 源代码。该代码是使用 Keil PK51 专业开发人员工具包和 μVision 集成开发环境 (IDE) 编译和链接的。μVision 项目文件 (ds8007.Uv2) 也包含在.zip文件中。这。HEX文件在DS8007评估(EV)板(可从Analog获得)中的DS8007智能卡接口板上加载并运行。示例软件实现完整的智能卡会话,包括上电、ATR、APDU 和断电操作。当连接到哑终端时,电路板和软件将产生232,38波特的RS-400串行输出。此输出如下面的图 4 所示。本软件的详细说明超出了本应用笔记的范围,但提供的源代码可以作为使用DS5002安全微处理器和DS8007多协议双智能卡接口芯片的完整智能卡接口的基础。®

pYYBAGQBkoKACEQlAAAQb99iBQE023.gif

图4.软件输出。

为了测试示例软件,使用了高级卡系统(ACS)基于微控制器的智能卡。作为基于微控制器的设备,该卡执行其嵌入式操作系统的功能,称为ACS智能卡操作系统版本1或ACOS1。此卡具有以下功能。

8kB EEPROM 存储器,用于存储应用数据

符合 ISO 7816-3,T=0 协议

DES 和 MAC 功能

基于随机数的会话密钥

密码,可由持卡人更改

用于相互身份验证的密钥对

ACOS1 文档指示此卡将使用 19 字节的数据响应重置。如图 4 所示,为 T0 返回的值为 0xBE。高半字节 (0xB) 表示 TA1、TB1 和 TD1 将与 TS 一起包含在 ATR 中。低半字节包含0xE,表示 ATR 响应中将包含 14 个历史字节(请参阅上面的字符 T0 说明)。因此,卡的 ATR 中总共包含 19 个字节。

对于此示例软件,执行一个 ADPU,即“启动会话”命令。此命令具有以下格式。

CLA INS P1 P2 P3
0x80 0x84 0x00 0x00 0x08

对“启动会话”命令的响应具有以下格式。

Data SW1 SW2
RNDc (8 bytes from card) Status Status

图 4 所示的软件输出表明,从卡返回的随机数为 0xCB、0xC4、0xBD、0xD5、0xA4、0x7E、0x36和0x3F。它还显示返回的状态为 0x90, 0x00,这表示命令成功完成。

结论

DS8007为混合信号外设,减轻了微控制器与智能卡接口的负担。它提供与两个独立智能卡进行物理接口所需的所有电信号。专用的内部定序器控制自动卡激活和停用,以及用于数据通信的ISO UART。电荷泵和稳压器允许DS8007工作在2.7V至6.0V电源电压,同时产生两个独立的智能卡电源电压,可以是1.8V、3.0V或5V。与微控制器的通信由标准的并行8位总线提供,该总线在非多路复用配置中传输数据或在多路复用配置中传输数据和地址。所提供的软件使用DS5002安全微处理器和DS8007作为其智能卡接口实现完整的卡会话。智能卡在其 ATR 中返回的字符以 38400 波特率输出在主板的串行端口上,并向卡发送“启动会话”命令 APDU。生成的随机数也会输出在串行端口上。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7884

    浏览量

    153530
  • 电源
    +关注

    关注

    185

    文章

    18217

    浏览量

    254609
  • 稳压器
    +关注

    关注

    24

    文章

    4539

    浏览量

    95346
收藏 人收藏
    相关推荐
    热点推荐

    多协议双智能卡接口DS8007相关资料下载

    概述:DS8007是一款低成本多协议双智能卡读卡接口,满足所有ISO 7816、EMV™和GSM11-11的要求。通过其8位并行总线和专用地址选择(AD3–AD0)引脚,DS8007
    发表于 05-17 06:55

    DS8007 多协议双智能卡接口

    DS8007 多协议双智能卡接口 DS8007是一款低成本多协议双智能卡读卡接口,满足所有IS
    发表于 11-27 18:05 894次阅读
    <b class='flag-5'>DS8007</b> 多协议双<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>

    利用DS8007评估套件进行设计

    摘要:本文阐述使用DS8007智能卡接口评估(EV)套件的步骤,解释了怎样安装和配置软件、配置硬件,建立并装载板上DS5002FP微控制器执行的应用软件。提供了一个简单的"Hello
    发表于 04-23 10:14 1146次阅读

    DS8007智能卡接口基础

    摘要:DS8007是一款低成本的多协议双智能卡接口,满足所有ISO 7816、EMV™和GSM11-11的要求。这个混合信号外设可以管理微控制器和两个
    发表于 04-23 10:33 645次阅读
    <b class='flag-5'>DS8007</b>和<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>基础

    DS8007智能卡接口基础

    摘要:DS8007是一款低成本的多协议双智能卡接口,满足所有ISO 7816、EMV™和GSM11-11的要求。这个混合信号外设可以管理微控制器和两个独立智能卡间的所有
    发表于 04-24 17:27 1553次阅读
    <b class='flag-5'>DS8007</b>和<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>基础

    DS8007智能卡交易中的应用

    摘要:本应用笔记介绍了一个用DS8007接口器件和DS5002安全微控制器设计的智能卡支付终端实例。DS8007评估(EV)套件和所提供的C
    发表于 04-24 17:28 1054次阅读

    利用DS8007评估套件进行设计

    摘要:本文阐述使用DS8007智能卡接口评估(EV)套件的步骤,解释了怎样安装和配置软件、配置硬件,建立并装载板上DS5002FP微控制器执行的应用软件。提供了一个简单的"Hello
    发表于 04-24 17:29 995次阅读
    利用<b class='flag-5'>DS8007</b>评估套件进行设计

    DS8007A多协议双智能卡接口

      DS8007A多协议双智能卡接口是一款汽车级、低成本双智能卡读卡器接口,满足所有ISO 7816、EMV™和GSM11-11
    发表于 11-03 09:10 1004次阅读
    <b class='flag-5'>DS8007</b>A多协议双<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>

    DS8007 低成本多协议双智能卡读卡接口

    DS8007是一款低成本多协议双智能卡读卡接口,满足所有ISO 7816、EMV™和GSM11-11的要求。通过其8位并行总线和专用地址选择(AD3–AD0)引脚,DS8007可方便的
    发表于 07-21 18:12 1794次阅读
    <b class='flag-5'>DS8007</b> 低成本多协议双<b class='flag-5'>智能卡</b>读卡<b class='flag-5'>接口</b>

    DS8007芯片在智能卡交易中的应用

    本应用笔记介绍了一个基于 DS8007 多协议双智能卡接口芯片和 DS5002 安全微控制器的智能卡支付交易系统。该系统可实现基本的
    的头像 发表于 10-30 21:17 788次阅读

    DS8007接口芯片在智能卡交易中有什么样的应用

    本应用笔记介绍了一个基于 DS8007 多协议双智能卡接口芯片和 DS5002 安全微控制器的智能卡支付交易系统。该系统可实现基本的
    发表于 12-08 23:04 18次下载

    DS8007智能卡交易中的应用

    本应用笔记介绍了基于DS8007多协议、双智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系统。基本信用
    的头像 发表于 03-03 14:16 983次阅读
    <b class='flag-5'>DS8007</b>在<b class='flag-5'>智能卡</b>交易中的应用

    DS8007智能卡交易中的应用

    本应用笔记介绍了基于DS8007多协议、双智能卡接口芯片和DS5002安全微控制器的智能卡支付交易系统。基本信用
    的头像 发表于 04-03 11:05 1073次阅读
    <b class='flag-5'>DS8007</b>在<b class='flag-5'>智能卡</b>交易中的应用

    DS8007智能卡接口基础

    DS8007是一款多协议、低成本、双智能卡接口,支持所有ISO 7816、EMV™和GSM11-11要求。这个混合信号外设管理微控制器和两个独立智能卡之间
    的头像 发表于 04-03 11:12 1226次阅读
    <b class='flag-5'>DS8007</b>和<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>基础

    利用DS8007评估套件进行设计

    本文阐述使用DS8007智能卡接口评估(EV)套件的步骤,解释了怎样安装和配置软件、配置硬件,建立并装载板上DS5002FP微控制器执行的应用软件。提供了一个简单的\"Hello W
    的头像 发表于 06-16 17:19 888次阅读
    利用<b class='flag-5'>DS8007</b>评估套件进行设计

    接口核心板必选 | 视美泰AIoT-3568SC 、 AIoT-3576SC:小身材大能量,轻松应对多场景设备扩展需求!

    在智能硬件领域,「适配」是绕不开的关键词。无论是小屏设备的”寸土寸金”,还是模具开发的巨额成本,亦或是多产品线兼容的复杂需求,开发者总在寻找一款能「以不变应万变」的核心解决方案。视美泰旗下的AIoT-3568SC与AIoT-3576SC接口核心板系列,可以说是专为高灵活适配场景而生!无需为设备尺寸、模具限制或产品线差异妥协,一块核心板,即可释放无限可能。为什

    视美泰
    15分钟前
    16

    3核A7+单核M0多核异构,米尔全新低功耗RK3506核心板发布

    近日,米尔电子发布MYC-YR3506核心板和开发板,基于国产新一代入门级工业处理器瑞芯微RK3506,这款芯片采用三核Cortex-A7+单核Cortex-M0多核异构设计,不仅拥有丰富的工业接口、低功耗设计,还具备低延时和高实时性的特点。核心板提供RK3506B/RK3506J、商业级/工业级、512MB/256MBLPDDR3L、8GBeMMC/256

    米尔电子
    2小时前
    56

    搭建树莓派网络监控系统:顶级工具与技术终极指南!

    树莓派网络监控系统是一种经济高效且功能多样的解决方案,可用于监控网络性能、流量及整体运行状况。借助树莓派,我们可以搭建一个网络监控系统,实时洞察网络活动,从而帮助识别问题、优化性能并确保网络安全。安装树莓派网络监控系统有诸多益处。树莓派具备以太网接口,还内置了Wi-Fi功能,拥有足够的计算能力和内存,能够在Linux或Windows系统上运行。因此,那些为L

    上海晶珩电子科技有限公司
    19小时前
    308

    STM32驱动SD NAND(贴片式SD卡)全测试:GSR手环生物数据存储的擦写寿命与速度实测

    在智能皮电手环及数据存储技术不断迭代的当下,主控 MCU STM32H750 与存储 SD NAND MKDV4GIL-AST 的强强联合,正引领行业进入全新发展阶段。二者凭借低功耗、高速读写与卓越稳定性的深度融合,以及高容量低成本的突出优势,成为大规模生产场景下极具竞争力的数据存储解决方案。

    MK米客方德
    20小时前
    328

    芯对话 | CBM16AD125Q这款ADC如何让我的性能翻倍?

    综述在当今数字化时代,模数转换器(ADC)作为连接模拟世界与数字系统的关键桥梁,其技术发展对众多行业有着深远影响。从通信领域追求更高的数据传输速率与质量,到医疗影像领域渴望更精准的疾病诊断,再到工业控制领域需要适应复杂恶劣环境的稳定信号处理,ADC的性能提升成为推动这些行业进步的重要因素。行业现状分析在通信行业,5G乃至未来6G的发展,对基站信号处理提出了极

    芯佰微电子
    23小时前
    268

    史上最全面解析:开关电源各功能电路

    01开关电源的电路组成开关电源的主要电路是由输入电磁干扰滤波器(EMI)、整流滤波电路、功率变换电路、PWM控制器电路、输出整流滤波电路组成。辅助电路有输入过欠压保护电路、输出过欠压保护电路、输出过流保护电路、输出短路保护电路等。开关电源的电路组成方框图如下:02输入电路的原理及常见电路1AC输入整流滤波电路原理①防雷电路:当有雷击,产生高压经电网导入电源时

    张飞实战电子官方
    1天前
    344

    有几种电平转换电路,适用于不同的场景

    一.起因一般在消费电路的元器件之间,不同的器件IO的电压是不同的,常规的有5V,3.3V,1.8V等。当器件的IO电压一样的时候,比如都是5V,都是3.3V,那么其之间可以直接通讯,比如拉中断,I2Cdata/clk脚双方直接通讯等。当器件的IO电压不一样的时候,就需要进行电平转换,不然无法实现高低电平的变化。二.电平转换电路常见的有几种电平转换电路,适用于

    张飞实战电子官方
    2天前
    325

    瑞萨RA8系列教程 | 基于 RASC 生成 Keil 工程

    对于不习惯用 e2 studio 进行开发的同学,可以借助 RASC 生成 Keil 工程,然后在 Keil 环境下愉快的完成开发任务。

    RA生态工作室
    05-01 10:00
    589

    共赴之约 | 第二十七届中国北京国际科技产业博览会圆满落幕

    作为第二十七届北京科博会的参展方,芯佰微有幸与800余家全球科技同仁共赴「科技引领创享未来」之约!文章来源:北京贸促5月11日下午,第二十七届中国北京国际科技产业博览会圆满落幕。本届北京科博会主题为“科技引领创享未来”,由北京市人民政府主办,北京市贸促会,北京市科委、中关村管委会,北京市经济和信息化局,北京市知识产权局和北辰集团共同承办。5万平方米的展览云集

    芯佰微电子
    2天前
    905

    道生物联与巍泰技术联合发布 RTK 无线定位系统:TurMass™ 技术与厘米级高精度定位的深度融合

    道生物联与巍泰技术联合推出全新一代 RTK 无线定位系统——WTS-100(V3.0 RTK)。该系统以巍泰技术自主研发的 RTK(实时动态载波相位差分)高精度定位技术为核心,深度融合道生物联国产新兴窄带高并发 TurMass™ 无线通信技术,为室外大规模定位场景提供厘米级高精度、广覆盖、高并发、低功耗、低成本的一站式解决方案,助力行业智能化升级。

    道生物联
    2天前
    703

    智能家居中的清凉“智”选,310V无刷吊扇驱动方案--其利天下

    炎炎夏日,如何营造出清凉、舒适且节能的室内环境成为了大众关注的焦点。吊扇作为一种经典的家用电器,以其大风量、长寿命、低能耗等优势,依然是众多家庭的首选。而随着智能控制技术与无刷电机技术的不断进步,吊扇正朝着智能化、高效化、低噪化的方向发展。那么接下来小编将结合目前市面上的指标,详细为大家讲解其利天下有限公司推出的无刷吊扇驱动方案。▲其利天下无刷吊扇驱动方案一

    其利天下技术
    05-10 16:29
    1.5k

    电源入口处防反接电路-汽车电子硬件电路设计

    一、为什么要设计防反接电路电源入口处接线及线束制作一般人为操作,有正极和负极接反的可能性,可能会损坏电源和负载电路;汽车电子产品电性能测试标准ISO16750-2的4.7节包含了电压极性反接测试,汽车电子产品须通过该项测试。二、防反接电路设计1.基础版:二极管串联二极管是最简单的防反接电路,因为电源有电源路径(即正极)和返回路径(即负极,GND),那么用二极

    张飞实战电子官方
    05-09 19:34
    1.1k

    半导体芯片需要做哪些测试

    首先我们需要了解芯片制造环节做⼀款芯片最基本的环节是设计->流片->封装->测试,芯片成本构成⼀般为人力成本20%,流片40%,封装35%,测试5%(对于先进工艺,流片成本可能超过60%)。测试其实是芯片各个环节中最“便宜”的一步,在这个每家公司都喊着“CostDown”的激烈市场中,人力成本逐年攀升,晶圆厂和封装厂都在乙方市场中“叱咤风云”,唯独只有测试显

    汉通达
    05-09 10:02
    967

    解决方案 | 芯佰微赋能示波器:高速ADC、USB控制器和RS232芯片——高性能示波器的秘密武器!

    示波器解决方案总述:示波器是电子技术领域中不可或缺的精密测量仪器,通过直观的波形显示,将电信号随时间的变化转化为可视化图形,使复杂的电子现象变得清晰易懂。无论是在科研探索、工业检测还是通信领域,示波器都发挥着不可替代的作用,帮助工程师和技术人员深入剖析电信号的细节,精准定位问题所在,为创新与发展提供坚实的技术支撑。一、技术瓶颈亟待突破性能指标受限:受模拟前端

    芯佰微电子
    05-09 10:36
    1.6k

    硬件设计基础----运算放大器

    1什么是运算放大器运算放大器(运放)用于调节和放大模拟信号,运放是一个内含多级放大电路的集成器件,如图所示:左图为同相位,Vn端接地或稳定的电平,Vp端电平上升,则输出端Vo电平上升,Vp端电平下降,则输出端Vo电平下降;右图为反相位,Vp端接地或稳定的电平,Vn端电平上升,则输出端Vo电平下降,Vn端电平下降,则输出端Vo电平上升2运算放大器的性质理想运算

    张飞实战电子官方
    05-08 19:34
    691