为了更好地理解MCU和多协议接口电路的工作,我们先来研究一下智能卡接口和与卡通信的基本步骤。我们给出了一个利用安全微控制器DS5002设计接口终端实现协议和数据传输的范例,DS8007接口电路提供信号接口、电荷泵和稳压器,为智能卡提供适当的电源。用两个芯片即可组成双智能卡接口终端。

RST和CLK信号是智能卡的输入,由接口终端(DS5002和DS8007)提供。复位信号为低电平有效,可异步复位智能卡。为了控制整个数据传输,频率范围从1MHz~5MHz的时钟信号通过终端接口连接到智能卡的时钟触点(C3)。最后,数据通过I/O触点(C7)从智能卡传输到读卡器(发送模式),或数据从读卡器传输到IC卡(接收模式)。EMV规范规定,除非I/O触点正在发送数据,否则智能卡的I/O触点应设置为接收模式。

终端接口要求

当卡插入终端时,卡触点连接到终端触点并被激活。控制器将卡复位,然后通过一串字符(请参考应答复位ATR)建立卡与终端的通信;接下来是交易处理,交易结束后,触点置于禁止状态,此后可将卡拔出或弹出。

ATR字符串建立最初的通信信息,包括指定协议、位时序和后续的数据通信信息。ATR序列包括初始化字符、TS及最大32个字节的附加字符,这些字符组合在一起,通知终端在随后的交易中如何与卡通信。而后续的数据传输也能改变某些通信参数,ATR只是建立了最基本的通信条件。

字符传输中的每一位定义为基本时间单元(ETU),ETU的时间长短与智能卡的CLK时钟周期成线性关系。ATR通信过程中的位定时称为初始ETU。

任何通信字符都包含10位数据,持续时间为10ETU。第一位是起始位,它总是低电平,起始位之前I/O默认为高电平。每个字符的最后位是校验位,由发送方决定,可能是高电平,也可能是低电平,其作用是保证整个字符中1的个数为偶数。图1给出了一个位模板的例子,每个字符由10位组成,包括1个起始位、8个数据位和1个校验位。每两个字符之间通过一个最小安全周期进行分隔。

在ISO-7816规范中,4位用于选择卡通信协议。目前16种协议中只用了两种,分别命名为T=0和T=1。这两种都是半双工模式(任何时刻,数据只能单向传输)、异步通信方式。T=0是以基于字符的通讯格式,而T=1是基于数据块的通信格式。所有兼容EMV标准的智能卡必须支持T=0或T=1协议,所有终端必须同时支持这两种协议。

当卡插入终端后,所有触点保持低电平状态,电源VCC立即加到触点C1。终端在确认电压稳定并满足规范限制后,将自身的I/O触点置成接收模式,并向卡的C3提供时钟(CLK)信号。在时钟信号开始的200个时钟周期内,终端须将I/O口置为高阻态(接收模式),卡的I/O口则置于发送模式。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查