基于现场可编程门阵列的识别卡接口控制器与实现方法

文档序号:6483590阅读:199来源:国知局

专利名称::基于现场可编程门阵列的识别卡接口控制器与实现方法
技术领域
:本发明涉及识别卡的操作接口,尤其是涉及一种基于现场可编程门阵列(FPGA)且搭建于可编程片上系统(SOPC)环境中的带触点的集成电路卡的操作接口控制器。
背景技术
:随着技术的进步发展、国家的强盛,公民个人信息的电子化改革越来越深入,信息化的程度加深,智能卡的应用也是越来越普遍,现金和各种证件正逐渐被各种卡片所取代。公民的第二代身份证、银行卡等公民的个人资料都在电子化,而这些的电子化的个人终端介质往往是智能卡。智能卡有着体积小、可加密性、可存储性、成本低等优点。并且智能卡的存储容量比磁条卡大得多,卡里存储的数据的读取由相关的硬件和软件处理,可以防止未授权的存取和篡改,因此安全性很高。对于以往的系统开发,若要扩展系统外设,则需要选择相应的接口芯片,将该芯片与系统的其余部分整合,再编写驱动程序和应用软件。若外设发生变化,则原接口芯片即会变得毫无用途了,而基于现场可编程门阵列的可编程片上系统设计则可最大程度解决这样的窘境,其设计的灵活性适应了需求的多变性,而Avalon总线接口规范的出现方便了系统外设的扩展,从而也缩短了整个嵌入式系统的开发周期,降低了开发成本。因此,亟待开发出一种基于现场可编程门阵列的识别卡接口控制器与实现方法。
发明内容本发明的目的在于,通过提供一种基于现场可编程门阵列的识别卡接口控制器与实现方法,以解决以往外设接口成本高、通用性差、灵活性低、实用性不强的不足的问题。本发明提供了一种基于现场可编程门阵列且搭建于可编程片上系统环境中的识别卡的操作接口控制器。遵照GB/T16649.3,有效完成对带触点的集成电路卡的激活、复位、读写、停活等操作。接口控制器符合Avalon总线规范,方便地在可编程片上系统环境中扩展外设。本发明解决技术问题的技术方案是一种基于现场可编程门阵列的识别卡接口控制器,该控制器的主设备与Avalon开关互联模块;其特征在于所述的Avakm开关互联模块与识别卡接口控制器通过接口A连接,所述的识别卡接口控制器通过接口B与识别卡连接,并对识别卡的状态进行操作;所述的识别卡接口控制器包括用于在出现发送、接收超时错误和发送器、接收器准备好时向总线提出中断请求的中断请求模块;根据分频寄存器中的分频值,以总线时钟作为时钟源输出对识别卡操作时符合GB/T16649.3的时钟发生模块,用于控制该接口控制器的操作,用于指示该接口控制器的状态的控制/状态模块;实现与卡的位同步的采样时钟模块;用于接收、发送数据帧,并进行差错校验的接收/发送模块。前述的分频寄存器波特率除数用来保存分频倍数,输出适合识别卡操作的时钟信号;基本时间单元寄存器用以决定位周期,以实现与卡的位同步;发送逻辑由一个发送保持寄存器口和发送移位寄存器组成;移位寄存器和发送保持寄存器在数据发送时提供双重缓冲;接收逻辑由一个接收保持寄存器口和接收移位寄存器组成。前述的对识别卡的状态进行操作包括激活、复位、读写、停活。一种基于现场可编程门阵列的识别卡接口控制器的实现方法,包括以下步骤接入接口模块;接口模块激活;复位,识别卡和接口模块之间进行信息交换;应答状态判断;是,则进入信息交换步骤;否,则回到复位应答的状态;接口模块停活;前述的接口模块连接识别卡。前述的应答状态的信号应用识别卡的信息传输一致,以固定时间频率etu进行一位数据读;识别卡的一帧为十位,包括开始位、字节位、奇偶校验位。本发明一种基于现场可编程门阵列的识别卡接口控制器及实现方法,与现有技术相比,具有以下明显的优势和有益效果-由上述本发明的技术方案可以看出,本发明通过定义宏提供了方便的软件操作接口,作为系统外设接口,供主设备方便地访问相应的内部寄存器,最终实现信息交换中的帧分析和控制决策。该控制器为可编程片上系统环境中的可扩展外设提供了符合Avalon总线规范的方便的操作接口,从而实现对带触点的集成电路卡的各种操作,充分利用现场可编程门阵列的优势,开发方式灵活,周期短,成本低,实用性强。图1为本发明实例中的识别卡接口控制器的连接示意图;图2为本发明实例中的识别卡接口控制器的功能结构示意图;图3为本发明实例中的识别卡接口控制器的顶层模块图;图4为本发明实例中识别卡卡座示意图5为本发明实例中的识别卡接口控制器的寄存器组织结构示意图;图6为本发明实例中识别卡操作流程图。具体实施例方式本发明提供了一种基于现场可编程门阵列的识别卡接口控制器与实现方法。下面通过具体实施例对本发明的设计实现方式作进一步说明如图1所示,本发明实例中的识别卡接口控制器通过接口A与Avalon开关互联结构(AvalonSwitchFabric)相连,Avalon开关互联结构是一个片上互联逻辑,6它将Avalon外设连接在一起,形成较大的系统。识别卡接口控制器作为Avalon从外设与系统相连,其接口作为Avalon从端口与总线相连,从端口即用于响应传输请求的一组信号。本发明实例中的识别卡接口控制器通过接口B与带触点的集成电路卡连接,其对识别卡激活、复位、读写、停活等操作符合GB/T16649.3。如图2所示,本发明实例中的识别卡接口控制器按功能模块可划分为中断请求模块,用于在出现发送、接收超时错误和发送器、接收器准备好时向总线提出中断请求;时钟发生模块,根据分频寄存器中的分频值,以总线时钟作为时钟源输出对识别卡操作时符合GB/T16649.3的时钟;控制/状态模块,用于控制该接口控制器的操作,用于指示该接口控制器的状态;采样时钟模块,根据约定的"基本时间单元"产生采样时钟,实现与卡的位同步;接收/发送模块,用于接收、发送数据帧,并进行差错校验。如图3所示,本发明实例中顶层模块的管脚信号为clk:输入;Avalon从端口同步时钟(Avalon从端口信号)。reset—n:输入;复位信号(Avalon从端口信号)。read:输入;读请求信号(Avalon从端口信号)。ICI—select:输入;Avalon从端口片选信号(Avalon从端口信号)。write:输入;写请求信号(Avalon从端口信号)。mem_addr:输入;从AvalonSwitchFabric到Avalon从接口的地址线(Avalon从端口信号)。data_from_cpu:输入;来自AvalonSwitchFabric的数据线(Avalon从端口信号)。data—to—cpu:输出;到AvalonSwitchFabric的数据线(Avalon从端口信号)。irq:输出;中断请求(Avalon从端口信号)。Sdk:输出;识别卡时钟信号。rst-输出;识别卡复位信号。IopOrt:双向;识别卡的串行数据输入/输出信号。如图4所示为本发明实例中所使用的识别卡卡座。识别卡卡座是对应识别卡来设计的,正好对应识别卡的触点位置。各触点说明如表l所示7表1识别卡触电排列<table>tableseeoriginaldocumentpage8</column></row><table>本发明实例中寄存器组织如图5所示,波特率除数用来保存分频倍数,以输出适合识别卡操作的时钟信号;基本时间单元(etu)寄存器用以决定位周期,以实现与卡的位同步;发送逻辑由一个发送保持寄存器口和发送移位寄存器组成,主设备写一个数据到发送保持寄存器后,该数据被复制到移位寄存器,当下一个操作开始时,被发送出去,移位寄存器和发送保持寄存器在数据发送时提供双重缓冲,当前一个数据被移出移位寄存器时,一个新值被写到发送保持寄存器,当没有移位操作时,发送逻辑自动发送寄存器的内容到移位寄存器;接收逻辑由一个接收保持寄存器口和接收移位寄存器组成,移位寄存器收到相应位数的数据后,主外设从接收保持寄存器中读取接收的数据,移位寄存器和接收保持寄存器提供双缓冲,当下一个新数据一如移位寄存器时,接收保持寄存器口保持上一次接收的值。当串行移位操作完成时,接收逻辑自动传送移位寄存器内容到接收保持寄存器。状态寄存器由指示接口控制器的状态位组成,其寄存器映像如表2所示SND:由于该接口控制器与识别卡只有一个1/0口,故数据发送和接收使用统一的端口IOport,则状态寄存器SND位标识当前IO端口是否处于发送状态;ROE:接收超时错误。当接收保持寄存器满时,如果新的数据被接收,则ROE位被置为l,此时,新数据改写旧数据。RRDY:接收器准备好。当接收保持寄存器满时,RRDY位置为1;TOE:发送超时错误。当发送保持寄存器仍为满时,如果新的数据被写到发送保持寄存器,TOE位被置为l。此时,新数据被忽略。TRDY:发送器准备好。当发送保持寄存器为空时,TRDY位置为1。TMT:发送移位寄存器空。当发送操作正在进行时,TMT为0;当移位寄存器为空时,TMT被设置为1。控制寄存器包含控制接口控制器操作的数据位。其寄存器映像如表2所示:iRST:识别卡复位信号。复位指定数目的时钟周期被归位。iROE:为1则允许接收超时错误中断。iRRDY:为l则允许接收器准备好中断。iTOE:为1则允许发送超时中断。iTRDY:为1则允许发送器准备好中断。表2状态寄存器、控制寄存器映像寄存器名76543210状态寄存器TMTTRDYTOERRDYROESND控制寄存器iTRDYiTOEiRRDYiROEiRST当卡的触点与接口设备的触点在机械上被连接时,卡电路才被激活。接口设备和卡之间应该通过以下规定的连续操作来进行接口设备激活电路。卡和接口设备之间的信息交换总是起始于卡对冷复位的应答。接口设备停活电路。正如上所述,对卡的操作是由严格的规定的,总的来说就激活,复位,信息交换,停活这四个步骤。这些步骤要与外部硬件设备紧密结合,操作流程如图6所示。根据国标,将识别卡一端定义为ICC,将识别卡控制核一端定义为IFD。识别卡的操作最主要的就是读写功能。在对卡激活后进行复位操作,紧跟着复位后将会有从ICC来的复位应答信号。在这个过程中IFD的I/0会一直处于监听状态,也就是读状态、接收模式,把从ICC传输过来的应答信号记录下来。而这个记录复位应答信号的过程与以后实际应用识别卡的信息传输是一样的,即都是以固定时间频率,以etu来进行l位数据读。识别卡的一帧是10位分别是开始位、字节位、奇偶校验位(偶校验)。如表3:9表3帧构成描述mlm2m3m4m5m6m7m8m9m10开始位字节1字节2字节3字节4字节5字节6字节7字节8校验位,第一个时间段ml应该处于状态A;这个时间段是"起始位"。m2m9八个时间段运送1个字节。最后一个时间段mlO应确保字节奇偶校验;它运送"奇偶校验位"。在每个字符中,如果在时间段mn结束时状态改变,则从字符前沿到mn后沿的延迟应该是tn=(n±0.2)在每个字符中,如果在时间段mn结束时状态改变,则从字符前沿到mn后沿的延迟应该是tn=(n±0.2)发送方的时间起点是字符的起始沿。当搜索一个字符时,接收方定期的对I/O进行取样,取样时间应少于0.2个etu。接收方的的时间起点是对Z状态的最后一个观察点和A状态的第一个观察点中间。接收方应该在0.7etu(接收方时间)之前确认ml,然后应在(1.5±0.2)etu接收到m2,在(2.5±0.2)etu受到m3,......在(8.5±0.2)etu受到m9,在(9.5±0.2)收到m10。字符奇偶校验在字符帧运送结束之前运行。两个连续的字符的起始沿之间的延迟应至少是12etu,目卩,某个字符的持续时间(10±0.2)etu加上保护时间。在保护时间,接口设备和卡都应该保持接收状态。在复位应答期间,卡发出的两个连续的字符的起始沿之间的延迟不应该超过9600etu。这个最大值被称为"初始等待时间"。读操作除了能够读取复位信号和信息数据之外还可以读取差错检验信号。当发现奇偶校验错误时,IFD将会使输出模块将I/O拉低,使ICC端知道此次发送失败,重发上一帧。要注意的是此时IFD是发送模式,ICC是接收模式。所以当接收时是输入模块与输出模块互相配合使用的。往识别卡写的功能也必须遵循从识别卡读的时序,即,每发送一位的时间是letu(接收方应该在0.7etu(接收方时间)之前确认ml,然后应在(1.5±0.2)etu接收至ljm2,在(2.5±0,2)etu受到m3,......在(8.5±0.2)etu受到m9,在(9.5±0.2)10收到m10。字符奇偶校验在字符帧运送结束之前运行)。这里IFD为发送发,ICC为接收方。除了遵循发送规则之外,还需要进行错误重发。当传送时发生了传输错误被ICC应用奇偶校验位检测到错误时,它会将I/0拉低,这时ICC为发送模式,IFD为接收模式。当IFD发现了被拉低的I/0时,它就会重新发送刚才的的那一帧。所以当发送时也是输入模块与输出模块也是互相配合使用的。当没有操作的时候,ICC和IFD都为接收状态,直到状态改变或者停活。最后应说明的是以上实施例仅说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换;而一切不脱离发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。权利要求1、一种基于现场可编程门阵列的识别卡接口控制器,该控制器的主设备与Avalon开关互联模块;其特征在于所述的Avalon开关互联模块与识别卡接口控制器通过接口A连接,所述的识别卡接口控制器通过接口B与识别卡连接,并对识别卡的状态进行操作;所述的识别卡接口控制器包括用于在出现发送、接收超时错误和发送器、接收器准备好时向总线提出中断请求的中断请求模块;根据分频寄存器中的分频值,以总线时钟作为时钟源输出对识别卡操作时的时钟发生模块,用于控制该接口控制器的操作,用于指示该接口控制器的状态的控制/状态模块;实现与卡的位同步的采样时钟模块;用于接收、发送数据帧,并进行差错校验的接收/发送模块。2、根据权利要求l所述的基于现场可编程门阵列的识别卡接口控制器,其特征在于所述的分频寄存器波特率除数用来保存分频倍数,输出适合识别卡操作的时钟信号;基本时间单元寄存器用以决定位周期,以实现与卡的位同步;发送逻辑由一个发送保持寄存器口和发送移位寄存器组成;移位寄存器和发送保持寄存器在数据发送时提供双重缓冲;接收逻辑由一个接收保持寄存器口和接收移位寄存器组成。3、根据权利要求l所述的基于现场可编程门阵列的识别卡接口控制器,其特征在于所述的对识别卡的状态进行操作包括激活、复位、读写、停活。4、一种基于现场可编程门阵列的识别卡接口控制器的实现方法,其特征在于包括以下步骤接入接口模块;接口模块激活;复位,识别卡和接口模块之间进行信息交换;应答状态判断;是,则进入信息交换步骤;否,则回到复位应答的状态;接口模块停活;结束。5、根据权利要求4所述的基于现场可编程门阵列的识别卡接口控制器的实现方法,其特征在于所述的接口模块连接识别卡。6、根据权利要求4所述的基于现场可编程门阵列的识别卡接口控制器的实现方法,其特征在于所述的应答状态的信号应用识别卡的信息传输一致,以固定时间频率etU进行一位数据读;识别卡的一帧为十位,包括开始位、字节位、奇偶校验位。全文摘要一种基于现场可编程门阵列的识别卡接口控制器与实现方法,该控制器的主设备与Avalon开关互联模块;Avalon开关互联模块与识别卡接口控制器通过接口A连接识别卡接口控制器通过接口B与识别卡连接,并对识别卡的状态进行操作;识别卡接口控制器包括中断请求模块、时钟发生模块、控制/状态模块、采样时钟模块、接收/发送模块。该实现方法包括接入接口模块;接口模块激活;识别卡和接口模块之间进行信息交换;应答状态判断。该控制器通过灵活的时钟配置将总线时钟调节为GB/T16649.3中要求的对识别卡操作所需的时钟频率,可随时对识别卡进行热复位并响应复位应答,整个接口控制器实用性强,有效支持嵌入式系统的拓展和开发。文档编号G06K19/07GK101477640SQ200910076300公开日2009年7月8日申请日期2009年1月9日优先权日2009年1月9日发明者于书举,侍伟敏,侯石柱,周雅稚,琭庄,张建标,彭建朝,杜永萍,许向众,俊谢,贾毫杰,郝文英,凯陈申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1