网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 设计应用 > 正文
  • RSS
  • 接触式CPU卡中T=0异步半双工字符传输协议的硬件实现
    http://www.ic72.com 发布时间:2007/4/29 11:49:21
    摘 要:T=0异步半双工字符传输协议是接触式IC卡国际标准ISO/IEC 7816中规定的一种通信协议。本文首先分析了ISO/IEC 7816-3中对于电信号和传输协议的规定,在此基础上介绍了T=0异步半双工字符传输协议的硬件实现方法。
    关键词:ISO/IEC 7816;异步半双工字符传输协议;CPU卡

    引言
    CPU卡作为IC卡家族中功能最强、安全性最高的成员,已经逐渐在各种应用中占据主导地位。在ISO/IEC 7816-3中介绍了两种通信协议:T=0和T=1通信协议。T=0是异步半双工字符传输协议,T=1是异步半双工块传输协议。目前大多数接口设备都支持T=0通信协议,因此该协议应用较为广泛。
    T=0通信协议可以通过软件编程来实现。但在软件实现过程中,需要通过软件编程来控制数据收发,对于实时性很强的通信处理,CPU的处理能力常常满足不了要求,而且通信的可靠性和稳定性也不是很理想,而硬件电路实现不存在上述问题。

    传输协议描述
    ISO/IEC 7816-3规定了IC卡的电气特性和传输协议。包括该类卡和接口设备间的电源、电气信号协议和信息交换协议。通信过程中,由接口设备给IC卡提供电源(Vcc),复位信号(RST)和时钟(CLK),卡和接口设备间通过I/O端口进行串行通信。
    定义I/O端口有两种可能状态:
    传号或高电平(状态Z):当卡和接口设备均处于接收状态时,I/O端口处于状态Z。也可由发送方强制定义为状态Z。
    空号或低电平(状态A):可由发送方强制定义为状态A。
    根据T=0异步半双工字符传输协议,IC卡和接口设备之间以字符为单位(简称字符帧)进行传输,采用偶校验,每个字符由10bit组成,所示。传输字符帧之前,I/O线处于状态Z,第1bit为起始位(状态A);后面8bit为数据位D1~D8;第10bit为偶校验位,即8位数据和奇偶校验位中1的个数为偶数。
    串行通信是按位传送的,每位信息宽度(持续时间)定义为基本时间单位etu(elementary time unit)。在复位应答期间的信息宽度称为“初始etu”,它等于372个时钟周期,即1etu = 372/f 。复位应答后的信息宽度称为“当前etu”,其计算公式为:
    当前etu
    其中:F是时钟频率变换因数;D是比特率调整因数;f是时钟频率。

    硬件实现方案
    按照上述标准实现的可编程串行接口系统所示。
    可编程串行接口内部的特殊功能寄存器有:
    1. 串行接口控制/状态寄存器SCON(复位后为00H)。
    寄存器各位定义如下:
    SCON[0]:接收中断标志位;
    SCON[1]:发送中断标志位;
    SCON[2]:发送出错标志位;
    SCON[3]:接收出错标志位;
    SCON[4]:允许发送标志位;
    SCON[5]:允许接收标志位;
    SCON[6]:保留;
    SCON[7]:可编程串行接口允许标志位。
    SCON[4]、SCON[5]不能同时为1,否则I/O接口将处于逻辑混乱状态。
    2.串行接口数据缓冲器SBUF(复位后为00H) 。发送时,SBUF作为发送数据缓冲器,用于缓存待发的数据。接收时,SBUF作为接收数据缓冲器,用于缓存收到的数据。
    3. 波特率寄存器MR、BR (复位后MR=0BH,BR=13H,串行接口工作于基本速率)。为了简化硬件电路设计,将复位应答信号中TA1包含的F1和D1对应的波特率译码工作交由软件完成,由软件设置通信波特率。内部13bit定时器根据波特率寄存器MR、BR 值( &)对CLK信号 进行分频,以确定信息宽度。因为1etu,所以MR,BR寄存器设定为MR[7?]&BR[4?]= -1,例如,基本速率时,F=372,D=1,可得,设置MR=0BH,BR=13H,即“00001011,10011”=371;对于手机中常用的增强速率,F=512,D=8,可得,设置MR=01H,BR=1FH,即“00000001,11111”=63。
    下面介绍可编程串行接口的工作过程。在发送和接收数据前,按以下步骤初始化串行接口:
    1. 根据应用,通过设置MR、BR寄存器来设定通信速率。
    2. 清除SCON[0]和SCON[1]中断标志。
    3. 置位串行接口允许标志位SCON[7],使能串行接口。
    初始化工作完成后,可选择发送模式或接收模式。
    发送模式
    首先将发送数据写入SBUF,数据移位寄存器data_shift_reg [10~0]将自动写入 “ ”,其中P为奇偶校验位,为欲发送数据,0为起始位,1代表状态Z,最低两位“01”用于产生起始位下降沿。
    置位SCON[4],数据开始发送。根据波特率寄存器中设置的值,接收/发送控制模块中,13位定时器在每位数据将结束时产生计数脉冲。当计数脉冲有效时,数据移位寄存器右移1位,最低位输出到I/O线,最高位补入I/O线采样数据。
    当校验位发送完毕后,I/O线变为高阻态,发方在11etu处对I/O线进行采样,如果为状态Z,则认为接收正确;如果为状态A,则认为传输出错,根据结果刷新串行接口控制/状态寄存器中相应位。
    当一帧数据发送完毕后,无论发送是否正确,SCON[1] 都将硬件置位,产生发送中断申请。如果发送正确,SCON[4]将被硬件自动清0;如果发送出错,发送出错标志位SCON[2]将被硬件置位,SBUF中的数据将从检测到错误那一刻起2etu后自动重发,所示。在重发完毕前,必须软件清除SCON[1]及发送出错标志位SCON[2],否则将会出现循环重发错误。
    接收模式
    置位SCON[5] ,系统处于接收状态。
    起始位的检测是通过对I/O线进行周期性采样判决得到的。为了提高抗噪声性能,当检测到起始位后,在每位数据中间进行3次采样,根据采样判决结果产生采样数据,根据波特率寄存器中设置的值,接收/发送控制模块中13位定时器在每位数据中间产生计数脉冲。在计数脉冲控制下,将采样数据串行移入数据移位寄存器。
    当一帧数据接收完毕后,进行数据校验。根据校验结果,在起始位下降沿后第10.5个etu起发送确认位。确认位为状态Z,表示接收正确,为状态A,表示接收出错。确认位信号宽度为1个etu,如图4所示。无论接收是否正确, SCON[0]都将在起始位下降沿后第10.5个etu置位,产生接收中断,并根据校验结果刷新串行接口控制/状态寄存器中相应位。如果正确接收,SCON[5]将被硬件自动清除,数据移位寄存器中收到的8bit数据将自动加载到SBUF中;如果不正确,则置位接收出错标志位SCON[3],等待数据重发。软件清除SCON[0]和SCON[3] 必须在下一帧数据接收完毕前完成。
    由于设有数据移位寄存器和SBUF缓冲器,从而能在一帧数据接收完,由数据移位寄存器装入SBUF后,立即开始接收下一帧信息,CPU应在下一帧数据接收结束前从SBUF缓冲器中将数据取走,否则前一帧数据将丢失。
    通过上述可编程串行接口,当接收或发送完一帧数据后,内部硬件自动置位SCON[0] 或SCON[1],CPU可以通过查询中断标志位或响应中断申请来进行串行通信处理。两个中断请求标志位不能由硬件自动清0,而必须通过软件清0。

    结语
    ISO/IEC 7816,T=0异步半双工字符传输协议的硬件实现电路具有如下特点:对每位数据采取多次采样判决的方式,提高了接口抗干扰能力;通信波特率软件可调,满足不同系统对通信速率的要求;T=0协议基于字符帧检错重发。为了避免可能出现的无限次的重发现象,在软件中可设置最大重发次数。同T=1协议相比,在通信质量不理想的情况下,T=0协议只需要重发错误字符帧,提高了工作效率。■

    参考文献
    1 International Standard ISO/IEC 7816-3 . Identification cards. Integrated circuit(s) cards with contacts,PART 3:Electronic signals and transmission protocols,1997
    2 王爱英. 智能卡技术-IC卡第二版. 清华大学出版社,2000.10

    作者简介:
    龚宗跃,工程师,硕士,研究方向为数字集成电路前端设计;孙东昱,工程师,硕士,研究方向为数字集成电路前端设计。




    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质