智能卡读取器的制作方法

文档序号:6348540阅读:220来源:国知局
专利名称:智能卡读取器的制作方法
智能卡读取器优先权声明声明享有2009年3月3日提交的发明名称为“智能卡读取器”的序列号为 12/397,0 的美国专利申请的优先权,通过引用将其全部内容合并于此。
背景技术
许多智能卡读取器接受不同类型的卡,且具有主控制器,例如PC(个人电脑),可识别卡的类型,例如通过USB集线器插入其中的USB(通用串行总线)设备。卡读取器充当 USB集线器或者‘桥接器’的作用,用于将来自卡的请求转发到主机。在某种意义上,卡将枚举到PC。


图1是根据示例实施方式的智能卡读取器的结构图;图2是说明根据示例实施方式的与插入智能卡读取器插槽里的卡进行相互作用的方法的流程图;图3是说明根据示例实施方式的用于检测第一种类型的卡的信号的时序图;图4是说明根据示例实施方式的用于检测第二种类型的卡的信号的时序图;图5是根据示例实施方式的具有智能卡读取器的示例计算机系统的结构图。
具体实施例方式在下面的说明中,对形成说明的一部分附图进行引用,并通过可以实现的图示具体实施方式
的来示出。足够详细地介绍了这些实施方式以使得本领域技术人员能够实现本发明,并且应当了解的是可以利用其他实施方式,并且在不脱离本发明范围的情况下可以进行那些结构的,逻辑的和电气的变化。实施方式的下述说明因此会被理解为受限制的方式,并且本发明的范围由附加的权利要求来定义。这里介绍的功能或算法可以在软件中实现,或者在一个实施方式中为软件和人的组合来实现的过程。软件可以包含存储在计算机可读介质(例如,存储器或其它类型存储设备)中的计算机可执行指令。更进一步的,这样的功能对应于模块,这些模块是软件、硬件、固件或其任意组合。多个功能可以根据需要在一个或多模块中执行,并且所介绍的实施方式仅仅是示例。软件可以在数字信号处理器、ASIC (特定用途集成电路),微处理器,或计算机系统上运行其它类型的处理器上执行,计算机系统例如是个人电脑、服务器或其它计算机系统。智能卡读取器识别卡的类型并在不中断主机系统的情况下初始化与卡的通信。在一个实施方式中,USB(通用串行总线)卡并不被识别为主机的外围设备USB。主机将看到具有卡的智能卡读取器。但如果卡是若干不同类型中的一种,例如UART7816或USB卡,卡的工作方式将不会改变。该卡本质上枚举智能卡读取器。智能卡读取器然后将通知主机已经检测到智能卡。
在各种实施方式中,可以将与不同卡进行交互的软件知识嵌入到智能卡读取器里。主机控制器驱动器不需要改变或修改。控制器驱动器可以仅直接与智能卡读取器进行通讯。在一个实施方式中,智能卡读取器负责处理使用UART7816或USB协议的通信,或对于不同类型的卡使用其它协议的通信。在一个实施方式中,当将不同类型的卡插入到智能卡读取器中时,应用的行为不需要改变。来自这些卡的请求可以被提供智能卡读取器。利用先前的读取器,主机应用需要与智能卡读取器进行通信(如果检测到UART8916),或者需要与USB设备进行通信(如果检测到USB智能卡)。随着要保持双命令集合,需要支持双倍多的驱动器。利用智能卡读取器能力的运行在主机上的许多应用没有智能卡协议的知识。这些应用为了通信、加密技术或数据采集而存取高级别的API (应用编程接口)。由于在各个实施方式中,智能卡知识存在于智能卡读取器中,这样的应用不需要拥有这些知识。图1是耦合到主机115的智能卡读取器110的结构图。智能卡读取器110具有物理接口 120,通过这个接口可以将多个卡连接到读取器中,例如通过插入。在一个实施方式,物理接口 120包含在插槽中的多个引脚,当将卡插入到插槽中时,它们与卡上的铺垫 (matting)引脚连接在一起。弓丨脚可以被提供用于不同的信号,例如Vcc_VBUS,&id(地), Rst (重置),Clk(时钟),10(用于UART7816智能卡的输入/输出)和CAJ)+, C8_D_。D+ 和D-引脚用于USB信号,它们是差动信号。差动信号的使用提供了更快的逻辑转换,并因此提供了比其它通讯协议更高的处理能力,例如那些被用于UART7816智能卡的协议。在一个实施方式中,该物理接口包括卡存在引脚125。在一个实施方式中,每种不同类型的卡可以用不同的电压通过物理接口 120连接到卡读取器110。例如,UART7816智能卡可以使用第一级电压(对应于不同种类的卡,为 1.8V,3或5V),而USB卡可以使用3. 3V正电压。第一逻辑接口 130耦合到物理接口 120以将智能卡110的电压转换到UART7816智能卡物理接口所需的级别。第二逻辑接口 135也耦合到物理接口 120以将智能卡110电压级别转换到USB卡所使用的级别,尤其是D+和 D-引脚。电源140耦合到第一逻辑接口 130,从而为Vcc_VBUS引脚提供合适的功率水平。 USB调节器145耦合到第二逻辑接口 135,并且为通信提供差动电压。第一控制器150耦合到电源,且被首先用来试图与插入物理接口 120的插槽里的第一类型的卡进行通信。如果没有成功,第二控制器巧5用来试图与插入到物理接口 120的插槽里的第二类型的卡进行通信。可以在其它实施方式中使用更多类型的卡,每个被顺序测试以确定相应卡的性质和与之通讯的合适方式。在一个实施方式中,主机控制器115不参与确定插入到物理接口 120 的插槽内的卡的类型,而且可以通过智能卡读取器110同等对待这些不同类型的卡。在一个实施方式中,系统处理器160,例如CPU (中央处理单元)是控制与被插入卡建立通信的微处理器或微控制器。当将卡插入到物理接口 120的插槽中时,卡存在引脚被激活,例如使它对地短路。在进一步的实施方式中,检测可选地通过短路引脚到预定电压来完成,预定电压例如Vcc。这可以通过第一控制器150来配置。这种激活通过耦合到处理器160的引线165来检测。产生中断,处理器160开始建立连接的卡的类型和怎样与这种卡通讯。一旦建立了这种通信,通过主机总线控制器和接口 170将卡的通用接口提供给主机控制器115。
在可替代的实施方式中,卡读取器包括含有卡存在连接器的物理接口。可以将逻辑接口合并成耦合到物理接口的一个逻辑接口。调节器耦合到逻辑接口,并且单控制器耦合到调节器和卡存在连接器,以确定第一类型卡是否耦合到物理接口,以及如果没有,确定第二类型卡是否耦合到物理接口。图2中的200概括地示出了一种使用智能卡读取器110的方法。在210中,当卡插入到物理接口 120的插槽里时,通过卡存在引脚125产生卡存在信号。卡存在信号是输入,例如中断,并由处理器160从智能卡插槽处接收。在215中,一旦检测到有智能卡插入, 系统开始激活顺序事件(sequence),这正如IS07816标准所描述的那样,其中第一类型的卡是UART7816智能卡。在220中,激活的顺序事件使得第一控制器150,即在一个实施方式中的 IS07816-3控制器此时电源140产生电能。在225中于是执行ISO顺序事件。如图3中的时序图300所示,Vcc,Clk,Rst线302,304和306分别由物理接口 120产生。首先提供Vcc 302,紧接着是Clk 304信号和Rst 306信号。IO在上拉(pull-up)配置中,并且等待智能卡产生的“复位应答”(ATR)310。如果智能卡是UART7816卡,那么它将在这个顺序事件后回答ATR。如果该卡是内存卡,它也可以发送指示它将用C4和C8触点通信的ATR。在这个顺序事件中,C4和C8触点接口被保持在与IO相同的水平上,这意味着具有上拉的漏状态 (drain state)。这是为了避免使USB智能卡检测到它正被插入。事实上,一旦D+/D-被下拉,USB设备就被检测为插入。如果C4( = D+)/C8( = D-)被上提,智能卡不会检测出它被插入到物理接口 120的插槽内。在230中,如果接收到ATR,IS07816-3控制器150将保持与物理接口 120的全部触点的控制和通讯。在240中,对于三种不同类别的卡,可以重复该顺序事件以与卡通讯到相应的相关电压范围。A类对应于5V供电的卡,B类对应于3V供电的卡,以及C类对应于 1.8V供电的卡。该顺序事件是相同的,但是由内部电源140产生的信号的电平遵从这三种类别的规则。在230中,如果没有接收ATR,USB智能卡可能已经被插入到物理接口 120的插槽里。因此,在对5中,尝试激活最初通过IS07816-3失效的卡。然后在250中按照处理器 160的指示,USB主机控制器155采取控制。使用USB主机逻辑接口 135来控制电源140和物理接口 120。遵循IS07816-12中描述的USB标准,在图4的时序图400中示出了激活过程。在 255中,通过在初始激活阶段401中上拉D+或D-,激活可以由智能卡110来执行,其可以在 402、404中进行全速操作,或在406、408中进行低速操作。激活阶段401提供了足够的时间给USB智能卡以进行启动,检查D+/D-线,观察它们处于低位,推断它被插到USB主机上,以及依靠上拉D+/D-(根据卡的速度能力)在附着阶段410附着USB智能卡。这里,在一个实施方式中,Vcc或者依靠物理接口(60)的Vcc引脚来产生,或者靠外界提供。D+/D-(eqC4/C8)信号由USB调节器145产生,并且高达3.3V。那么,由于卡或设备将其自身附着在系统的主机控制器115上,系统本身可以产生复位信号,通过那个 API (例如,靠请求描述符等)开始通信,并且准备实施通信。在这些顺序事件之后,即使卡是UART7816或者USB,系统能够指示主机控制器115 激活顺序事件被正确地操作,并且卡已在智能卡槽内并且已被激活。智能卡读取器可以被连接到主机计算机系统或者其他类型的设备,例如微控制器。微控制器可能具有强大的中央处理单元能力,但是可能具有相应较低的模拟功能。一些微控制器可能缺少与智能卡通信的模拟接口。智能卡读取器可以用于向这样的微控制器提供既支持智能卡又支持如USB智能卡这样的USB设备的能力。图5示出了示例计算机系统的结构图,该计算机系统执行用于实现智能卡读取器和/或主机系统的功能的程序525。当示出一般的计算设备时,部件可以表示为适于在智能卡读取器中使用的微控制器和适用于可以合并或耦合到智能卡读取器的主机系统的微控制器。这样的微控制器,在一个实施方式中,可以仅仅合并图5中被选的单元。计算机系统510可以包括处理器单元502、内存504、可移动存储器512和非移动存储器514。存储器 504可以包括易失性存储器506和非易失性存储器508。计算机510可以包括一或可访问的计算环境可包括一多种计算机可读介质,如易失性存储器506和非易失性存储器508、可移动存储器512和非移动存储器514。计算机存储器包括随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)、闪存或其他存储技术、光盘只读存储器(CD ROM)、数字化多功能磁盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁性存储设备、或者其它任何可以存储计算机可读指令的介质。计算机510可以包括或访问的计算机环境,其可以包括输入516、输出518和通信连接520。计算机可以在网络环境中操作,该环境使用通信连接来连接到一个或多个远程计算机。远程计算机可以包括个人计算机(PC)、服务器、路由器、网络PC、对等设备或其他常见网络节点或类似的。通信连接可以包括局域网(LAN)、广域网(WAN)或其他网络。存储在计算机可读介质上的计算机可读指令可以由计算机510的处理单元502执行。硬盘、⑶-ROM和RAM是包含计算机可读介质的一些物件实例。提供的摘要遵循37C.F.R. § 1.72(b)以使读者快速地确定技术方案的类型和要点,在这个条件下,提交的摘要将不会用来解释或限定权利要求的范围或意义。
权利要求
1.一种方法,包括接收设备已被插入到插槽中的指示;依照第一类型的设备给插槽提供电能;依照第一类型的设备协议,尝试与设备进行通信;如果通信尝试不成功,依照第二类型的设备给插槽提供电能;以及依照第二类型的设备协议与设备进行通信。
2.如权利要求1所述的方法,其中一旦与第一或第二类型的设备建立成功的通信,则通知主机。
3.如权利要求1至2中任意一项所述的方法,其中第一类型的设备协议使用无差动电压,并且第二类型的设备协议使用差动电压。
4.如权利要求3所述的方法,其中第一类型的设备协议使用若干电压中的一个。
5.如权利要求3所述的方法,其中第二类型的设备协议具有比第一类型的设备协议更高的数据传输速率。
6.如权利要求1至5中任意一项所述的方法,其中接收设备已被插入到插槽中的指示包括当将卡插入到插槽时,检测插槽中的存在引脚已经对地或预定电压短路。
7.如权利要求6所述方法,并且进一步包括响应于存在引脚已对地或预定电压短路, 产生中断。
8.如权利要求1至7中任意一项所述的方法,其中尝试根据第一类型的设备协议与设备进行通信包括在插槽的复位引脚上产生复位信号。
9.如权利要求8所述方法,并且进一步包括等待来自第一类型设备的“复位应答” (ATR)。
10.一种读卡器,包括具有卡存在连接器的物理接口;耦合到物理接口的逻辑接口;耦合到逻辑接口的调节器;耦合到调节器和卡存在连接器的控制器,以确定第一类型的卡是否耦合到物理接口, 并且如果没有,确定第二类型的卡是否耦合到物理接口。
11.如权利要求10所述的读卡器,其中读卡器耦合到主机,并且一旦与第一或第二类型的卡建立成功的通讯,则通知主机。
12.如权利要求10至11中任意一项所述的读卡器,其中第一类型的卡包括使用无差动电压的协议,并且第二类型的卡包括使用差动电压的协议。
13.如权利要求12所述的读卡器,其中第二类型的卡协议具有比第一类型的卡协议更高的数据传输速率。
14.如权利要求10至13中任意一项所述的读卡器,其中该控制器响应于卡存在引脚被激活而产生中断。
15.如权利要求14的读卡器,其中当卡被插入到物理接口时卡存在引脚对地短路,接收设备已被插入到插槽中的指示包括当卡被插入插槽中时检测插槽中的存在引脚已经对地短路。
16.如权利要求10至15中任意一项所述的读卡器,其中控制器在物理接口的复位引脚上产生复位信号以试图根据第一类型的卡协议与被插入的卡进行通信。
17.如权利要求16所述的读卡器,其中该控制器等待来自第一类型卡的“复位应答” (ATR)。
18.一种读卡器,包括具有卡存在连接器的物理接口; 耦合到物理接口的第一和第二逻辑接口 ; 耦合到第一逻辑接口的电源; 耦合到第二逻辑接口的调节器;耦合到电源的第一控制器和耦合到电源和调节器的第二控制器;以及耦合到第一和第二控制器及卡存在连接器的处理器,用以发动第一控制器确定第一类型的卡是否耦合到物理接口,并且如果没有,发动第二控制器确定第二类型的卡是否耦合到物理接口。
19.如权利要求18所述的读卡器,其中第一类型的卡包括使用无差动电压的协议且第二类型的卡包括使用差动电压的协议。
20.如权利要求18至19中任意一项所述的读卡器,其中处理器响应于卡存在引脚被激活而产生中断。
全文摘要
读卡器接收设备已被插入到读卡器的插槽的指示。依照第一类型的设备给插槽供电。根据第一种类型的设备协议尝试与设备进行通信。如果通信尝试没有成功,依照第二类型的设备给插槽供电,并根据第二种类型的设备协议与设备进行通信。
文档编号G06K7/00GK102395980SQ201080010465
公开日2012年3月28日 申请日期2010年3月3日 优先权日2009年3月3日
发明者A·O·埃尔哈森, F·博南, S·费弗尔 申请人:英赛瑟库尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1