【技术实现步骤摘要】
本专利技术涉及数据通讯领域,特别涉及一种实现多卡槽访问的方法和装置。
技术介绍
CCID (USB Chip/Smart Card Interface Devices-USB,芯片智能卡接口设备)标 准是由几大国际级IT企业共同制定的一个标准,它提供了一种智能卡读写设备与主机或 其他嵌入式主机之间实现相互通讯的可能。CCID标准规定了 CCID设备是一种芯片/智 能卡接口设备,设备通过USB接口与主机或其他嵌入式主机连接,进行符合CCID标准的 数据通信,同时设备通过符合7816标准协议的接口与智能卡进行通讯。微软公司在其 WIND0WS2000及以上的操作系统上提供并支持CCID驱动,使设备生产厂商可以轻松的开发 使用符合CCID接口标准的设备。同时,CCID接口标准支持PC (Personal Computer个人计 算机)/SC(Smart Card智能卡)接口调用,使广大开发者可以方便的对智能密钥设备进行 开发操作。在其他开源操作系统如LINUX的众多版本上,也有许多开源的CCID驱动可供开 发者和使用者使用。 在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下缺点 CCID协议是一个单通道协议,支持多卡槽的访问,但微软的CCID驱动在对读卡器操作时,仅可以对一个卡槽进行访问。
技术实现思路
为了实现CCID协议下的多卡槽访问,本专利技术实施例提供了 一种实现多卡座访问 的方法和装置。所述技术方案如下 —种实现多卡槽访问的方法,其特征在于,所述方法包括 多卡槽的CCID设备与主机建立连接,将至少一对用来实现应答管道和命令管道 的IN/OU ...
【技术保护点】
一种实现多卡槽访问的方法,其特征在于,所述方法包括:多卡槽的CCID设备与主机建立连接,将至少一对用来实现应答管道和命令管道的IN/OUT端点声明为BULK-IN和BULK-OUT端点,将至少一个用来实现事件通知管道的IN端点声明为中断端点,并向所述主机声明其自身是符合CCID接口标准的设备以及自身支持的卡槽数;主机对所述多卡槽的CCID设备进行访问;所述多卡槽的CCID设备接收BULK-OUT数据包,并根据所述BULK-OUT数据包判断所述主机下发的CCID命令的类型;当所述CCID命令类型是通道扩展命令时,则判断所述通道扩展命令是否是通道切换命令;如果所述通道扩展命令是通道切换命令时,则解析所述通道切换命令,并激活所述主机欲访问的相应卡槽;如果所述通道扩展命令不是通道切换命令时,则根据所述通道扩展命令的命令类型进行相应的处理;当所述CCID命令的类型不是通道扩展命令,则根据所述CCID命令类型进行相应的处理。
【技术特征摘要】
一种实现多卡槽访问的方法,其特征在于,所述方法包括多卡槽的CCID设备与主机建立连接,将至少一对用来实现应答管道和命令管道的IN/OUT端点声明为BULK-IN和BULK-OUT端点,将至少一个用来实现事件通知管道的IN端点声明为中断端点,并向所述主机声明其自身是符合CCID接口标准的设备以及自身支持的卡槽数;主机对所述多卡槽的CCID设备进行访问;所述多卡槽的CCID设备接收BULK-OUT数据包,并根据所述BULK-OUT数据包判断所述主机下发的CCID命令的类型;当所述CCID命令类型是通道扩展命令时,则判断所述通道扩展命令是否是通道切换命令;如果所述通道扩展命令是通道切换命令时,则解析所述通道切换命令,并激活所述主机欲访问的相应卡槽;如果所述通道扩展命令不是通道切换命令时,则根据所述通道扩展命令的命令类型进行相应的处理;当所述CCID命令的类型不是通道扩展命令,则根据所述CCID命令类型进行相应的处理。2. 如权利要求1所述的实现多卡槽访问的方法,其特征在于,向所述主机声明其自身支持的卡槽数,具体包括所述CCID设备向所述主机发送卡槽描述符,所述卡槽描述符中使用一个字节表示 CCID设备自身支持的卡槽数。3. 如权利要求1所述的实现多卡槽访问的方法,其特征在于,根据所述BULK-OUT数据 包判断所述主机下发的CCID命令的类型,具体包括所述CCID设备解析符合CCID标准的命令流,拆分所述命令流的包头中的第一个字节, 得到该命令流的命令类型;其中,当所述第一个字节为6B时,表示通道扩展命令。4. 如权利要求1所述的实现多卡槽访问的方法,其特征在于,判断所述通道扩展命令 是否是通道切换命令,具体包括所述CCID设备解析所述通道扩展命令,根据所述通道扩展命令中的标识符字段得到 该命令的的命令类型;其中,所述标识符是自定义标识符。5. 如权利要求1所述的实现多卡槽访问的方法,其特征在于,解析所述通道切换命令, 并激活所述主机欲访问的相应卡槽,具体包括所述CCID设备中的固件程序拆分所述通道切换命令的包头;通过计算所述通道切换命令包头中的数据长度标志,获知数据包的长度及所述数据包 在所述CCID设备收发缓冲中的位置,得到所述通道切换命令数据包中的标识符,所述标识 符用于标识所述通道切换命令的具体用途;如果所述标识符表示该通道切换命令是用于卡槽切换的,则查看所述通道切换命令的 第13个字节,得到本条通道切换命令所要访问的卡槽序号;通过所述CCID设备的电路控制程序单元将所述卡槽序号所对应的卡槽激活。6. 如权利要求1所述的实现多卡槽访问的方法,其特征在于,所述方法还包括判断被 激活卡槽中是否有智能卡插拔事件信息;如果有,则向所述主机返回符合CCID标准的智能卡插拔事件信息;如果没有,则继续执行所述多卡槽的CCID设备接收BULK-OUT数据包的步骤。7. 如权利要求6所述的实现多卡槽访问的方法,其特征在于,所述判断是否有智能卡插拔事件信息,具体包括判断所述CCID设备的收发缓冲中是否有所述智能卡插拔事件信息,所述智能卡插拔 事件信息由所述CCID设备在接收到有智能卡插入或拔出的中断信号时写入到所述收发缓 冲中。8. —种多卡槽的CCID设备,其特征在于,所述设备包括接口模块、主控模块、判断模 块和卡槽切换电路模块;所述接口模块,分别与主机和所述主控模块相连接,用于实现所述主机与所述主控模 块之间的信息交互;所述主控模块,分别与所述接口模块和所述判断模块相连接,用于控制所述接口模块...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:北京飞天诚信科技有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。