一种模拟读卡器的工作方法和模拟通信系统技术方案

技术编号:9276259 阅读:157 留言:0更新日期:2013-10-24 23:26
本发明专利技术公开一种模拟读卡器的工作方法和模拟通信系统,该方法应用于包括模拟读卡器、芯片操作系统、指令收发器和智能卡寄存器的系统中,模拟读卡器检测自身与所述指令收发器之间的通讯状态以及智能卡寄存器的状态,根据通讯状态和智能卡寄存器的状态,对智能卡寄存器进行读写操作,并对智能卡寄存器的状态进行更新。芯片操作系统对智能卡寄存器的状态进行检测,根据检测结果对智能卡寄存器进行读写操作,并对智能卡寄存器的状态进行更新。本发明专利技术通过模拟读卡器建立芯片操作系统与指令收发器之间的模拟通信,能够在不使用硬件仿真器件的情况下,达到向芯片操作系统输入终端数据的目的,扩展了仿真功能的范围,节省了硬件资源,且降低了仿真功耗。

【技术实现步骤摘要】
一种模拟读卡器的工作方法和模拟通信系统
本专利技术涉及通信
,特别涉及一种模拟读卡器的工作方法和模拟通信系统。
技术介绍
目前,COS(ChipOperatingSystem,芯片操作系统)开发过程中的硬件和软件调试是分别进行的,大多数情况下,软件调试依赖硬件平台,需要使用仿真软件在硬件平台上配合ICE(InCircuitEmulator,在线仿真器)进行。然而,现有技术中的仿真功能仅仅局限于对COS内部的寄存器的仿真,局限性较大,且会带来较大的损耗。
技术实现思路
本专利技术提供了一种模拟读卡器的工作方法和模拟通信系统,以解决现有技术中仿真局限性较大的缺陷。本专利技术提供了一种模拟读卡器的工作方法,应用于包括模拟读卡器、芯片操作系统、指令收发器和智能卡寄存器的系统中,所述方法包括以下步骤:A1、所述模拟读卡器检测自身与所述指令收发器之间的通讯状态,如果通讯状态为可读状态,则执行步骤A2;如果通讯状态为可写状态,则执行步骤A4;如果通讯状态为无效状态,则执行步骤A6;A2、所述模拟读卡器判断所述智能卡寄存器的状态是否为空闲状态,如果是,则执行步骤A3;否则,返回步骤A1;A3、所述模拟读卡器从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并返回步骤A1;A4、所述模拟读卡器判断所述智能卡寄存器的状态是否为写状态,如果是,则执行步骤A5;否则,返回步骤A1;A5、所述模拟读卡器从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,将所述智能卡寄存器的状态设置为空闲状态,并返回步骤A1;A6、所述模拟读卡器执行复位操作;所述模拟读卡器将所述智能卡寄存器的状态设置为读状态之后,还包括:所述芯片操作系统检测到所述智能卡寄存器的状态为读状态后,从所述智能卡寄存器中读取APDU数据,将读取到的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态;所述模拟读卡器从所述智能卡寄存器中读取响应数据之前,还包括:所述芯片操作系统对所述APDU缓冲区中的APDU数据进行处理,得到所述响应数据,并在检测到所述智能卡寄存器的状态为空闲状态后,向所述智能卡寄存器写入所述响应数据,将所述智能卡寄存器的状态设置为写状态。本专利技术还提供了一种模拟通信系统,包括模拟读卡器、芯片操作系统、指令收发器和智能卡寄存器,其中,所述模拟读卡器包括:第一检测模块,用于检测所述模拟读卡器与所述指令收发器之间的通讯状态;第一判断模块,用于在所述第一检测模块检测到所述通讯状态为可读状态时,判断所述智能卡寄存器的状态是否为空闲状态,在判断出所述智能卡寄存器的状态不是空闲状态时,触发所述第一检测模块继续检测所述通讯状态;第一处理模块,用于在所述第一判断模块判断出所述智能卡寄存器的状态为空闲状态时,从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并触发所述第一检测模块继续检测所述通讯状态;第二判断模块,用于在所述第一检测模块检测到所述通讯状态为可写状态时,判断所述智能卡寄存器的状态是否为写状态,并在判断出所述智能卡寄存器的状态不是写状态时,触发所述第一检测模块继续检测所述通讯状态;第二处理模块,用于在所述第二判断模块判断出所述智能卡寄存器的状态为写状态时,从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,将所述智能卡寄存器的状态设置为空闲状态,并触发所述第一检测模块继续检测所述通讯状态;第一复位模块,用于在所述第一检测模块检测到所述通讯状态为无效状态时,执行复位操作;所述芯片操作系统,包括:第二检测模块,用于检测所述智能卡寄存器的状态;第三处理模块,用于在所述第二检测模块检测到所述智能卡寄存器的状态为读状态时,从所述智能卡寄存器中读取APDU数据,将读取到的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态,并触发所述第二检测模块继续检测所述智能卡寄存器的状态;第四处理模块,用于对所述APDU缓冲区中的APDU数据进行处理,得到所述响应数据;第五处理模块,用于在所述第二检测模块检测到所述智能卡寄存器的状态为空闲状态时,向所述智能卡寄存器写入所述响应数据,将所述智能卡寄存器的状态设置为写状态,并触发所述第二检测模块继续检测所述智能卡寄存器的状态。本专利技术提供的技术方案中,通过软件开发系统中加载的模拟读卡器建立芯片操作系统与指令收发器之间的模拟通信,能够在不使用硬件仿真器件的情况下,达到向芯片操作系统输入终端数据的目的,扩展了仿真功能的范围,节省了硬件资源,且降低了仿真功耗。附图说明图1为本专利技术实施例中的一种模拟通信系统的结构示意图;图2为本专利技术实施例中的一种模拟读卡器的工作方法的流程图;图3为本专利技术实施例中的模拟读卡器初始化的流程图;图4为本专利技术实施例中的模拟读卡器与指令收发器建立连接和断开连接的流程图;图5为本专利技术实施例中的模拟读卡器对智能卡寄存器进行读写操作的流程图;图6为本专利技术实施例中的芯片操作系统对智能卡寄存器进行读写操作的流程图;图7为本专利技术实施例中的模拟读卡器基于T=0协议对智能卡寄存器进行读写操作的流程图;图8为本专利技术实施例中的芯片操作系统基于T=0协议对智能卡寄存器进行读写操作的流程图;图9为本专利技术实施例中的模拟读卡器基于T=1协议或T=CL协议,对智能卡寄存器进行读写操作的流程图;图10为本专利技术实施例中基于T=1协议的传输分组的结构示意图;图11为本专利技术实施例中基于T=CL协议的传输分组的结构示意图;图12为本专利技术实施例中的芯片操作系统基于T=1协议或T=CL协议,对智能卡寄存器进行读写操作的流程图;图13为本专利技术实施例中的一种模拟读卡器的结构示意图;图14为本专利技术实施例中的一种芯片操作系统的结构示意图;图15为本专利技术实施例中的另一种模拟读卡器的结构示意图;图16为本专利技术实施例中的另一种芯片操作系统的结构示意图;图17为本专利技术实施例中的又一种模拟读卡器的结构示意图;图18为本专利技术实施例中的又一种芯片操作系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种模拟读卡器的工作方法,应用于包括芯片操作系统、智能卡寄存器、模拟读卡器和指令收发器的系统中,如图1所示。模拟读卡器为芯片操作系统的软件开发系统启动时所加载的插件,可根据接收到的指令,与指令收发器建立连接或断开连接,并在与指令收发器建立连接后,与指令收发器进行APDU的传输。模拟读卡器和指令收发器之间的通讯机制可以是socket通讯机制,也可以是共享内存机制,还可以是其他类型的通讯机制。其中,在socket通讯机制中,模拟读卡器作为服务器端,指令收发器作为客户端。此外,模拟读卡器和芯片操作系统可以使用T=0协议、T=1协议、T=CL协议或中断等方式对智能卡寄存器进行读写操作。本专利技术实施例中,软件开发系统加载模拟读卡器后,模拟本文档来自技高网...
一种模拟读卡器的工作方法和模拟通信系统

【技术保护点】
一种模拟读卡器的工作方法,其特征在于,应用于包括模拟读卡器、芯片操作系统、指令收发器和智能卡寄存器的系统中,所述方法包括以下步骤:A1、所述模拟读卡器检测自身与所述指令收发器之间的通讯状态,如果通讯状态为可读状态,则执行步骤A2;如果通讯状态为可写状态,则执行步骤A4;如果通讯状态为无效状态,则执行步骤A6;A2、所述模拟读卡器判断所述智能卡寄存器的状态是否为空闲状态,如果是,则执行步骤A3;否则,返回步骤A1;A3、所述模拟读卡器从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并返回步骤A1;A4、所述模拟读卡器判断所述智能卡寄存器的状态是否为写状态,如果是,则执行步骤A5;否则,返回步骤A1;A5、所述模拟读卡器从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,将所述智能卡寄存器的状态设置为空闲状态,并返回步骤A1;A6、所述模拟读卡器执行复位操作;所述模拟读卡器将所述智能卡寄存器的状态设置为读状态之后,还包括:所述芯片操作系统检测到所述智能卡寄存器的状态为读状态后,从所述智能卡寄存器中读取APDU数据,将读取到的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态;所述模拟读卡器从所述智能卡寄存器中读取响应数据之前,还包括:所述芯片操作系统对所述APDU缓冲区中的APDU数据进行处理,得到所述响应数据,并在检测到所述智能卡寄存器的状态为空闲状态后,向所述智能卡寄存器写入所述响应数据,将所述智能卡寄存器的状态设置为写状态。...

【技术特征摘要】
1.一种模拟读卡器的工作方法,其特征在于,应用于包括模拟读卡器、芯片操作系统、指令收发器和智能卡寄存器的系统中,所述模拟读卡器为所述芯片操作系统的软件开发系统启动时所加载的插件,所述方法包括以下步骤:A1、所述模拟读卡器检测自身与所述指令收发器之间的通讯状态,如果通讯状态为可读状态,则执行步骤A2;如果通讯状态为可写状态,则执行步骤A4;如果通讯状态为无效状态,则执行步骤A6;A2、所述模拟读卡器判断所述智能卡寄存器的状态是否为空闲状态,如果是,则执行步骤A3;否则,返回步骤A1;A3、所述模拟读卡器从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并返回步骤A1;A4、所述模拟读卡器判断所述智能卡寄存器的状态是否为写状态,如果是,则执行步骤A5;否则,返回步骤A1;A5、所述模拟读卡器从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,将所述智能卡寄存器的状态设置为空闲状态,并返回步骤A1;A6、所述模拟读卡器执行复位操作;所述模拟读卡器将所述智能卡寄存器的状态设置为读状态之后,还包括:所述芯片操作系统检测到所述智能卡寄存器的状态为读状态后,从所述智能卡寄存器中读取APDU数据,将读取到的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态;所述模拟读卡器从所述智能卡寄存器中读取响应数据之前,还包括:所述芯片操作系统对所述APDU缓冲区中的APDU数据进行处理,得到所述响应数据,并在检测到所述智能卡寄存器的状态为空闲状态后,向所述智能卡寄存器写入所述响应数据,将所述智能卡寄存器的状态设置为写状态;所述模拟读卡器检测自身与所述指令收发器之间的通讯状态,具体为:所述模拟读卡器对自身与所述指令收发器之间的连接状态进行检测,并判断所述通讯缓冲区中是否有数据,如果所述通讯缓冲区中有数据,则确定所述通讯状态为可读状态;如果所述通讯缓冲区中没有数据且所述模拟读卡器与所述指令收发器保持连接状态,则确定所述通讯状态为可写状态;如果所述模拟读卡器与所述指令收发器之间已断开连接,则确定所述通讯状态为无效状态。2.如权利要求1所述的方法,其特征在于,所述模拟读卡器将所述智能卡寄存器的状态设置为读状态,具体为:所述模拟读卡器将读写标记寄存器中的数据修改为第一预设值;所述芯片操作系统检测到所述智能卡寄存器的状态为读状态,具体为:所述芯片操作系统检测到所述读写标记寄存器中的数据为所述第一预设值;所述芯片操作系统将所述智能卡寄存器的状态设置为写状态,具体为:所述芯片操作系统将所述读写标记寄存器中的数据修改为第二预设值;所述模拟读卡器判断所述智能卡寄存器的状态是否为写状态,具体为:所述模拟读卡器判断所述读写标记寄存器中的数据是否为所述第二预设值;所述将所述智能卡寄存器的状态设置为空闲状态,具体为:将所述读写标记寄存器中的数据修改为第三预设值;所述芯片操作系统检测到所述智能卡寄存器的状态为空闲状态,具体为:所述芯片操作系统检测到所述读写标记寄存器中的数据为所述第三预设值。3.如权利要求1所述的方法,其特征在于,还包括:B1、所述模拟读卡器等待接收来自所述指令收发器的指令;B2、所述模拟读卡器对接收到的指令进行判断,如果是连接指令,则执行步骤B3;如果是断开指令,则执行步骤B6;B3、所述模拟读卡器判断自身是否已与所述指令收发器建立连接,如果是,则执行步骤B4;否则执行步骤B5;B4、所述模拟读卡器拒绝所述连接指令,并返回步骤B1;B5、所述模拟读卡器与所述指令收发器建立连接,并返回步骤B1;B6、所述模拟读卡器断开与所述指令收发器之间的连接,并返回步骤B1。4.如权利要求1所述的方法,其特征在于,所述模拟读卡器从通讯缓冲区读取APDU数据之前,还包括:所述模拟读卡器对协议标志位进行判断;所述模拟读卡器从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,具体为:当所述协议标志位的取值为第四预设值时,所述模拟读卡器从所述通讯缓冲区读取一个字节的APDU数据,将读取到的所述一个字节的APDU数据存储到所述智能卡寄存器中;所述芯片操作系统从所述智能卡寄存器中读取APDU数据,将读取到的APDU数据存储到APDU缓冲区中,具体为:所述芯片操作系统从所述智能卡寄存器中读取一个字节的APDU数据,将读取到的所述一个字节的APDU数据存储到所述APDU缓冲区中;所述芯片操作系统向所述智能卡寄存器写入所述响应数据,具体为:所述芯片操作系统向所述智能卡寄存器写入一个字节的响应数据;所述模拟读卡器从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,具体为:所述模拟读卡器从所述智能卡寄存器中读取一个字节的响应数据,将读取到的所述一个字节的响应数据发送给所述指令收发器。5.如权利要求4所述的方法,其特征在于,所述模拟读卡器将读取到的所述一个字节的APDU数据存储到所述智能卡寄存器中之后,还包括:所述模拟读卡器对校验标识进行置位;所述芯片操作系统从所述智能卡寄存器中读取一个字节的APDU数据之后,还包括:所述芯片操作系统判断所述校验标识是否被置位,如果是,则将所述校验标识复位;否则,进入校验异常处理;所述芯片操作系统将读取到的所述一个字节的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态,具体为:当所述芯片操作系统判断出所述校验标识被置位时,所述芯片操作系统将读取到的所述一个字节的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态。6.如权利要求1所述的方法,其特征在于,所述模拟读卡器从通讯缓冲区读取APDU数据之前,还包括:所述模拟读卡器对协议标志位进行判断;所述模拟读卡器从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,具体为:当所述协议标志位的取值为第五预设值时,所述模拟读卡器从所述通讯缓冲区读取多个字节的APDU数据,根据读取到的所述多个字节的APDU数据生成一个传输分组,将所述传输分组存储到所述智能卡寄存器中;所述芯片操作系统从所述智能卡寄存器中读取APDU数据,具体为:所述芯片操作系统从所述智能卡寄存器中读取一个传输分组;所述芯片操作系统向所述智能卡寄存器写入所述响应数据,具体为:所述芯片操作系统从所述APDU缓冲区中读取多个字节的响应数据,根据读取到的所述多个字节的响应数据生成一个传输分组,将生成的传输分组存储到所述智能卡寄存器中;所述模拟读卡器从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,具体为:所述模拟读卡器从所述智能卡寄存器中读取一个传输分组,对读取到的传输分组进行解析,将解析得到响应数据发送给所述指令收发器。7.如权利要求6所述的方法,其特征在于,所述模拟读卡器根据读取到的所述多个字节的APDU数据生成一个传输分组,具体为:所述模拟读卡器生成组头字段和组尾字段,将所述多个字节的APDU数据作为信息字段,将所述组头字段、所述信息字段和所述组尾字段组装成所述传输分组;所述芯片操作系统根据读取到的所述多个字节的响应数据生成一个传输分组,具体为:所述芯片操作系统生成组头字段和组尾字段,将所述读取到的响应数据作为信息字段,将所述组头字段、所述信息字段和所述组尾字段组装成传输分组。8.如权利要求6所述的方法,其特征在于,所述模拟读卡器根据读取到的所述多个字节的APDU数据生成一个传输分组之后,还包括:所述模拟读卡器将生成的传输分组存储到第一发送缓冲区;所述芯片操作系统从所述智能卡寄存器中读取一个传输分组之后,还包括:所述芯片操作系统对读取到的传输分组进行校验,如果校验通过,则对所述读取到的传输分组进行解析,将解析得到的APDU数据存储到所述APDU缓冲区,生成第一成功响应,将所述第一成功响应存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为写状态;如果校验未通过,则生成第一重传命令,将所述第一重传命令写入到所述智能卡寄存器中,将所述智能卡寄存器设置为写状态;所述模拟读卡器将所述智能卡寄存器的状态设置为读状态之后,还包括:B1、所述模拟读卡器判断所述智能卡寄存器的状态是否为写状态,如果是,则执行步骤B2;否则,返回步骤B1;B2、所述模拟读卡器从所述智能卡寄存器中读取数据,对读取的数据进行判断,如果所述读取到的数据为所述第一成功响应,则执行步骤B3;如果所述读取到的数据为所述第一重传命令,则执行步骤B4;B3、所述模拟读卡器将所述智能卡寄存器的状态设置为空闲状态;B4、所述模拟读卡器从所述第一发送缓冲区中读取一个传输分组,将读取到的传输分组存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并返回步骤B1。9.如权利要求6所述的方法,其特征在于,所述模拟读卡器从所述通讯缓冲区读取多个字节的APDU数据之后,还包括:所述模拟读卡器将读取到的所述多个字节的APDU数据存储到第一发送缓冲区;所述芯片操作系统从所述智能卡寄存器中读取一个传输分组之后,还包括:所述芯片操作系统对读取到的传输分组进行校验,如果校验通过,则对所述读取到的传输分组进行解析,将解析得到的APDU数据存储到所述APDU缓冲区,生成第一成功响应,将所述第一成功响应存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为写状态;如果校验未通过,则生成第一重传命令,将所述第一重传命令写入到所述智能卡寄存器中,将所述智能卡寄存器设置为写状态;所述模拟读卡器将所述智能卡寄存器的状态设置为读状态之后,还包括:C1、所述模拟读卡器判断所述智能卡寄存器的状态是否为写状态,如果是,则执行步骤C2;否则,返回步骤C1;C2、所述模拟读卡器从所述智能卡寄存器中读取数据,对读取的数据进行判断,如果所述读取到的数据为所述第一成功响应,则执行步骤C3;如果所述读取到的数据为所述第一重传命令,则执行步骤C4;C3、所述模拟读卡器将所述智能卡寄存器的状态设置为空闲状态;C4、所述模拟读卡器从所述第一发送缓冲区中读取所述多个字节的APDU数据,根据读取到的所述多个字节的APDU数据生成一个传输分组,将生成的传输分组存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并返回步骤C1。10.如权利要求8或9所述的方法,其特征在于,所述芯片操作系统对读取到的传输分组进行校验,具体为:所述芯片操作系统对所述传输分组进行解析,得到所述传输分组中的组尾字段所包含的差错检测码,根据所述传输分组中除所述差错检测码之外的其余数据计算检测码,判断计算得到的检测码是否与所述差错检测码相同,如果相同,则确定校验通过;否则,确定校验未通过。11.如权利要求6所述的方法,其特征在于,所述芯片操作系统根据读取到的所述多个字节的响应数据生成一个传输分组之后,还包括:所述芯片操作系统将所述传输分组存储到第二发送缓冲区;所述模拟读卡器从所述智能卡寄存器中读取一个传输分组之后还包括:所述模拟读卡器对所述传输分组进行校验,如果校验通过,则对所述传输分组进行解析,将解析得到的响应数据发送给所述指令收发器,生成第二成功响应,将所述第二成功响应存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态;如果校验未通过,则生成第二重传命令,将所述第二重传命令写入到所述智能卡寄存器中,将所述智能卡寄存器设置为读状态;所述芯片操作系统将所述传输分组存储到所述智能卡寄存器中之后,还包括:所述芯片操作系统在检测到所述智能卡寄存器的状态为读状态后,从所述智能卡寄存器中读取数据,并对读取到的数据进行判断,如果所述读取到的数据为所述第二成功响应,则继续对所述智能卡寄存器的状态进行检测;如果所述读取到的数据为所述第二重传命令,则从所述第二发送缓冲区中读取一个传输分组,将读取到的传输分组存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为写状态,并继续对所述智能卡寄存器的状态进行检测。12.如权利要求6所述的方法,其特征在于,所述芯片操作系统从所述APDU缓冲区中读取多个字节的响应数据之后,还包括:所述芯片操作系统将读取到的所述多个字节的响应数据存储到第二发送缓冲区;所述模拟读卡器从所述智能卡寄存器中读取一个传输分组之后还包括:所述模拟读卡器对所述传输分组进行校验,如果校验通过,则对所述传输分组进行解析,将解析得到的响应数据发送给所述指令收发器,生成第二成功响应,将所述第二成功响应存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态;如果校验未通过,则生成第二重传命令,将所述第二重传命令写入到所述智能卡寄存器中,将所述智能卡寄存器设置为读状态;所述芯片操作系统将所述传输分组存储到所述智能卡寄存器中之后,还包括:所述芯片操作系统在检测到所述智能卡寄存器的状态为读状态后,从所述智能卡寄存器中读取数据,并对读取到的数据进行判断,如果所述读取到的数据为所述第二成功响应,则继续对所述智能卡寄存器的状态进行检测;如果所述读取到的数据为所述第二重传命令,则从所述第二发送缓冲区中读取所述多个字节的响应数据,根据读取到的所述多个字节的响应数据生成一个传输分组,将生成的传输分组存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为写状态,并继续对所述智能卡寄存器的状态进行检测。13.如权利要求11或12所述的方法,其特征在于,所述模拟读卡器对所述传输分组进行校验,具体为:所述模拟读卡器对所述传输分组进行解析,得到所述传输分组中的组尾字段所包含的差错检测码,根据所述传输分组中除所述差错检测码之外的其余数据计算检测码,判断计算得到的检测码是否与所述差错检测码相同,如果相同,则确定校验通过;否则,确定校验未通过。14.如权利要求11所述的方法,其特征在于,所述芯片操作系统判断所述读取到的数据为所述第二成功响应之后,还包括:所述芯片操作系统判断所述APDU缓冲区中是否存储有响应数据,如果是,则从所述APDU缓冲区中读取多个字节的响应数据,根据读取到所述多个字节的响应数据生成一个传输分组,将所述传输分组存储到所述智能卡寄存器中;否则,继续对所述智能卡寄存器的状态进行检测。15.如权利要求4或6所述的方法,其特征在于,所述模拟读卡器对协议标志位进行判断之前,还包括:所述模拟读卡器根据自身与所述指令收发器连接的端口类型,设置所述协议标志位。16.如权利要求4或6所述的方法,其特征在于,所述协议标志位为所述模拟读卡器从所述指令收发器接收的数据。17.如权利要求1所述的方法,其特征在于,所述芯片操作系统向所述智能卡寄存器写入所述响应数据,具体为:当所述芯片操作系统判断所述APDU缓冲区中存储有响应数据时,所述芯片操作系统向所述智能卡寄存器写入所述响应数据;所述芯片操作系统向所述智能卡寄存器写入所述响应数据之前,还包括:所述芯片操作系统判断所述APDU缓冲区中是否存储有响应数据;所述芯片操作系统判断APDU缓冲区中没有存储响应数据之后,还包括:所述芯片操作系统继续对所述智能卡寄存器的状态进行检测。18.如权利要求1所述的方法,其特征在于,所述芯片操作系统将读取到的APDU数据存储到APDU缓冲区中之后,还包括:所述芯片操作系统判断是否需要继续接收数据,如果是,则继续对所述智能卡寄存器的状态进行检测;否则,将所述APDU缓冲区中的数据作为APDU命令进行处理,将处理得到的响应数据存储到所述APDU缓冲区。19.如权利要求18所述的方法,其特征在于,所述芯片操作系统判断是否需要继续接收数据,具体为:所述芯片操作系统判断所述APDU缓冲区中的数据是否为完整的APDU命令,如果是,则确定不需要继续接收数据,否则确定需要继续接收数据。20.一种模拟通信系统,其特征在于,包括模拟读卡器、芯片操作系统、指令收发器和智能卡寄存器,所述模拟读卡器为所述芯片操作系统的软件开发系统启动时所加载的插件,其中,所述模拟读卡器包括:第一检测模块,用于检测所述模拟读卡器与所述指令收发器之间的通讯状态;第一判断模块,用于在所述第一检测模块检测到所述通讯状态为可读状态时,判断所述智能卡寄存器的状态是否为空闲状态,在判断出所述智能卡寄存器的状态不是空闲状态时,触发所述第一检测模块继续检测所述通讯状态;第一处理模块,用于在所述第一判断模块判断出所述智能卡寄存器的状态为空闲状态时,从通讯缓冲区读取APDU数据,将读取到的APDU数据存储到所述智能卡寄存器中,将所述智能卡寄存器的状态设置为读状态,并触发所述第一检测模块继续检测所述通讯状态;第二判断模块,用于在所述第一检测模块检测到所述通讯状态为可写状态时,判断所述智能卡寄存器的状态是否为写状态,并在判断出所述智能卡寄存器的状态不是写状态时,触发所述第一检测模块继续检测所述通讯状态;第二处理模块,用于在所述第二判断模块判断出所述智能卡寄存器的状态为写状态时,从所述智能卡寄存器中读取响应数据,将读取到的响应数据发送给所述指令收发器,将所述智能卡寄存器的状态设置为空闲状态,并触发所述第一检测模块继续检测所述通讯状态;第一复位模块,用于在所述第一检测模块检测到所述通讯状态为无效状态时,执行复位操作;所述芯片操作系统,包括:第二检测模块,用于检测所述智能卡寄存器的状态;第三处理模块,用于在所述第二检测模块检测到所述智能卡寄存器的状态为读状态时,从所述智能卡寄存器中读取APDU数据,将读取到的APDU数据存储到APDU缓冲区中,将所述智能卡寄存器的状态设置为空闲状态,并触发所述第二检测模块继续检测所述智能卡寄存器的状态;第四处理模块,用于对所述APDU缓...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1