




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复旦大学硕士毕业论文 一种双界面卡的设计和实现 摘要 丫6 5 2 3 6 8 如今,非接触式i c卡在人们的日 常生活中得到了越来越多的应用,非接触 式卡的功能也变得越来越强大, 出现了非接触式i c卡和接触式i c卡结合的双界 面 i c卡。 随着在笔记本、手机、p d a的快速普及,越来越多的移动设备产品开始集 成进非接触卡, 从而使手机、 p d a 、 手表等消费品具有原来智能卡所具有的功能, 如买车票、自 动付费等。而一个名n f c ( n e a r f i e l d c o m m u n i c a t i o n )的设备到 设备之间近距离通讯协议也是建立在非接触卡的通讯协议上。 越来越多的应用还对非接触卡的应用软件接口 提出了进一步的要求。 在非接 触卡集成入c p u , 通过c o s 软件来提供一个简单、强大的应用软件开发接口 和 更强的安全机制是当前非接触卡的发展趋势。 本文研究了双界面接口的c p u卡, 提出了一 个新的双界面卡架构, 使得设 计开发能在原有的基础上快速完成; 木文还着重研究了低功耗的设计方法和在不 同应用下软件的设计原则。最后本文给出了一个设计实例。 关键词: 非接触卡、片上操作系统、三重认证、应用软件接口 第 i页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 ab s t r a c t t h e a p p l i c a t i o n o f c o n t a c t l e s s c a r d i s p o p u l a r i n p e o p l e s l i f e n o w . a s t h e c o n t a c t l e s s c a r d b e c o m e s m o r e p o w e r f u l , t h e r e c o m e a n e w c a r d c a l l e d c o m b c a r d wh i c h c o mb i n e s c o n t a c t l e s s c a r d a n d c o n t a c t c a r d a l o t o f m o b i l e e q u i p m e n t s s u c h a s c e l l p h o n e , p d a a n d n o t e b o o k h a v e i n t e g r a t e d c o n t a c t l e s s c a r d i n t o t h e i r s y s t e m . t h e s e c o n s u m e r p r o d u c t s n o w h a v e n e w a b i l i t i e s w h i c h s m a rt c a r d h a s b e f o r e . wi t h t h e s e n e w f u n c t i o n s , p e o p l e c a n b u y t i c k e t o r p a y b i l l m o r e e a s i l y b y t h e s e p o w e r e d m o b i l e e q u i p m e n t s . a n e w c o m m u n i c a t i o n p r o t o c o l n a m e d n f c h a s b e e n s e t u p n o w . t h i s p r o t o c o l i s u s e d a s a n e a r f i e l d c o m m u n i c a t i o n s t a n d a r d b e t w e e n c o n s u m e r p r o d u c t s a n d i s c o m p a t i b l e w i t h c o n t a c t l e s s c a r d . wi t h t h e m o r e a n d m o r e a p p l i c a t i o n o f c o n t a c t l e s s c a r d , a n e w c h a l l e n g e o f a p i i s r a i s e d . s o m o r e a n d m o r e c o n t a c t l e s s c a r d i n t e g r a t e d c p u t o o ff e r a s im p l e a n d p o w e r f u l a p i t o s o ft w a r e d e v e l o p e r . t h i s p a p e r i n t r o d u c e s a d e s i g n o f a c o m b o c a r d . a n e w e f f i c i e n c y a r c h i t e c t u r e i s g i v e n t o s h o rt e n t h e d e v e l o p c y c l e b y i n t e g r a t in g v e r i f i e d i p . t h i s p a p e r a l s o f o c u s o n t h e l o w p o w e r d e s i g n a n d c o s d e s i g n . i n a d d i t i o n , a n a c t u a l l y d e s i g n e x a m p l e i s g i v e n i n t h e e n d o f t h i s p a p e r . k e y wo r d s : c o n t a c t l e s s c a r d . c o s . t h r e e - p a s s a u t h e n t i c a t i o n . a p i 第 2页 父旦大学硕士毕业论文 一种双界i t卜 的设计和实现 佑 - : p r 启 介台 2口. 二户口! i l j 1 . 1非接触卡与接触卡的介绍 如今,接触式 i c卡 ( 下简称接触卡)在人们的日常生活中得到了普遍的应 用。 在接触卡的普及过程中, 逐渐发现了许多的弊端: 卡在读写器上经常拔插造 成的磨损导致接触不良, 从而引起数据传输错误, 并且卡与读写器之间的磨损也 大大缩短了卡和读写器的使用寿命; 另外, 接触卡的通讯速率较低, 再加上插拔 卡的动作延误,造成每一笔交易需要较长时间的等待。 为了解决这些问题,非接触式i c卡 ( 下简称非接触卡)应运而生。非接触 卡的优点是显而易见的: 它通过无线电波与读写设备进行通讯, 无裸露触点, 与 读写器间也无机械接触, 可靠性和使用寿命高; 它的通讯速率高于接触卡, 在一 定距离范围内可以从任意方向与读写设备通讯, 从而使操作更为方便、 快捷。因 此,非接触卡在很多场合已经取代了接触卡,在卡市场所占的份额越来越大。 非接触卡也存在缺陷: 当卡片弯曲过度时, 卡片容易因线圈焊点断裂而失效; 在一些场合的通讯容易受环境干扰而失败; 加密方法较简单, 安全性低于接触卡 等。 总的来说, 接触卡和非接触卡因使用环境不同各有利弊, 因此在实际应用中 都得到了广泛的使用。 相对来说, 在安全要求较高, 操作速度要求不高的应用如 银行卡中通常使用接触卡; 而在安全要求较低, 操作速度要求较高的应用如公共 交通卡中,通常使用非接触卡。 表一,非接触式 i c卡与接触式i c卡的比较 优点缺点 接触式i c卡卡片阅读机设备简单 安全性高 不易受干扰 插拔操作,使用不便 可靠性不高, 使用寿命短 通讯速度低 非接触式i c卡非接触操作,使用方便 可靠性高,寿命长 通讯速率高 安全性低 易受干扰 卡片阅读机设备复杂 第 a页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 1 . 2非接触卡应用发展 随着技术和应用的发展, 非接触式卡的应用越来越广泛, 功能也 越来越强大。 应用中出现了非接触式i c卡和接触式i c卡结合的双接口i c卡, 双接口i c卡既 具有非接触卡的耐用性和方便性, 又不失安全性。 而且随着在笔记本、 手机、 p d a . 手表的快速普及,越来越多的移动设备产品开始集成进非接触卡,从而使手机、 p d a 、手表等消费品具有原来智能卡所具有的功能,如买车票、自 动付费等。 为了在移动设备系统上显示智能卡的一些信息, 如剩余金额等, 移动设备需 要和非接触卡进行通讯。 通常这些通讯不会使用非接触的方式, 因此需要非接触 卡能提供一个接触式的接口。 这些在移动场合下, 应用对非接触卡的功耗要求很 高, 一般希望非接触卡在与系统通讯时能以较低的电压、 较低的电流下完成工作, 而与移动设备不通讯或非接触卡通过射频接口和外部读卡机通讯时则不需要系 统供电。 因为非接触卡的广泛使用, 原来用于非接触卡的通讯协议渐渐的被扩展成为 一个设备到设备之间的近距离通讯协议。这个名为 n f c ( n e a r f i e ld c o m m u n i c a t i o n )的技术由诺基亚、飞利浦和索尼等公司联合发起和推动。n f c 的目 标是在最大2 0 c m范围内,在手机、数码相机、掌上电脑、个人电脑、游戏 机以及个人电脑周边设备等支持n f c的设备之间交换所有数据种类。这需要在 这些设备上增加非接触接口或者说这些设备集成如带接触接口的非接触卡。 越来越多的应用除了对非接触卡的接口提出了要求, 还对传统非接触卡的应 用开发提出了进一步的要求。 原来非接触卡的指令比较简单, 功能比较少。 要完 成一个复杂的操作如建立一个文件需要对非接触卡的数据结构十分了解而且要 编写许多条指令。 特别的, 非接触卡中存放的许多资料是比较敏感的, 如金额之 类, 在对这些资料进行读写时, 如果发生意外使操作中断, 如何正确恢复资料是 一个很头痛的问题, 所有这些很大程度上阻碍了非接触卡的应用开发。 在非接触 卡集成入c p u ,通过c o s 软件来提供一个简单、强大的应用软件开发接口是一 个很好的解决方法。 第 5页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 1 . 3本文的研究目 标与内 容 本文的研究目 标是设计一个低工作电压、 低功耗、 带串行接触接口和非接触 式接口的c p u芯片, 通过片上操作系统 ( c o s ) 提供用灵活、强大的应用接口。 因为这个 设计来源非接触卡与接触卡结合的双界面卡, 而且可能的最大用途也是 用于智能卡,所以下文我们仍称这个设计为双界面卡。 如上节所述, 这个双界面卡可能的应用有以下三个主要方面: 全兼容原有非 接触卡的应用;以良 好的软件接口 ( a p i )支持新非接触或接触式的应用开发: 作为n f c通讯的节点完成两个设备之间的数据交换。可见,操作系统需要支持 这些不同应用, 还要保护不同应用和应用之间数据的安全性, 管理移动设备访问 数据的权限控制等。这些对操作系统 ( c o s )的设计提出了新的要求。 本文研究重点主要放在芯片的架构、安全性设计、低功耗设计和c o s系统 设计这几个方面。 至于具体电路实现,因为大多是己有的设计, 故本文不作详细 的描述。 本文的最重要的思想和特点是怎样合理的设计芯片架构,使 c p u、操作系 统软件和外部界面接口无关,尽量利用原有设计资源搭积木式的完成芯片设计。 因为这样可以简化芯片的设计工作,而且可以降低软件的编程复杂性。 安全性是c p u卡的重点内容,本文在这个方面进行了讨论,并结合了各种 安全手段,设计了一个多层次、高强度的智能卡安全体系。 低功耗是非接触应用和移动设各应用的迫切要求。 特别的, 在不同场合的应 用可能对芯片的工作电压提出不同的要求, 如何在这些条件下满足芯片适用性和 低功耗的要求,本文将作为重点讨论这个问题。 本文还分析了不同的应用提出的要求, 对如何设计片上操作系统 ( c o s ) 作 了讨论。 下面对本文各章节作简单介绍, 第二章, 非接触 c p u卡系统架构设计, 主要介绍了系统架构的特点, 两个 第 6页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 界面与 c p u之间的接口, 如何在两个界面之间产生系统时钟, 如 何产生电源和系统复位信号。 第三章, 模块、 安全机制和低功耗设计, 按照两种界面的设计, 对c p u系 统和外设,存储器管理,存储器和测试模式分别作了介绍。最后 重点讨论了安全机制和低功耗设计方法。 第四章, c o s 软件的设计,先对可能的应用作了分析和总结,然后给出了 操作系统的模块划分和文件管理方法。 第五章, 设计实现,基于提出的芯片架构,在利用原有设计的基础上,设 计了一个验证芯片的电路和版图;工艺选择是新加坡 c h a r t e r 0 . 6 u m c mo s e e p r o m工艺。 第六章, 结论,对本文的研究作了的总结和概括。 第 7页 复旦大学硕士毕业论文 一种双界1 位卡的设计和实现 第二章 系统架构设计 2 . 1芯片架构 芯片主要有c p u系统、界面接口和存储器三个主要部分组成。界面接口负 责和外界进行命令和数据的传输, 本芯片提供了i s o / i e c 1 4 4 4 3 - a的非接触接口 和基于串行通迅的接触接口; 芯片共提供 7 个外接管脚: 非接触接口的两个线圈 输入:接触接口的串行数据线、时钟、复位、电源和地。 c p u系统是兼容 8 0 5 1 指令的,四个时钟执行一条指令的高速 8 位微处理器 加上2 5 6 字节的r a m和外设组成: 存储器部分由存放片上操作系统 ( c o s )的 r o m和存放应用数据的e e p r o m组成。 为了保证系统的安全性, 本文设计了多 个安全性的措施,来保证芯片不受外部的非法侵入,关于安全性的方法在下面 c p u系统中会作详细讨论。 芯片的架构如下图所示。 图1 、芯片架构 这个架构的基本思想是使智能卡的c p u系统与界面之间接口相对独立。使 界面接口 成为应用的底层,操作系统软件的应用处理不必关心接口的具体实现。 对操作系统来说, 接口的数据发送和接收的整个传输过程是透明的, 这意味着从 应用软件开发的角度看到的数据资料是与应用正在使用何种具体接口是不相关 的。 界面接口可以随着应用的发展而改变, 可以是接触和非接触的组合, 也可以 是不同标准的非接触接口组合,甚至可以是蓝牙、wl a n, i r d、并行接口等其 第 8页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 他种类的接口组合。 这种接口和c p u系统在遵循统一访问规范的基础上可以任意组合的特点, 提供了对用户、 芯片设计者和系统软件设计者很大的好处: 开发时相对独立, 不 必考虑底层的实现: 在引入新应用或开发新系统时可任意选用已存在的成熟的基 本模块,以加快开发的进度,降低开发的成本和风险。 本芯片的开发过程就是一个例子, 因为尽可能的利用了己有的设计模块, 所 以本芯片的设计主要进行部分模块电路的设计和改动, 较大的减少了原来开发模 式下的周期和成本。 2 . 2界面与c p u系统的接口 为了达到界面接口与软件间的独立性,c p u 系统与各种界面接口之间需要 建立一个简单的标准接口。在本文设计中使用增加 8 0 5 1 系列处理器的特殊功能 寄存器 ( s f r )的方法作为访问c p u不同界面接口的标准。 非接触界面的接收解调和发射调制电路是在原非接触卡的设计中已有模块 上改进。对原来的接收、发射寄存器组进行 s f r编址,以及增加一些控制寄存 器和逻辑电路就可以容易的在非接触调制解调模块中设计出支持特殊功能寄存 器 ( s f r )的接口。 接触界面的接口就是一个支持特殊功能寄存器( s f r ) 的接口的串行( u a r t ) 模块,与标准的 u a r 7 , 不同的是, 这个模块的发送和接收是一个开漏的双向数 据线,这意味着接触的串行接口只能以半双工的方法进行通讯。 在完成与外界的数据通讯后,需要通知 c p u来处理数据和指令。本文采用 的方法是用中断请求信号来唤醒处于休眠模式的 c p u 。在本设计中,非接触接 口 使用8 0 5 1 的外部中断i n t 1 ,而接触接口 使用内部的串行中断。 2 . 3电 源产生 在双界面卡中一个比较困难的问题是如何提供 c p u系统一个可靠的系统时 第 9页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 钟和电源。因为两个界面都会产生时钟和电源,所以系统需要能正确相互切换, 而不产生冲突。 本设计提出了一个简单可靠的方法来产生电源和时钟。 特别的, 本文描述的 方法还可以支持两个界面同时工作。 e x t v d d ( 接触界面) 图2 、电源切换 上图表示两个接口电源的切换方法。电容c 1 是芯片的储能电容,在非接触 供电和操作时,c 1可以存储电荷;在接触操作使用外部电源时,c 1可以稳定 v d d电压。 为了防止电流可能倒流, 这里使用二极管d 1 来保证电流的单向流动。 当 然, d 1 存在会使v d d 与外部e x t v d d 存在一个电 压差, 解决方法是采用特殊 的低闭值mo s管来代替普通的二极管。需要指出的是,来自非接触界面的电压 产生电路是桥式整流结构,电流不会反向流动, 所以不需要串一个象di 那样的 二极管。 d c - d c模块是为了在不同的电源电压下,提供系统一个较低的、稳定的工 作电压。 这有利于降低芯片的功耗和适应不同应用场合的电源电压的要求。 下文 低功耗设计中将会进一步讨论。 使用上图的电源切换方法可以使电路在任意接口的电源下工作。 特别当两个 电源同时工作时,电路也能正常工作。 第 1 0页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 2 . 4复位信号产生 v d d 上电复位 上/ 下电检测 下电复位o r o r复 位 w d t ( 看门狗) 超时复位 图3 、复位信号 上图是 c p u复位信号的产生。上下电检测模块负责监视 v d d的电压,在 上电过程或工作电压过低时产生上下电复位信号:wd t模块是看门狗电路 ( w a t c h d o g t i m e r ) ,当软件长时间不对w d t 模块进行复位操作后, wd t 会产 生超时复位使c p u复位,c p u对 w d t模块进行读写也是通过 s f r接口。 特别要指出的是, 尽管接触接口有复位信号的输入脚, 但不会因此产生c p u 的复位。 当接触界面的复位信号有效时, 接触界面会设置外部复位标志位并产生 中断,然后由c p u来决定如何处理外部接口的复位请求。 2 . 5系统时钟产生 系统时钟有非接触界面和接触界面的两个来源, 为了使系统可以工作在来自 任意界面的时钟下和可以同时和两个界面正确通讯, 需要系统有根据应用切换系 统时钟的能力。另外,为了尽可能的降低系统的功耗,还需要在c p u不需要工 作时将系统时钟关断,在中断产生后把再恢复时钟。 第 1 1页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 c l k l / i n t 1 c l k 2 / i n t 2 e l k 时钟管理 c p u 关时钟 接触界面 图4 、时钟切换 如上图所示,芯片通过一个时钟管理模块来完成两个界面时钟 。 l k 1 ( 6 .7 8 mh z ) 和c lk 2 ( 典型频率为3 .5 8 mh z ) 到系统时钟 e l k 的切换, 并可由c p u 来关断 统时钟 e l k 来节省功耗。 在中断i n t i 和 int 2 发生时, 时钟管理模块负责恢复系 从系统架构可以看出,在正常工作时的c p u和两个界面的时钟并不需要同 步, 这是因为由功能独立的界面模块负责各自 通讯, 通讯的时钟可以独自由界面 产生, c p u做的只是通过特殊寄存器 ( s f r ) 接口访问这两个界面模块。因此在 两个界面同时在工作时,c p u的系统时钟可以是 c l k l 和 c l k 2的任何一个。当两 个中断都有效时, 系统时钟将从先申请中断的那个界面的时钟中恢复, 并先处理 这个界面的中断。 c i k 1 第 1 2页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 图 5 、时钟管理模块 上图是时钟管理模块的电 路图。 从c p u来的s t o p - c l k 会使c l k 关断, 而来自 界面的中断请求 i n t i , int 2 或者来自 定时器的中断 i n t 3 会清除关断信号,来 由恢复时钟选择模块来决定恢复那个时钟。 图中的c l k t i m e r 是给定时器的计数时钟,c l k t i m e r 的输出在与门之前是为 了保证在系统时钟关闭后,定时器仍有时钟来计数。 第 1 3页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 第三章 模块、安全机制和低功耗设计 3 . ,界面接口 设计 3 . 1 . 1非接触界面 非接触界面支持的通讯协议是i s o / i e c 1 4 4 4 3 - a标准。 这个标准的一个重要 特点是通讯中发射和接收信号是 1 0 0 %调制的。这样,非接触卡在接收时无法恢 复出时钟并且能量获得也被中断, 因此i s o / i e c 1 4 4 4 3 - a很少被用作非接触c p u 的射频协议。 但是由 于此标准简单、 可靠的 通讯方式, 支持i s o / i e c 1 4 4 4 3 - a的 非接触存储卡在市场得到了广泛的应用。 在需求越来越强的应用背景下, 设计一 个兼容原有应用 i s o / i e c 1 4 4 4 3 - a的,同时具有很好的应用软件接口的双界面 c p u - f 是十分有意义的。 二 r$4h(clkl)fa$1 ccivddgnd - 接收解调 2 产 . f cl仁 特殊寄 存器 ( s f r ) 接口 过压保护上下电检测 发送调制 图6 、非接触界面 上图是非接触界面模块的结构图, 主要有电源产生、 时钟产生、 调制、 解调、 过压保护和上下电复位等模块组成。 射频模块连接外部的线圈l 1 , 线圈和芯片内部的电容c l 构成一个并联谐振 回路,通过选取适当的电容和电感值,可以使 l c谐振在 1 3 . 5 6 mh z 频率附近。 第 14 页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 谐振可以使非接触卡能更容易从读卡机的发射的信号中获得能量。 电源产生模块由四个二极管组成的桥式整流电路组成, 此模块负责从线圈中 整流出稳定的直流工作电压供芯片使用。桥式整流电路的输出就是电源 v d d , 为了尽可能的多存储能量, 在v d d和g n d之间串联了一个大电容c 2 。 在非接 触卡接收或发射从线圈上得到的能量不多或没有的时候, 芯片的供电电流就来自 c 2 中存储的电荷。 可见, 为了得到稳定的电压应尽量增大的电容c 2 和减小芯片 的工作电流。当然, 降低芯片的最低工作电压也是一个比较好的方法, 本芯片的 设计工作电压范围是2 . 5 v - 5 5 v . 时钟产生模块负责产生可靠的时钟给c p u系统,这里用的是一个简单的非 门 1 1 。当线圈上有振荡信号时,非门1 1 就可以比较出频率为 1 3 .5 6 mh z 的时钟 来。如前所述,当读卡机发送 1 0 0 %调制信号时,线圈上就不会有振荡信号, 就 无法产生时钟信号,所以c p u在非接触界面接收时无法得到来自非接触界面的 时钟而必需采用接触界面的时钟或停止工作直到非接触界面再产生时钟。 当非接触卡与读卡机天线靠的很近且在芯片没有过压保护时的时候, 非接触 卡线圈上的电压可能会因谐振会达到很数百伏之高。 因此, 过压保护电路对非接 触卡来说是很重要的。 v dd r1 p1 图7 、过压保护电路 上图是一个简单实用的过压保护电路。当 v d d电压越来越高时,流过电阻 r 1 的电流也越来越大,这样n mo s 管n 2 的栅电压也会升高,使流过大尺寸的 第 i s页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 n 2 上的电流迅速增加,达到泄放v d d 上的电流来保护电路的目的。 上下电检测模块和复位控制模块一起保证芯片工作在安全的电压范围中, 本 芯片的上电复位电压为2 . 8 v ,下电复位电压为2 .5 v . 发送调制模块是把 c p u的数据用曼彻斯特编码同过负载调制的方式发送到 读卡机; 接收解调模块完成读卡机的命令的改进密勒编码的解调。 这两个模块都 设有数据寄存器来暂存数据和完成并串之间的转换。 因为本设计使用的这两个模 块是己有设计,所做的电路设计就是增加了 s f r标准的接口,所以对这两个模 块的设计本文不作仔细的讨论, 在参考文献中可以查询相关的编码标准和电路设 计方法。 3 . 1 . 2接触界面 除了i s o / i e c 1 4 4 4 3 标准 t y p e a非接触接口,本芯片还提供了串 行接口 和 其它的器件相连。 这样本芯片可以完成两个界面的通讯, 从而具有完成更多应用 的能力。 r s f m 2 ( s m ) 接 口一 门 s fr i / f 门x 7 口 2 图8 、接触界面结构 上图是这里的串行接口通过 u a r t来完成,通讯的波特率是一个预先设定 的较低的波特率, 工作中也可以通过命令来让软件实时修改通讯速度以适应不同 的应用需求。 标准的u a r t接口 有接收 ( r x )和发送 ( t x )两个串行数据线,在这里通 第 1 6页 夏旦大学硕士毕业论文 一种双界面卡的设计和实现 过一个 n m o s管实现了半双工的单个串 行数据线,这样做的目的是为了和接触 式c p u卡的接口相同。 u a r t发送和接收的时钟是来自 外部的时钟输入, 这样有利于数据的可靠接 收和发送。 如图所示, 这个时钟也被直接送到了后面的时钟产生模块作为系统时 钟的一个来源选择。 接触接口 还提供了外部复位信号r s t 。 需要指出的是, 当外部复位信号有效 时,c p u并不会复位。接触界面会在一个增加的寄存器中纪录下外部器件的复 位请求,并产生 i n t 2 来中断c p u处理这个外部复位请求。至于 c p u如何响应 则可以根据应用的不同而改变。 3 . 2 c p u系统 c p u系统是本芯片核心部分,负责所有命令的执行,功能的实现;本芯片 的c p u系统由兼容 8 0 5 1 指令的高速 8 位微处理器, 与传统的8 0 5 1 系列c p u不 同的是此 c p u可以在 4个时钟周期完成一条指令,速度大大加快。内部 r a m 的大小是2 5 6 字节。另外为了实现写e e p r o m的定时以及其他软件上的定时需 求,还增加了定时器,定时器的时钟是不会被休眠模式关闭的 c l k t i m e r . 第1 7页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 图9 、c p u运行流程 如上图, c p u系统的软件流程通常是这样的, 关闭时钟进入休眠模式( i d l e ) 等待界面中断, 界面中断唤醒后恢复时钟响应中断, 根据中断源和查询状态信息 来判断如何操作, 完成操作后通过相应界面返回数据, 再次关闭时钟进入休眠模 式 ( i d l e ) 。 一般来说, 进行e e p r o m擦写需要几个毫秒的时间, 为了节省功耗, c p u在进行e e p r o m擦写时也会关闭时钟进入休眠模式 ( i d l e ) , 等待定时器的 中断唤醒后继续执行操作。 与上面中断不同的是, 来自 存储器管理模块的中断是 c p u在执行过程中发生的,因此不存在唤醒和恢复的问题。存储器管理模块的 中断是为了软件上的生机或打补丁用,下面会仔细讨论这个问题。 3 . 2 . 1总线结构和中断控制 /匕 一 月 s f r 总线 外部 -m 非接触 界面 定时器 中断线 图 1 0 . c p u系统总线结构和中断控制 上图说明了c p u系统的总线结构。 本设计中作为i p 模块选用的8 0 5 1 c p u 共有s f r总线、外部存储器总线、内部存储器总线和内部r a m总线四条总线。 一般而言, 外部存储器总线连接数据e e p r o m, 内部存储器总线连接程序r o m; 但是为了简化接口和为了增加下文涉及的存储器特殊功能, 这里弃用了内部存储 器总线,而用外部存储器总线把r o m和e e p r o m统一编址到 6 4 k字节空间的 外部存储器中。 标准8 0 5 1 的中断源有5 个,按中断优先级由高到低排列分别为:外部中断 第 1 8页 复旦大学硕士毕业论文 一种双界而卡的设计和实现 i n t o 、 定时器t o 中断、 外部中断i n t 1 、 定时器t 1 中断、串 行口 中断。 本设计 使用了除定时器 t 1 中断外的四个中断。 本设计中,外部中断 i n t o由存储器控制模块产生;定时器 t o中断由前述 的定时器产生: 外部中断i n t 1 由非接触界面产生; 串行口中断由接触界面产生。 c p u会根据不同的中断申请跳转到不同的中断源服务程序入口,由操作系统来 处理不同的应用需求。 3 . 2 . 2支持软件升级的存储器管理 存储器分为存储器管理模块和存储器两个部分。 存储器由r o m和e e p r o m 两种类型的存储器组成。 r o m不可以被改写, 是用来存放着 c p u程序的, 也就 是片上操作系统 ( c o s ) ; e e p r o m可以被改写,用来存放应用数据,必要时也 可以存放着升级程序; 本芯片的c p u访问r o m和e e p r o m是统一编址的, 1 6 位的地址线共可以 访问6 4 k字节的存储器。 6 4 k寻址空间中的4 8 k被分配给了r o m, 剩下的 1 6 k 留给了 e e p r o m。对一般的应用来说,1 6 k的数据存储器是足够的,如果将来 应用上需要更多的数据存储器, 可以通过在存储器管理模块中增加段地址的方法 来扩展更多的寻址空间。本芯片的计划是使用 3 2 k的r o m和4 k的e e p r o m. 在4 k的应用数据e e p r o m中, 操作系统为了记录芯片的运行状态和其他备份 数据将会占用一部分空间, 也就是说留给应用的e e p r o m其实比4 k要少一些。 下图表示了存储器空间的划分。 r o m ( 操作系统) r r r r h 图 1 1 . e e p r o m ( 应用数据) 存储器空间的划分 第 1 9页 复旦大学硕士毕业论文 一种双界而卡的设计和实现n 通常,数据存储器e e p r o m除了分配给各种应用外,芯片制造商和发行商 也需要定义一些自己的参数和标志。 操作系统也需要一些空间来存放系统的信息 和状态; 如果有未来升级或修改数据的需求的话,还需要一些空间存放未来可 能变化的数据或程序代码。 本芯片额外预留了 2 8 8 个字节的 e e p r o m。其中有 4 个字节用来存放制造 商的自定义参数和软件升级的程序入口地址,2 8个字节给操作系统使用,用来 定义芯片的界面类型、 可支持的应用、 各个应用的权限等参数。 剩下的2 5 6 个字 节留作软件的升级或打补丁用。 软件升级或打补丁的方法是预先写入需要修改的程序代码的上一条指令的 地址, 也称为程序入口地址到存储器管理模块 ( mm u ) , 然后mmu会监测正在 访问的程序 r o m地址, 如果c p u读取程序入口地址的程序代码时, m mu将会 产生外部中断i n t o , 使 c p u在响应中断时跳转到地址为0 0 0 3 h的中断服务程序 中, 这个中断响应程序有一条长跳转指令, 使c p u跳转到e e p r o m中固定为升 级程序的地址上。 如果下面顺序执行的指令还有地方需要升级或打补丁, 前面q : 升级程序可以再次通过 s f r接口写入下一个程序入口地址到 mmu中。 下图是软件升级或打补丁的示意, 虚线的左边是中断产生电路结构示意, 右 边是c p u响应的流程图。 人 s f r 接 口 一 些likil 比较器 存储器 地址 图 1 2 、软件升级或打补丁 第 2 0页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 r o m中的操作系统程序是在初始化时读取软件升级标志来确定是否启动软 件升级功能,如果不需要软件升级的功能,这些2 5 6 个字节e e r p o m将被操作 系统用来作为额外的空间使用, 比如把原来操作系统为了记录状态而需要占用应 用数据 e e p r o m的空间移到这里来。 3 . 2 . 3测试模式 为了初始化系统的 e e p r o m,同时也为了提高生产时的测试效率,降低测 试成本,本芯片提供了测试模式。 在测试模式下,操作系统可执行来自任意界面的命令,可以对所有的 e e p r o m 进行写操作。即在测试模式下,测试设备可以 通过串行接触接口或非 接触接口向芯片发出初始化的指令和数据,这时测试设备对e e p r o m拥有最大 读写权限。 操作系统在上电时通过读取 e e p r o m中的一个特征值来判断是否进入测试 模式. 。e e p r o m 在没有初始化时的数据是不定的,初始化前的 e e p r o m 中特 定地址的数据为一个特定值如 “ 5 5 a a”的概率是非常低的,可以说概率几乎为 零。根据这个判断,操作系统会读取 e e p r o m中一个固定地址的数据,通过比 较判断其是否为一个事先约定好的数据,如果是则表示系统己经经过了初始化; 如果不是,则表示系统还未初始化, 则进入测试模式; 这个事先约定好的数据就 称为特征值。 实际上, 当操作系统判断出系统还未初始化而进入测试模式后并不是直接进 行初始化工作,操作系统会先对芯片作自 检测。自 检测的程序是直接放在r o m 中的。当自检测出错不能通过时,操作系统会在串口输出低表示出错。 在自 检测通过后, 芯片进行前面所述的初始化阶段。当初始化完成后, 测试 设备做的最后一件事就是把写入特征值, 因为在正常模式下, 操作系统是没有权 限改写特征值的,所以芯片就无法再次进入测试模式了。 下图是操作系统在上电后进入测试模式进行初始化的流程图。 第 2 1页 复旦大学硕士毕业论文 一种双界1% 卡的il 计和实现 图 1 3 、 初始化流程图 3 . 2 . 4存储器设计 存储器的r a m和r o m都是选用已有的i p ,未作电路上的修改,因此不做 讨论。下面的存储器设计只涉及 e e p r o m存储器的设计。 通常,非接触卡对e e p r o m的操作是按页擦写,按字节读,而且是串行的 数据接口。这里为了兼容非接触卡的数据格式,并且也是缩短对e e p r o m擦写 的交易流程, e e p r o m的设计也是分为许多页, 每1 页有1 6 个字节。 这样原来 的4 k加2 8 8 字节的e e p r o m共被分为2 7 4 个页。为了适应c p u的总线结构, 这里 e e p r o m 的串行数据线被改成了 8 位并行数据线。下图是 e e p r o m模块 的结构示意图。 第 2 2页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 控制及读出放大 令 页数据r a m( 1 2 8 位) 高压泵 e e p r o m 2 7 4 x 1 2 8 阵列 如| x译码 接口及逻辑电路 图 1 4 , e e p r o m模块的结构 与非接触卡对 e e p r o m 的只能按页擦写不同的是,现在对 e e p r o m 的擦 写可以是整页的1 6 个字节, 也可以是小于1 6 个字节任意长度的数据。 这些数据 都会被写到上图的页数据的r a m中,控制电路会根据r a m的1 2 8 位数据是否 被写入来判断是否需要对这个比特进行擦写, 然后控制电路会通过开关高压通路 来进行这个字节的擦写。 e e p r o m的擦写时间一般为3 毫秒左右, 通常的设计是e e p r o m内有一个 环形振荡器产生低频时钟, 然后通过一个计数器来定时控制擦写时间。 因为环形 振荡器产生低频时钟会随着温度、电压等外界因素变化,所以 往往 e e p r o m 的 擦写时间会从 1 . 5 毫秒到8 毫秒不等。为了避免这个时间的不确定性, 综合考虑 到不同温度、 电压下的e e p r o m可靠擦写的时间要求, 本设计通过c p u的定时 器来把 e e p r o m擦写时间限定在一个可靠的时间内,如 5 毫秒左右。这样,不 但方便的外部读写设备的设计,也降低了e e p r o m设计的难度和功耗。 同非接触卡一样, 读出e e p r o m 的数据 读操作也是按字节进行读写。 为了在不同的电压下可靠的 设计了如下图的读出电路。 第 2 3页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 输 出 vdd毛耐 参考单元 v c g 图 巧 读出放大电路 简单的读出放大电路可以在e e p r o m存储单元的漏端灌一个电流源,只要 此电流源的值小于写入状态时可导通的电流就可以实现正确的读出。 由于可导通 w_ _ 八 , - .(y cg 一 v tl厂- - -一 _ _ _ 电 流正比 于l 一, 其中w, l为 浮栅晶 体管的 沟道宽和长, v c g 为读 出时控制栅上加的读电压, v t l 为写入状态的闭值电压。 在e e p r o m的存储单元 的版图设计中适当增加浮栅晶体管的宽长比可以有利于读出。 再者, 适当提高读 电压, 也是行之有效的方法。因此, 一般读电压的设置总是较少地小于擦除状态 的闺值电压而较多地大于写入状态的ia值电压。 为了解决读电压和电流源的设置问题,以给存储单元和工艺更大的宽容度, 该电路基本采用对称结构, 左侧一路使用了一个与浮栅晶体管结构一模一样, 但 是浮栅与控制栅短接的参考单元。 由于参考单元与存储单元结构一样, 则受工艺 的影响也一样。 由于参考单元的il l 值电 压及栅氧化层厚度比起存储单元的浮栅无 净电荷时的ia值电压和等效的栅氧化层厚度均略小一些 ( 与祸合比相当) ,这可 以通过使最上面电流源两个 p mo s对管稍不对称来弥补。这样,只要将两个单 元的 控制栅 ( v c 9 r c 和v c g m c ) 接同 一 读电 压, 则不管读电 压如 何波动, 对两个 单元的影响也近乎一样。 只要存储单元中浮栅的净电荷不接近零, 使其阐值电压 与参考单元不同, 此电路就能通过比较器灵敏地读出。 这不仅对读电压、电流源 和工艺的波动带来很大的宽容度,更重要的是,它对i a 值电压窗口的要求变低, 第 2 4页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 因为该窗口随着e e p r o m存储单元的擦写次数增加而缩小, 所以, 此读出电 路 可以提高e e p r o m产品的一个重要可靠性指标,可擦写次数。 3 . 3安全机制设计 3 . 3 . 1安全机制的介绍 非接触c p u卡常会受到来自 外部的非法攻击。为了抵御这些攻击,c p u系 统需要采取有效的方法来保证安全性机制。一般 c p u卡系统保证信息安全是从 保证信息的完整性、保密性和可控性这三个方面来进行。 信息的完整性是通过 c r c ,奇偶校验等方法防止信息传递的出错与丢失, 或通过对信息的加密来防止对信息的分析和篡改。 信息的保密性是保证卡片内部 的如密钥等方面的重要数据不会被别人通过各种手段分析出来; 信息的可控性是 卡片内部数据分安全等级存放, 一定安全等级的用户才能存取相应安全等级的保 密数据, 同时对卡内数据的进行保护, 比如卡片的出厂代码或者安全控制等级在 测试结束后或者初始化之后被锁定。下表是智能卡的安全等级的分类和常用方 法。 表二,智能卡的安全等级。 智能卡安全等级分类 类别应用安全机制卡片类型 第一类银行、社保、 电 子 商 务 、 g s m等 3 d e s , r s a , e c c等加密算法; 三次相互认证; e e p r o m的安全技术; 所有芯片安全技术; 分散密钥管理; c p u卡 第二类公共事业 、公 交一卡通、门 禁、身份识别 等 序列加密算法或3 d e s 方法; 三次相互认证: e e p r o m安全技术; 所有芯片安全技术; 分散密钥管理; c p u卡或me m o ry 卡 第三类考勤、车辆管 理、商场贵宾 卡等 单次认证; e e p r o m安全技术; 部分芯片安全技术 me m o ry卡 第 2 5页 复旦大学硕士毕业论文 一种双界面卡的设计和实现 一般而言, 系统的整体安全特性是由各个部分的安全特性的最薄弱环节来决 定的。 过分强调某些功能的安全级别实际上是不全面的, 也是不安全的:比如在 银行卡中使用了3 d e s的加密算法、各种芯片安全技术, 但e e p r o m安全技术 没有过关,别人通过分析 e e p r o m的工作情况就能获得内部的数据,这时即使 其它安全措施再严密, 也无法保证卡片数据的安全。 设计安全机制的强度的基本 原则是使攻破安全系统所需要的花费成本超过能够得到的收益。 3 . 3 . 2芯片安全机制设计 本芯片的 采用表二中的 第二类卡的 安全策略: 序列加密算法和3 d e s 方法; 三次相互认证;e e p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业科技成果转化落地应用协议
- 培训课程服务与采购合同
- 固定资产管理工具清单包括盘点与报废流程
- 2025调动合同书格式
- 状态机的设计题目及答案
- 专业英语4级题目及答案
- 助农扶贫即兴评述题目及答案
- 胡杨的自述350字7篇
- 2025年重金属污染治理合作协议书
- 建筑项目施工进度管理工具
- GB/T 36572-2018电力监控系统网络安全防护导则
- 甲状腺危象教学课件
- GB/T 11275-2007表面活性剂含水量的测定
- GA/T 970-2011危险化学品泄漏事故处置行动要则
- 外科学-第三章-水、电解质代谢紊乱和酸碱平衡失调课件
- PICC置管后常见并发症的处理教育课件
- 督查督办培训课件
- 北师大版义务教育小学数学教材知识体系整理
- 2023全国大学生数学建模竞赛D题
- PCB常见不良品图片及改善措施汇总
- 开学第一课铸牢中华民族共同体意识课件
评论
0/150
提交评论