CPU卡中T=0通讯协议的分析与实现

关键词:卡片操作系统(COS) 终端应用层(TAL) 终端传输层(TTL) 应用协议数据单元(APDU) 传输协议数据单元(TPDU)

IC卡的应用越来越广泛,从存储卡到逻辑加密卡,目前CPU卡已经逐渐在应用中占据主导地 位。CPU卡根据通讯协议可分为两种:接触式和非接触式。接触式CPU卡主要采用两种通讯协议:T=0和T=1通讯协议。T=0是异步半双工字符传输协 议,T=1是异步半双工块传输协议。目前T=0通讯协议的应用较为广泛,国内外大多数CPU卡都支持该协议,在金融交易中也采用这种通讯协议。为了便于说 明问题,本文从T=0协议的功能出发,将该协议分为四个层次:物理层、数据链路层、终端传输层和应用层,见图1。

 

由于该协议的特殊性,终端传输层与应用层联系非常紧密,实现起来比较繁琐,在CPU卡中,这些任务通过卡片操作系统(COS)来实现。终端在与卡的信息交换中,始终处于主动地位,终端向卡发送符合T=0协议的命令字节,卡中的COS完成对数据的处理并将处理结果返回给终端。下面对T=0协议的四个层次进行详述。

1 T=0协议的物理层描述

终端与智能卡之间通过改变I/O传输线上的电平来交换信息。由于T=0协议是面向字符的传输协议,这里先定义字符帧的结构,并对组成字符帧位的信息表示作了具体描述。字符帧的结构如图2所示。

字符帧由1个起始位S、8个数据位和1个偶校验位P共10位组成。在数据传输中每一位的持续时间称为基本时间单元etu(elementary time unit),etu的值由时钟频率决定,etu与时钟频率呈现性关系:

1etu=(F/D) ×(1/f) (1)

其中F称为时钟频率转换因子,D称为波特率调整因子。时钟频率的范围为1MHz~5MHz,正常的工作频率为3.57MHz,数据传输的波特率采用9600bps,根据国际标准的取值范围,取F=372,D=1,代入式(1),可得:

1etu=372/f=372 (2)

即一个基本时间单元为372个时钟周期。将工作频率定为3.57MHz,可以保证数据传输 的波特率为9600bps。如果要提高数据的传输率,可以调整参数F来确定传输率。对每一位电平采用三次采样来确定,在位持续时间的中间和左右15%的间 隔各取样一次,取样点如图3所示。当有两次以上电平为低,则判断该位为0;否则该位为1,这样确保了取样值的可靠性。由于数据位的持续时间是用汇编语句来 控制的,可以通过延时语句调整采样的时间间隔。但实现采样的最基本汇编语句的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值