(微电子学与固体电子学专业论文)iso7816协议研究及其集成电路实现.pdf_第1页
(微电子学与固体电子学专业论文)iso7816协议研究及其集成电路实现.pdf_第2页
(微电子学与固体电子学专业论文)iso7816协议研究及其集成电路实现.pdf_第3页
(微电子学与固体电子学专业论文)iso7816协议研究及其集成电路实现.pdf_第4页
(微电子学与固体电子学专业论文)iso7816协议研究及其集成电路实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(微电子学与固体电子学专业论文)iso7816协议研究及其集成电路实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着超大规模集成电路工艺的发展,电路的规模越来越大,集成度和复杂程 度也越来越高。这就使得片上系统成为了微电子技术新的发展热点,其中的产物 就包括i c ( i n t e g r a t e dc i r e u i t ) 卡。 本文主要研究i c 卡的电气特性、工作方式、复位应答和传输协议,在这些工 作的基础上,研究了国际标准i s 0 7 8 1 6 协议。它是专门针对于i c 卡的协议。论文 的主要任务包括如下三个部分: ( 1 ) 通过研究i c 卡的电气特性、数据传输等特性,深入学习并理解i s 0 7 8 1 6 协议的内容,并着重研究i s 0 7 8 1 6 3 协议。 ( 2 ) 在深入研究i s 0 7 8 1 6 协议的基础上,设计i s 0 7 8 1 6 3 部分所规定的i c 卡 与终端之间的接口,编写r t l 级v e r i l o g h d l 代码。 ( 3 ) 利用逻辑综合技术,将r t l 级v e r i l o g h d l 代码映射到指定工艺库中的逻 辑单元。 本文研究的i s 0 7 8 1 6 协议版本为i s o i e c 7 8 1 6i n t e r n a t i o n a ls t a n d a r dt h i r d e d i t i o n2 0 0 6 1 1 0 1 ;r t l 代码的编写和仿真使用的工具为m o d e l s i ms e6 1 e :逻辑 综合使用的是s y n o p s y s 公司的d c ( d e s i g nc o m p i l e r ) ,所使用的库是由苏州和舰 所提供的逻辑单元库。 关键词:i s 0 7 8 1 6 协议异步串行通信接触式i c 卡半双工通信 a b s t r a c t a bs t r a c t w i t l lt h ed e v e l o p m e n to fv e r yl a r g es c a l ei n t e g r a t e dc i r c u i tm a n u f a c t u r i n g p r o c e s s ,t h ec i r c u i ts c a l ei sg e t t i n gl a r g e ra n dl a r g e r , t h ed e n s i t yo fi n t e g r a t i o ni sm u c h d e n s e ra n dm o r ec o m p l e xt h a ne v e rb e f o r e a n ds o c ( s y s t e mo nc h i p ) b e c o m e st h e m a i nt r e n do fm i c r o - e l e c t r o n i c st e c h n o l o g y t h ei c ( i n t e g r a t e dc i r c u i 0c a r di so n e r e s u l to ft h es o ct e c h n o l o g y i nt h i st h e s i s ,im a i n l yr e s e a r c h e dt h ee l e c t r i cc h a r a c t e r i s t i c s ,o p e r a t i o nm o d e , a n s w e rt or e s e ta n dt r a n s i t i o np r o t o c o l ,b a s e do nt h e s eir e s e a r c h e dt h ei s 0 7 816 s t a n d a r dw h i c hi ss p e c i a lf o ri cc a r d i nt h i sp a p e rm y m a j o r j o bi sd e s c r i b e da sf o l l o w s : ( 1 ) d e e p l ys t u d i e da n dc o m p r e h e n d e dt h ei s 0 7 81 6s t a n d a r dv i ar e s e a r c h i n gt h e e l e c t r i cc h a r a c t e r i s t i c s ,d a t at r a n s i t i o nc h a r a c t e r i s t i c sa n ds oo n ( 2 ) d e s i g nt h ei n t e r f a c ed e f i n e db yt h ei s 0 7 8 16 - 3p r o t o c o lb a s i n go nt h ed e e p s t u d yo ft h ei s 0 7 8 16 ,e d i tr t l v e r i l o gc o d e ( 3 ) u s es y n t h e s i st e c h n o l o g y , s y n t h e s i st h er t lv e r i l o gc o d et os t a n d a r dc e l l si n t h es t a n d a r dt e c h n o l o g yl i b r a r y t h er e l e a s e dv e r s i o no ft h ei s 0 7 816s t a n d a r di si s 0 f i e c 7 816i n t e r n a t i o n a l s t a n d a r dt l l i r de d i t i o n2 0 0 6 11 - 0 1 ;r t lv e r i l o gc o d ei se d i t e da n ds i m u l a t e dw i t h m o d e l s i ms e6 1e ;d e f i n i n gd e s i g nc o n s t r a i n sa n dr u n n i n gt h el o g i cs y n t h e s i sb yu s i n g d e s i g nc o m p i l e ro fs y n o p s y s ,a n dt h es t a n d a r dt e c h n o l o g yl i b r a r yu s e di nt h i sd e s i g ni s s u p p o r t e db yh e j i a nh e j 0 1 8 k e y w o r d s :i s 0 7 8 1 6s t a n d a r d s e r i a la s y n c h r o n o u sc o m m u n i c a t i o n i cc a r d s w i t hc o n t a c th a l fd u p l e xc o m m u n i c a t i o n 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注 和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果; 也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明 并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:玉藉五日期丝! f :墨i 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:王勃蕴日期2 丝z :墨:了 导师签名二珊日期雌青v7 切 。 第一章绪论 第一章绪论 本章主要研究i c 卡的发展简史,总结了i c 卡技术、国内发展外现状和i c 卡 的发展趋势。在本章的最后说明了本文后面各章节的主要工作。 1 1 i c 卡发展简史 i c 卡又称智能卡,它将微电子技术和计算机技术结合在一起,具有高的可靠 性、安全性和灵活性,其广泛地应用于电信、金融、交通及公共事业等领域【l 】。 早在1 9 5 0 年,美国开始使用塑料卡体并迅速得到普及,因为利用p v c 材料 能生产出来经久耐用的卡,所以原先使用的纸板卡体由于经受不了机械磨损和气 候变化的影响而逐渐被淘汰。第一个通用的全塑支付卡于1 9 5 0 年由d i n e r s 俱乐部 发行。用于“高贵阶级 成员,允许持卡者用卡来支付费用而不是现金。这时的 卡只是身份的象征而不具有当代i c 卡的功能【2 】。 真正i c 卡的最初设想是由日本人提出来的。在1 9 6 9 年1 2 月,日本的有村国 孝( k u n i t a k aa r i m u r a ) 提出一种制造安全可靠的信用卡方法,将数据存储器和算 术逻辑部件集成到数平方毫米的硅芯片上,再将芯片结合到识别卡中去【3 】。1 9 7 4 年,法国的r o l a n d m o r e n o 发明了带集成电路芯片的塑料卡片,并取得专利权,这 就是早期的i c 卡。1 9 7 6 年,法国的b u l l 公司研制出世界第一枚i c 卡。1 9 8 4 年, 法国的p t t 将i c 卡用于电话卡,由于i c 卡良好的安全性和可靠性,获得了意想 不到的成功。到了1 9 8 6 年,仅仅在法国就有数百万张电话卡在流行。目前,带有 芯片的电话卡已在超过5 0 个国家中使用【4 】。 伴随着电子数据处理在2 0 世纪6 0 年代的开展,密码学领域经历了某中程度 的跃进,现代的硬件和软件使复杂的和必需的数学算法得以实现,安全性在那时 达到了非常完善的程度。于是,一种很自然的想法产生了,即尝试为银行卡选用 这种新的安全技术,以便去对付随着磁卡应用的增加相伴而来的安全风险。i c 卡 被认为是理想的介质,它可以存储秘密密钥并执行加密算法。此外,它的便于携 带和易于操作等特性也是它得到迅速发展的原因【5 】。 随着超大规模集成电路技术、计算机技术以及信息安全技术等的发展,i c 卡 由起初的塑料卡片发展到带有芯片的i c 卡,并且卡的种类更加丰富,技术日趋成 熟,在国内外已经得到了广泛的应用。 1 2 国内外发展现状和发展趋势 i c 卡最早被用作电话卡,在随后的几十年里,伴随着微电子技术的发展,芯 i s 0 7 8 1 6 协议研究及其集成电路实现 片的集成度越来越高,复杂度也越来越大,这就使得实现运算更为复杂、功能更 为强大的i c 卡成为可能。随之而来的是各种卡的出现,为了方便讨论,把i c 卡 分为两类:存储卡和微处理器卡【3 】。 存储卡是用来存储信息的,如可将预付费的金额以电子数据的方式存储在芯 片中,在每次使用时扣除相应的费用,为了防止用户对存储值量的非法修改,芯 片采用安全逻辑来防止篡改。在最近,德国的公民都拥有了一张智能卡,它们是 含有芯片的健康保障卡,已有超过7 千万张智能卡发给了所有被国家健康保障计 划覆盖的人们,卡内存储了病人的个人信息,病史等相关资料,从前写在患者病 理上的信息现已存储在卡的芯片中,存储卡是能用简单机器设备读出的卡。具有 电子收款机p o s 功能的电子钱包以及多功能智能卡已经在澳大利亚发行,这使得 澳大利亚成为世界上第一个拥有全国电子钱包系统的国家【3 1 。在美国,智能卡系统 仍然难于立足,但是v i s a 进行了智能卡钱包系统试验,通过因特网的支付为电子 钱包提供了一个新的有前途的应用领域【6 】。 微处理器卡比存储卡拥有更强大的运算能力和存储能力。微处理器卡的第一 个应用是在法国以银行卡的形式出现的,法国所有银行卡都采用了带有芯片的i c 卡,但这却花费了1 0 年的时间。它们存储密钥及其执行现代加密算法的能力使之 有可能在离线支付系统中实现高度的安全性。微处理器卡的应用瓶颈在于可用存 储空间和运算能力的限制,所以,每次集成电路的更新换代都将为处理器卡带来 巨大的扩展。当在德国成功的测试了用于移动电话终端设备的国家c 网络( 模拟 移动电话网) 后,智能卡成为欧洲移动通信系统g s m ( g 1 0 b a ls y s t e mf o rm o b i l e c o m m u n i c a t i o n ) 规定的访问媒体。没有微处理器卡,移动电话就很难这样迅速的 发展。 微处理器卡可能的应用领域有各种识别卡,对受限区域和计算机的出入访问 控制,电子签名和电子钱包,以及在一张卡中包含数项应用的多功能卡。若要是 网上的交易成为可信赖的,个人安全模块是绝对必要的,在这样的安全模块中存 储个人密钥并执行高性能的加密算法,这可由一个带有加密协处理器的微处理器 准确的予以执行。目前,全世界都正在发展因特网上智能卡安全应用规范。相信 在未来,每台p c 机都会配上智能卡的接口【) j 。 我国i c 卡事业发展迅速,已被应用在各个领域中,如金融、交通、医疗等。 我国i c 卡的应用在银行起步,但是非银行卡后来居上。在1 9 9 5 年,我国银行业 在海南进行银行i c 卡应用试点。在银行i c 卡发行后,没有发生过一起欺诈事件, 这说明了i c 卡的安全性很高。随后在1 9 9 7 年国家制定并颁布了中国金融集成 电路卡规范,为各行规划自己的i c 卡标准提供了参考。但是由于我国银行卡市 场还不成熟等原因,银行i c 卡的普及受到了制约,且现有的银行i c 卡主要是单 一功能的电子钱包应用【7 】。但是,其它行业的i c 卡发展要远远领先于银行业,在 第一章绪论 我国“金卡工程 建设的大力推动下,我国i c 卡发展迅速,如电信领域的公用电 话i c 卡和移动通信s i m 卡、石化领域的加油卡、劳动和社会保障部门的社会保障 卡、建设部门的城市公用事业卡、工商行政管理部门的工商企业卡、税务部门的 税务卡、技术监督部门的组织机构代码卡等。另外有地方、各单位发行的i c 卡, 如校园卡、就餐卡、门禁卡、优惠卡、交通卡等。据不完全统计,目前,我国行 业性i c 卡应用覆盖电信、社会保障、公安、税务、交通、建设及公用事业、卫生、 石油石化、组织机构代码管理等多个领域,发卡总量超过5 0 亿张。随着i c 卡应 用范围不断扩大,各类i c 卡的功能扩展和相互融合速度加快【8 】。 在2 0 0 8 年初召开的国家金卡工程应用成果报告会上,大会宣布2 0 0 8 年起我 国i c 卡应用将以方便企业和公众使用为重点,推行“一卡多用 。从2 0 0 8 年起, 我国将加强跨部门、跨行业、跨地区的合作,同时建立第三方产品及安全检测认 证中心,确保i c 卡安全使用。开展法规保障、安全管理和技术防范体系等i c 卡 应用安全体系建设,探索运用公开密钥密码等技术,构建密码技术信息安全基础 设施【9 1 。 1 3 本文主要研究内容及章节安排 本课题来源于北京宏思电子技术有限责任公司的新款s o c 芯片设计,本设计 是该芯片其中的一个接口电路。该接口实现了i c 卡与终端计算机设备之间的数据 通信。 本论文的主要研究内容安排如下: 在本文的第二章,主要讨论i c 卡的电气特性,包括它的外部时钟、数据的传 输和复位信号。 第三章主要研究i c 卡的工作方式,包括卡的工作原理、异步传输字节和数据 错误处理。 第四章主要研究i c 卡的复位应答序列,它规定了i c 卡和终端之间的通信参 数和传输协议,是设计实现接口的关键部分,必须对它进行深入的理解。 在第五章讨论i c 卡和终端设备之间的数据传输协议,包括t = 0 和t = i 协议。 在第六章设计i c 卡和终端之间的接口电路,主要工作包括编写r t l 代码、逻 辑综合和时序分析。 第七章对本文作了总结和展望。 第二章电气特性 第二章电气特性 智能卡的电气特性只取决于所嵌入的芯片,它是卡上唯一带有电路的部件。 伴随着现代的大规模应用,各种类型的智能卡必须与许多不同类型的终端设备一 起工作,这就不可避免地要求所有使用的卡,要么在电气上完全相同或者至少在 规定的电气范围运转一致【l0 1 。在这一领域的通用标准为i s 0 7 8 1 6 标准,它定义了 许多有关智能卡的基本电气特性,诸如激活和去激活序列等。 2 1 触点连接 绝大多数智能卡在其正面有8 个触点电极区,形成了终端设备于卡内的芯片 之间的电气接口。所有电气信号都经这些触点传送。根据i s 0 7 8 1 6 2 ,8 个触点中 有两个是留着来定义未来功能的,为了兼容性的缘故,它们还没有被使用。这两 个触点中的一个被计划用作第2 个i 0 接口,以便智能卡能够支持全双工数据传送。 这两个触点还没被使用,所以智能卡一般只用6 个触点电极,以减少成本,但其 功能和8 个触点的功能是相同的【1 1 1 。 触点电极规定从左上角到右下角顺序地编号,如图2 1 ,图中所示与i s 0 7 8 1 6 标准一致。 c lc 5 c 2c 6 c 3c 7 c ac 8 v e eg n d r s t v p p c l ki o 图2 1 按i s 0 7 8 1 6 - 2 智能卡触点的电气排列和编号 触点名称和功能如下表2 1 所示。 表2 1i s 0 7 8 1 6 - 2 规定的触点名称和功能 触点名称功能 c lv c e电源电压 c 2 r s t复位输入 c 3c l k时钟输入 c 4r f u为未来应用保留,目前未用 c 5g n d接地 c 6 v p p 编程电压( 一般不使用) c 7加 出行通信输入输出 c 8r f u 为未来应用保留,目前未用 6i s 0 7 8 1 6 协议研究及其集成电路实现 在几年前,尚需要使用一个外加的电压来对e e p r o m 进行编程和擦除,触点 电极c 6 就用作这一功能,提供额外编程电压。随着现代技术的发展,所需要的电 压可直接用芯片里的电荷泵来产生,就不再使用这个触点了。c 6 还不能用作其它 功能,因为这样会与i s 0 7 8 1 6 标准相抵触。这样,智能卡就存在一个没有确切功 能的触点电极。 2 2 卡与外部的电气连接 基于终端通过c 1 触点提供给卡的3 种电源电压,i s 0 7 8 1 6 协议规定了3 种工 作条件。3 个工作电压分别为:a 类5 v ,b 类3 v ,c 类1 8 v 。本论文实现的i s 0 7 8 1 6 3 接口,作为智能卡芯片的一部分,所采用的工作电压为3 v e l 2 】。 智能卡会支持一种或多种电压类型。如果终端提供给卡所支持的电压,卡将 正常运行。然而如果终端提供的电压不被当前卡所支持,卡也不会损坏。 卡的接地是通过c 5 触点实现的。 2 2 1 外部时钟 嵌入智能卡的芯片没有内部时钟发生器,这样就需要外部设备为芯片提供时 钟。时钟是提供数据传输速率的基准。它是通过c 3 触点提供给卡的。 卡时钟的最低频率为1 m h z ,而在激活和冷复位期间,时钟频率的最大频率为 5 m h z t l 3 】。在没有特殊说明的情况下,稳定工作时的时钟信号的占空比为4 0 至 6 0 。当时钟从一个频率切换到另一个被卡支持的频率时,应当注意最短时钟周期 的占空比不能小于4 0 。当切换时钟时,不应有数据的交换发生。在下面的两个 时刻可以切换时钟:复位应答后,卡在等待一个字符时;p p s 交换后,卡在等待字 符时。建议在这两个时刻进行时钟的切换。 施加到触点的时钟并不需要与提供给芯片内部的时钟信号完全一样,因为芯 片的内部含有可选的时钟分频器。本文的7 8 1 6 接口包含有一个8 位的寄存器,它 用来设置芯片时钟的分频系数。 绝大多数智能卡在c p u 进入休眠模式时允许将时钟信号关闭,以降低功耗。 在这种情况下,关闭意味着把时钟信号维持在固定的电平,电平的高低取决于芯 片的设计者。 2 2 2 数据传输 卡与终端的数据传输是通过c 7 触点实现的。当用作接收模式时,这个触点是 输入端,当用作发送模式时,这个触点是输出端。当卡或接口设备工作在接收模 式时,该触点应该为高电平,当卡和接口设备处在传输不匹配模式时,它将处在 不定态。在运行时,接口设备和卡不可以都处在发送状态。 第二章电气特性 如果在数据传输期间产生错误,将有可能发生终端设备和卡同时试图发送数 据的情况,这样就会在相连的i o 线上发生数据碰撞。发生在应用层和物理层的这 些问题,可能在i o 线上产生一个大得足够可以破坏接口器件的电流,应彻底避开 这种情况。 为了防止卡内半导体器件发生危险,把终端设备的i o 线经2 0 艘上拉电阻接 n + 3 v ,如发2 2 所示【1 4 】。就可以避免在错误的过程中两部分电路试图以不同电平 来驱动数据线的问题。在通信期间,如果i o 线需要被设置为+ 3 v 电平状态,则相 关的部分就把它的输出转换到高阻状态,i o 线就仅通过上拉电阻而上升至+ 3 v 电 平。 终端智能卡 + 3 v , 2 i 矿 一( 图2 2 终端与智能卡之间的i o 通道电路 2 2 3 复位 卡的复位是通过c 2 触点由终端提供给卡的。 2 3 卡的激活和去激活 所有的智能卡的芯片都要防止触点上的静电电荷和电位差。为了避免一些不 确定的状态,严格定义的激活和去激活序列都是规定好的,必须严格遵守。在 i s 0 7 8 1 6 的相应部分也有所反映。这些序列规定了激活的卡的电气时态,与机械触 点建立的序列无关,后者是没有规定的。 如图2 3 所示,i c 卡的激活序列必须首先连接到地,再接通电源,之后接通 时钟【l5 1 。假如,在接通电源电压之前试图接通时钟的话,芯片将会尝试着从时钟 线来引入它全部的电源电流。这将不可逆转地危及芯片,并导致全部功能失效。 错误的去激活序列也可能对芯片产生类似的影响。 i s 0 7 8 1 6 协议研究及其集成电路实现 v c cj , 丛二二二二二二二二二二二二二二1 , 图2 3i s 0 7 8 1 6 - 3 定义的卡激活和去激活序列 2 4 小结 本章主要研究了智能卡的电气特性,包括卡触点的电气排列,卡与外部的电 气连接特性和卡的激活与去激活序列,这些对于智能卡是最基本的电气规范特性。 触点的排列是卡的通用性的基本前提,卡与外部的电气连接也是一样,只有 相同的连接关系才能使卡可能在任意一个终端上使用,而正确的激活和去激活序 列保证了卡的正常时用,而不致造成破坏性的损坏。 第三章卡的工作方式 9 第三章卡的工作方式 本章将研究i s 0 7 8 1 6 协议规定的智能卡的工作方式,包括卡的工作原理,卡 和终端之间的数据通信的字符格式,最后讨论错误字节的自动重发。 3 1 卡的工作原理 当卡触点和接口设备的触点被连接到一起时,卡内的电路才被激活。卡和接 口设备之间的交互作用是按照如下方式进行的。首先,接口设备会对卡应用一类 操作规范,如激活,冷复位或者一个或多个热复位。如果卡支持这类操作规范, 它将会做出复位应答。这时接口设备将给出一个完整的、有效的复位应答和操作 规范。其次,为了进行通信,卡和接口设备还必须建立一个共同的传输协议和与 传输协议相关的参数值。如t = 0 字符半双工通信协议,t = i 字组半双工通信协议, 这两个协议的通信发起方,即主动方都是接口设备,而卡是作为从设备的。最后, 如果接口设备认为通信结束而不再等待卡的数据,在卡支持的前提下,接口设备 将停掉卡的时钟、对卡作去激活操作,这将发生在双方的触点分开前。 下面分别讨论上述三个过程。 为了开始和一个已连接卡的通信,接口设备需要根据一类工作条件a ,b 或者 c ( 2 2 中定义的3 种电压) 来激活卡,顺序如下【1 6 1 。 ( 1 ) r s t 被置为低电平,进行低电平复位: ( 2 ) v e t 被接通; ( 3 ) 接1 :3 设备的i o 被设置为接收模式,在激活期间,接1 :3 设备应忽略i o 的 状态; ( 4 ) 提供卡时钟。 从v c c 上电到i o 被设置为接收模式和提供时钟之间这段时间,没有给出定 义。如图3 1 所示。 v c c c l = 肌肿m 唧砌哪唧硼眦皿咖唧眦砌唧0 r s 一 b # 图3 1 激活和冷复位示意图 在激活后,卡准备冷复位。在冷复位前,卡内的状态没有定义。如图3 1 所示, 在时钟被接到c l k 触点后的2 0 0 个时钟周期内,i o 将被设置为高电平。在时钟 1 0i s 0 7 8 1 6 协议研究及其集成电路实现 被接到c l k 触点后,r s t 至少要维持4 0 0 个时钟周期的低电平,在r s t 为低电平 的4 0 0 个周期内,接口设备将忽略i o 的状态。在r s t 变为高电平后,i o 上的应 答数据将在4 0 0 至4 0 0 0 0 个周期内开始,如果在4 0 0 0 0 个周期后,应答数据还没 有来,接口设备将卡去激活【1 7 】。 热复位和冷复位是不同的,接口设备可以在任意时刻对卡进行热复位,甚至 在复位应答期间,但是在接收到命令字符t s 和t 0 之前是不可以热复位的。在t o 字符后的4 4 6 4 ( 1 2 3 7 2 ) 个时钟周期内,不可以进行热复位。 根据图3 2 ,在v c c 正常供电且c l k 也处在稳定状态时,接口设备通过将 r s t 置于低电平至少4 0 0 个时钟周期来进行热复位。在r s t 被置为低电平的2 0 0 个时钟周期内,卡需将i o 置为高电平。在r s t 为低电平时,接口设备应该忽略 i o 上的状态。 硒t 厂一 w 眄覆玎厂 厂一 巨= 豆韵 图3 2 热复位示意图 在r s t 上升沿后的4 0 0 至4 0 0 0 0 个时钟周期内,数据i o 上的应答数据将到 来。如果在4 0 0 0 0 个时钟周期内数据仍没有到来,接口设备将对卡作去激活。 图3 3 示意地给出了操作规范类选择个过程。如果复位应答中包含将要选用的 操作规范类,则继续正常运行【1 8 】。否则接口设备可做两种选择:给卡作去激活操 作或者在至少1 0 m s 后,对卡应用它所支持的操作规范类。 图3 3 接口设备类选择示流程图 如果复位应答中未包含操作规范类,则接口设备将维持现有的类型。如果在 第三章卡的工作方式 复位应答后,卡不工作,接口设备将对卡去激活并在至少10 m s 后应用另一个操作 规范类。 如果卡未做出复位应答,这时接口设备将卡去激活,在此之后终端有两种选 择:在至少1 0 m s 之后应用另一操作规范类;或者结束此次通信。如图3 3 所示。 3 2 智能卡通信的异步字符 在数据i o 上,一位数据所持续的时间叫做“基本时间单位 ,简写为e t u 。e t u 是由f 和d 共同决定的,这两个值是在复位应答中给出的,f 为时钟分频因子,d 为波特率调整因子。其大小为f d 个时钟周期,这里的时钟指的是c l k 触点上的 时钟,即 1 p 彻:三一1( 3 1 ) d 1 其中厂为时钟频率。 一个字符是由1 0 个连续的e t u 组成的,每个e t u 或者是高电平或者是低电平。 在第一个e t u 之前,数据线i o 应处在高电平【1 9 】。第一个e t u 应为低电平,这是一 个字符的起始位标志。第二至第九e t u 是一个字节的编码。而第十个e t u 是这一字 节的奇偶校验位。在第十个e t u 之后数据i o 仍要维持一段时间的高电平,高电平 时间的长短将由复位应答中给出。图3 4 示意了一个字符的结构。 r a i l t y l2 3 4 567 8 9 l op a u s e 一士口1 , 1 t 篙岢性向曲阔瞪一 图3 4 字符结构示慈图 图3 5 说明了字符的时间关系,在一个字符内,如果状态在第n 个e t u 发生变 化,n 为l 至1 0 的任何数,则从字符的起始边沿到第1 1 个e t u 的结尾之间的时间 为n _ - t 0 2 e t u 。 两个相邻字符间的最小时间间隔叫做“保护时间 ,用g t ( g u a r d t i m e ) 表示。 卡发送的字符的起始沿和被卡或接口设备发送的前一字符起始沿之间的最大时间 间隔叫做等待时间,用w t ( w a i tt i m e ) 表示。设置等待时间可用来检测无响应的 卡。 当查询一个字符时,接收方会以一定的周期对数据i o 采样。若发送方的时间 原点为起始字符的下降沿,接收方的时间原点为最后一次对高电平的采样至第一 次对低电平采样之间的平均值,两个时间原点之间的移位最多为半个采样时钟周 i s 0 7 8 1 6 协议研究及其集成电路实现 期。采样时钟周期要小于0 2 e t u 。 ol23 4 567891 0 发送方咄咄t n 州兀h 占占古二 接收方 口田口田口田田田田田塑 - 00 51 52 53 54 55 5 6 57 5 8 59 5 图3 5 字符时间关系示意图 接收方确定会在0 7 e t u 之前。接收方会在( 1 5 4 - 0 2 ) e t u 确定第二位,第三位 ( 2 5 4 - 0 2 ) c t u 第九位( 8 5 + 0 2 ) e t u ,奇偶校验位( 9 5 + 0 2 ) e t u 。 3 3 错误信号和错误字符的重发 错误信号的应用和错误字符的重发是由协议决定的,对于t = 0 协议,卡的错 误字节重发是必须的。 如果字符的奇偶校验位不正确,则接收方会在数据i o 线上发送一个错误信 号。之后,接收方将等待重发的数据。如图3 6 所示,上面的字符为正确接收的情 况,下面的字符为奇偶校验位错误而重发的示意图。 ! 口 丑丑互工竺:n 图3 6 错误字节重发示意图 为通知发送方数据发送错误,接收方会在第l o 5 个e t u 处将数据i o 引线拉低 至少1 个e t u 最多2 个e t u 的时间。这时,发送方会在第1 1 个e t u 处读数据i o 引 线,如果发送方读到高电平,则认为接收正确,如果读到低电平,则至少在2 个 e t u 之后,发送方将重发该字符【2 0 1 。 如果卡或接口设备不支持错误字符的重发,则将忽略错误信号,这不会对卡 或接口设备造成损坏。 3 4 小结 本章主要研究了智能卡的工作方式,从卡的上电开始,接着研究了卡与终端 之间的异步字符,它是双方通信的最基本的数据单位,最后对错误字节的重发机 制进行了分析,它是数据传输的重要部分,保证了卡和终端之间通信的正确性。 第四章复位应答 第四章复位应答 本章主要研究卡的复位应答。当加上供电电压、时钟和复位后,智能卡经i o 数据引线送出其复位应答a t r ( a n s w e rt or e s e t ) 。a t r 中含有关于传输协议和卡 的各种通信所需要的数据,所以本章用了较多的篇幅来讨论复位应答,为了设计 出功能正确的通用的接口电路,必须对它进行深入的理解。 4 1 起始字符和编码约定 起始字符也是复位应答中的一部分,之所以把它单独讨论是因为它的特殊性, 它在复位应答中是第一个被传送的字符,且是必须传送的,它对以后所有的通信 都有着影响。 在复位应答过程中,传输的参数使用的是默认值,即f = 3 7 2 ,d = i ,所以根据 1 式( 3 1 ) ,l e t u = 3 7 2 x - - x ,即卡所使用的1 个e t u 为3 7 2 个时钟周期。 ) 在终端接口设备发出复位信号后的4 0 0 至4 0 0 0 0 个时钟周期内,卡必须做出 复位应答。但是,如果在这期间终端没有收到复位应答,终端将激活序列重复数 次以试图检测到a t r 。如果所有的尝试都失败了,则终端认为卡是故障卡,并将 卡去激活。 按照i s 0 7 8 1 6 3 ,在a r t 中,每个字节的保护时间为1 2 e t u ,相邻两字节的起 始沿间的时间间隔最大为9 6 0 0 e t u ,这段时间被称为起始等待时间,对3 5 7 1 2 m h z 的时钟频率,它精确地为1 s 。这就是说,标准中允许送往终端的a t r 各个字节之 间有1 s 的延迟。 复位应答中的第一个字符叫做起始字符,在复位应答中它是必须传送的字符, 简写为t s ( i n i t i a lc h a r a c t e r ) ,其字符格式如图4 1 所示。 兰f 呵三臣墅习三三r 兰= f 卜一1 2 c m 一 2 ) 总是由t d ( i 1 ) 规定的通信协议。 专用接口字符t 趾( i 2 ) t a i 字节含有所能接收的信息字段( s c ) 的最大长度,其值必须在1 至2 5 5 之间,i f s c 缺省值为3 2 字节。t a i ( i 2 ) 的编码见表4 1 0 。 第四章复位应答 1 9 表4 1 0 t a i ( i 2 ) 编码 b i t 8b i t 7b n 6b i t 5b 兀一b i t 3b 1 1 2b 1 1 r 1意义 x x xxxx x xi f s c 专用接口字符t b i ( i 2 ) t b i ( i 2 ) 的低4 位为字符等待时间c w t ( c h a r a c t e rw a i tt i m e ) 的编码, 它定义了c w i ,c w t 的计算见式( 4 2 ) 。 c w t = ( 2 册+ 1 1 ) e t u( 4 2 ) t b i ( i 2 ) 的高4 位定义了b w i ,它规定了字组等待时间b w t ,字组等待 时间定义为卡收到的当前字组的最后一个字符的起始沿和卡将要发送的字组的第 一个字符的起始沿之间的最大时间间隔,b w t 计算见式( 4 3 ) 。t b i ( i 2 ) 编码见 表4 1 1 。 b w t :1 l e t u + 2 b 孵9 6 0 f s ( 4 3 ) 表4 1 1 t b i ( i 2 ) 编码 b i t 8b n 7b i t 6b n 5b n 4b i t 3b n 2b i t l意义 xxxxc w i xxxxb m 专用接口字符t c i ( i 2 ) t c i ( i 2 ) 最低位规定了所用的差错检测法编码。其他高7 位未用。编码见 表4 1 2 。 表4 1 2 t c i ( i 2 ) 编码 b i t 8b i t 7 b i t 6b i t 5 b n 4b i t 3 b r 】2b 1 1 r 1意义 o l r c 校验 1c r c 校验 xxxxxx留作备用 4 2 4 历史字符 在很长一段时间里,没有任何标准对历史字符做出规定,结果是随着操作系 统生产者而不同,它们包含了变化广泛的数据。 很多公司使用适当的字节来识别操作系统和相关的r o m 掩膜的版本号。通常 用a s ci i 编码,使之易于理解。历史字符在a t r 中的存在不是规定的,可以把它 们全部删除掉。在某些情况下,这会显得有利,因为能使a t r 短些并能较快送出 2 0 i s 0 7 8 1 6 协议研究及其集成电路实现 去。 在a t r 中的历史字符可以包含着关于智能卡和所采用的操作系统的综合信 息。例如,它们可以用来存储由智能卡支持的文件选择功能和隐含选择功能,以 及有关逻辑通道的机制信息,它们也可以用来存储另外的有关卡发行商、卡和芯 片的序列号、掩膜r o m 、芯片和操作系统的版本号等信息。在i s 0 7 8 1 6 4 和7 8 1 6 - 5 标准中对有关数据的编码做了规定。这里不再详述。 4 2 5 校验字符t c k a t r 的最后一个字符为从t o 开始到校验字符( t c k ) 之前的所有字符的x o r 校验和。这个校验和可用于除奇偶校验之外的a t r 传输的正确性核查。然而,尽 管这个校验和的结构和计算虽然很简单,在不同的传输协议中仍有数个明显的差 异。 如果在a t r 中仅指出了t = 0 协议,t c k 校验和可以不在a t r 的尾部出现。 在这种情况下,完全没有发送它,因为用奇偶检验已经知道了错误字节,而在t = 0 协议中对于错误字节的重发是必须的。相反,在t = 0 协议中,t c k 字节必须出现, 校验和的计算从字节t o 开始结束于最后的接口字符,如果有历史字符则是最后的 历史字符。 4 3 小结 本章主要研究了智能卡的复位应答,它是在终端给卡送出复位信号后,卡给 终端发送的字符串,其中定义了与数据传输有关的参数和协议等,它们对后面的 通信起着决定性作用,所以对a t r 的深入的了解,对完成卡与终端之间的通信接 口是很重要的。 第五章协议类型选择和数据传输协议 第五章协议类型选择和数据传输协议 智能卡在a t r 的接口字符中给出不同的传输参数数据,诸如传输协议、字符 等待时间和字组等待时间等。如果终端需要修改这些参数中的一个或多个,按照 i s 0 7 8 1 6 3 ,在实际执行协议之前必须先执行协议类型选择p t s ( p r o t o c o lt y p e s e l e c t i o n ) 。只要卡支持的话,终端可以通过p t s 去修改某些协议参数【2 4 1 。p t s 有 时也被称作协议参数选择p p s ( p r o t o c o lp a r a m e t e rs e l e c t i o n ) 。 在卡送出a t r 和可能发生的p t s 后,它等待着从终端来的第一条命令,随后 卡将送出应答数据。后继的处理永远遵从于主从原则,终端为主而卡为从。它们 所遵从的就是数据传输协议。本章主要研究卡和终端之间的数据传输协议。 5 1 协议类型选择 p t s 可以用两种不同的模式执行。在协商模式中,分频值f 和波特率调整因 子d 在p t s 被成功执行前均保持不变。另一方面,如果卡采用的是专用模式,则 在a t r 中给出的f 和d 之值对p t s 的传输一样也是强制的。在t a 2 字节中由卡 给出这两种模式的哪一种受到支持。表5 1 给出了p t s 的数据元和它们的名称。 表5 1 遵照i s 0 7 8 1 6 3 的p t s 的数据元和名称 数据元 名称 p t s s 初始字符 p t s o格式字符 p t s l ,p t s 2 ,p t s 3参数字符 p c k校验字符 终端在收到a t r 后必须立即执行p t s 请求。如果卡同意对协议参数所请求的 修改,它送出接受的p t s 字节给终端。原则上,它是所接收的数据的回应。否则, 卡什么也不发送而终端执行一新的复位序列以促使卡脱离此状态。p t s 只能执行 一次,在a t r 后立即进行,i s 0 7 8 1 6 3 禁止重复传送p t s 。 实际上,根本很少使用p t s ,因为现在使用的智能卡的传输参数都严格和那 些终端相匹配。 第一个字节是起始字符,它将通知卡终端在a t r 之后就立刻启动一p t s 请求。 因此,其值总是f f ,而且每个p t s 都必须传送它。接着p t s s 的数据元是格式字 符p t s 0 ,它也是每个p t s 的必需部分,允许可选的至多有3 个字节,它们被称为 参数字符并以p t s l ,p t s 2 ,p t s 3 命名。它们对将在p t s 后接着使用的传输协议 的各种参数进行编码,其中p t s 3 是留作备用的【2 4 】。p t s 的最后一个字符被称为校 i s 0 7 8 1 6 协议研究及其集成电路实现 验字符,它是前面所有字节的x o r 校验和。 如果卡能解释p t s 并据此修改传输协议,它回送一个接受的p t s 给终端以示 确认。如果p t s 请求中含有卡不能执行的项目,它就等待终端执行复位。这个过 程的缺点是在真正使用传输协议之前,损失了大量的时间。p t s 0 、p t s l 、p t s 2 的编码见表5 2 ,表5 - 3 ,表5 4 。 表5 2p t s 0 编码 b i t 8b i t 7b n 6b i t 5b n 4 b i t l意义 x x x x所用传输协议 1p t s l 可用 1p t s 2 可用 1 p t s 3 可用 0留作备用 表5 3p t s l 编码 b n 8 一b r r 5b 兀 4 b n l意义 x x x x f x x x xd 表5 4p t s 2 编码 b i t 8 一b i t 3b i t 2b i t l意义 o0不需要额外保护时间 01n = 2 5 5 10额外保护时间为1 2 e t u x x x x x x 留作备用 上面对p t s 的说明不能用于由于终端不能执行一p t s 时的协议转换,虽然如 此它们仍有自己特殊的传输协议。设计出一个特别的方法,可以不管这些限制而 允许协议转换。 如果终端不能识别a t r ,所有的终端都会执行多次复位的序列,这就明确是 智能卡应在每次复位后转换其传输协议。可用一个例子说明,第一次复位后,卡 送出t = 1 4 的a t r ,并准备按t = 1 4 协议通信,第二次复位后,它送出的a t r 中 t = i ,并准备使用t = i 传输协议,第三次复位后,它再次运行t = 1 4 协议【2 5 1 。这不 是一个理想的运行方案,因为在每次复位后设备的运转永远是相同的,但确是一 个对不同的种类的终端都完全实用的方案。 这样就有可能降低智能卡在加电复位后总是具有相同的应答所带来的缺陷。 卡在插入读卡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论