电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 智能卡技术 > 详细信息
智能卡技术:接触式CPU卡中T=0异步半双工字符传输协议的硬件实现
来源:   时间: 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组成,如图1所示。传输字符帧之前,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是时钟频率。

硬件实现方案
按照上述标准实现的可编程串行接口系统如图2所示。
可编程串行接口内部的特殊功能寄存器有:
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后自动重发,如图3所示。在重发完毕前,必须软件清除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

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

相关信息
发表评论
打印本页 关闭本页
赛灵思SPARTAN-3A系列FPGA又添低功耗器件
    赛灵思公司(Xilinx)日前宣布其XtremeDSP信号处理解决方案产品系列新增功耗优化的Spartan-3A DSP器件。这个目前业已投入量产的FPGA新器件,为低成本且低功耗FPGA领域的应用如军事通信战术无线电系统、无线接入点和便携式医疗设备等,提供了高性能的数字信号处理(DSP)能力。   与标准器件产品相比,Spartan-3A DSP低功耗(LP)器件的静态功耗降低了50%,而在待机模式下静态功耗的降低...
>>详细内容
赛灵思为SPARTAN-3系列提供DDR2-400接口支持
    Xilinx宣布为其经过生产验证的低成本90 nm Spartan?-3A 和 Spartan-3AN FPGA提供400 Mbps DDR2 SDRAM 接口 (DDR2-400)支持。设计人员可以免费下载经硬件验证过的、可快速实现400 Mbps DDR2 SDRAM接口的参考设计。该参考设计与赛灵思公司全面的开发套件和软件工具相配合可帮助客户快速实现存储器接口。DDR2 SDRAM接口在低成本视频和网络等应用中被广泛采用。   400 Mbps DDR2存储...
>>详细内容
恩智浦半导体发布了新型HDMI 1.3接收器芯片 TDA19978H
    恩智浦半导体发布了一款新型的HDMI1.3接收器芯片TDA19978HL,这款芯片不但提升了视听性能,而且降低了高清(HD)A/V接收器的成本。TDA19978HL是业界首款具有四路输入的HDMI1.3接收器,不再需要使用外部HDMI转换器,可降低系统的总体成本和设计周期,加快产品上市时间,同时满足业界对HDTV观赏的性能和应用方面的严格要求。   恩智浦新型HDMI1.3接收器设计独特,实现了12位深色和扩...
>>详细内容
Xilinx 宣布提前发售量产SPARTAN-3A DSP器件
  赛灵思公司宣布开始提供量产的Spartan™-3A DSP器件,比计划提早了一个月。Spartan-3A DSP平台可提供高达20 GMAC的性能,而价格却不到30美元,非常适合无线、视频监控、个人医疗和消费应用等低成本数据密集型领域的广泛应用。Spartan-3A DSP平台是赛灵思XtremeDSP™解决方案的一部分,XtremeDSP™解决方案为开发人员提供了包括可编程逻辑器件、IP、开发工具和第三方DSP生...
>>详细内容
用Spartan-3A和Spartan-3AN平台实现低成本安全解决方案
    安全已成为如今的热门话题。对于电子设计工程师来说,最大的威胁莫过于市场上出现由于设计盗版而引起的大量假冒产品。根据反盗版联盟(Ant i-CounterfeitingCoalition)的统计,2003年,全美国涉及盗版的交易额达287O亿美元,占全球盗版产品年销售总量(4560亿美元)的63%。本文将介绍能够保护低成本FPGA设计的安全措施。 三大安金威胁   电子设计中最常见的侵权行为就是反向工程。...
>>详细内容
赛灵思推出低成本SPARTAN-3AN入门套件
  赛灵思(Xilinx))低成本Spartan-3AN入门套件开始提供。该套件是宽带接入、数字显示屏、机顶盒、数据采集和低功耗移动以及手持设备等需要更高系统集成度或安全性能的大批量非易失应用原型设计的理想选择。 保证开箱即用(Out-of-the-box)该入门套件配备了必要的硬件、软件工具、评估板、电源、参考设计和其它附件,因此用户可在数分钟内上手,真正保证了开箱即用的功能。Spartan-3AN器...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com