一种访问智能卡的方法和读卡器技术

技术编号:12060651 阅读:96 留言:0更新日期:2015-09-17 11:05
本发明专利技术公开一种访问智能卡的方法和读卡器,该方法包括:读卡器接收指令数据作为当前指令数据;若当前指令数据的长度超过预先协商的通信长度,则根据预先协商的通信长度,从当前指令数据中获取指令数据,设置协议控制字节,向智能卡发送组合得到的指令数据块,接收智能卡返回的应答数据块;更新当前指令数据;若当前指令数据的长度未超过预先协商的通信长度,设置协议控制字节,向智能卡发送组合得到的指令数据块,接收智能卡返回的应答数据块;从应答数据块中获取应答数据;若应答数据块不带链接则向上位机返回应答数据;若应答数据块带链接则设置协议控制字节,根据协议控制字节得到指令数据块,向智能卡发送指令数据块,接收返回的应答数据块。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种访问智能卡的方法和读卡器
技术介绍
日常生活中,RFID(Rad1 Frequency Identificat1n,射频识别)技术越来越的得到广泛的应用。这种通过无线电传输的非接触方式在形式上很方便,但RFID技术中,读卡器和智能卡的交互流程比较复杂,在嵌入式编程实现时会导致代码体积比较庞大,流程耗时较长,造成处理困难;且容错机制过于简单,对差错处理不够理想。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种访问智能卡的方法和读卡器,流程简洁,节省处理时间,增加差错控制机制,使得当受到外界干扰后,能够进行容错。本专利技术提供的一种访问智能卡的方法和读卡器,包括:步骤S1:读卡器接收上位机发送的指令数据,将接收到的所述指令数据作为当前指令数据,初始化当前块号;步骤S2:所述读卡器判断当前指令数据的长度是否超过预先协商的通信长度,是则执行步骤S3,否则执行步骤S5 ;步骤S3:所述读卡器根据所述预先协商的通信长度,从当前指令数据中获取指令数据,将协议控制字节设置为带链接的信息块,并根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节和获取到的指令数据得到指令数据块,向智能卡发送所述指令数据块,接收所述智能卡返回的应答数据块;步骤S4:所述读卡器切换当前块号,根据预先协商的通信长度更新当前指令数据,返回步骤S2 ;步骤S5:所述读卡器将协议控制字节设置为不带链接的信息块,并根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节与当前指令数据得到指令数据块,向智能卡发送所述指令数据块,接收所述智能卡返回的应答数据块;步骤S6:所述读卡器切换当前块号,从所述应答数据块中获取应答数据,顺序存储获取到的应答数据;步骤S7:所述读卡器判断所述应答数据块是否带链接,是则执行步骤S8,否则向所述上位机返回正确信息和存储的应答数据,结束;步骤S8:所述读卡器将协议控制字节设置为接收准备块,根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节得到指令数据块,向所述智能卡发送所述指令数据块,接收所述智能卡返回的应答数据块,返回步骤S6。本专利技术提供一种访问智能卡的读卡器,所述读卡器包括:接收发送模块、初始化模块、第一判断模块、第一组合模块、更新模块、第二组合模块、获取模块、第二判断模块和第三组合模块;所述接收发送模块,用于接收上位机发送的指令数据,将接收到的指令数据作为当前指令数据;向智能卡发送所述第一组合模块、所述第二组合模块、所述第三组合模块组合得到的指令数据块,接收所述智能卡返回的应答数据块;当所述第二判断模块判断所述应答数据块不带链接时,向所述上位机返回正确信息和存储的应答数据;所述初始化模块,用于初始化当前块号;所述第一判断模块,用于判断当前指令数据的长度是否超过预先协商的通信长度;所述第一组合模块,用于当所述第一判断模块判断当前指令数据的长度超过预先协商的通信长度时,根据所述预先协商的通信长度,从当前指令数据中获取指令数据,将协议控制字节设置为带链接的信息块,并根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节和获取到的指令数据得到指令数据块;所述更新模块,用于在所述接收发送模块在接收所述智能卡返回的应答数据块之后,切换当前块号,根据预先协商的通信长度更新当前指令数据,触发所述第一判断模块;所述第二组合模块,用于当所述第一判断模块判断当前指令数据的长度未超过预先协商的通信长度时,将协议控制字节设置为不带链接的信息块,并根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节与当前指令数据得到指令数据块;所述获取模块,用于在所述接收发送模块接收到所述智能卡返回的应答数据块之后,切换当前块号,从所述应答数据块中获取应答数据,顺序存储获取到的应答数据;所述第二判断模块,用于判断所述获取模块获取到的所述应答数据块是否带链接;所述第三组合模块,用于当所述第二判断模块判断所述应答数据块带链接时,将所述协议控制字节设置为接收准备块,根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节得到指令数据块。本专利技术与现有技术相比,具有以下优点:本专利技术提供的一种访问智能卡的方法和读卡器,流程简洁,节省处理时间,增加差错控制机制,使得当受到外界干扰后,能够进行容错。【附图说明】图1是本专利技术实施例1提供的一种访问智能卡的方法的流程图;图2是本专利技术实施例1中步骤103的具体实现流程图;图3是本专利技术实施例1中步骤113的具体实现流程图;图4是本专利技术实施例2提供的一种访问智能卡的读卡器的模块图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本实施例中,读卡器与智能卡之间以数据块的形式进行通信;数据块分为3种类型,分别为用于传输APDU的I块(Informat1n-block,信息块)、用于传输确认信息的R块(Receive ready-block,接收准备块)和用于传输控制信息的S块(Supervisory-block,管理块);一个数据块包括开端域、信息域和终止域,其中开端域和终止域是必需的,信息域是可选的;开端域中包括PCB (Protocol Control Byte,协议控制字节),用于区分不同类型的数据块,例如,若PCB的第8位和第7位为00则表示该数据块为I块,若PCB的第8位和第7位为10则表示该数据块为R块,若PCB的第8位和第7位为11则表示该数据块为S块;除此之外,PCB还可以标示数据块是否带链接以及数据块的块号,例如,PCB的第5位表示该数据块是否带链接,PCB的第I位表示该数据块的块号;终止域中为开端域和信息域中的数据的校验码;本实施例中,R块没有信息域;读卡器接收来自上位机的指令数据,根据指令数据组成指令数据块,读卡器向智能卡发送指令数据块,接收智能卡返回的应答数据块,对应答数据块进行检查,检查成功后得到应答数据块中的应答数据。实施例1本专利技术的实施例1提供了一种访问智能卡的方法,如图1所示,包括:步骤101:读卡器接收上位机发送的指令数据,将接收到的指令数据作为当前指令数据,初始化重发次数和当前块号;例如,本实施例中,重发次数初始值为0,当前块号的初始值为O;除此之外,当前块号也可以为标志位,初始状态为复位;指令数据为0x00 01 02 03 04 05 06 07 08 09OA OB OC OD OE OF ;步骤102:读卡器判断当前指令数据的长度是否超过预先协商的通信长度,是则执行步骤103,否则执行步骤105 ;具体地,本实施例中,读卡器与智能卡预先协商通信长度,当读卡器中的当前指令数据的长度大于预先协商的通信长度时,读卡器向智能卡发送的带链接的指令数据块,否则读卡器向智能卡发送的不带链接的指令数据块;当前指令数据的初始值为读卡器接收到的指令数据;例如,指令数据0x00 01 02 03 04 05 06 07 08 09 OA OB OC OD OE OF 的长度为1本文档来自技高网...
一种访问智能卡的方法和读卡器

【技术保护点】
一种访问智能卡的方法,其特征在于,所述方法包括:步骤S1:读卡器接收上位机发送的指令数据,将接收到的所述指令数据作为当前指令数据,初始化当前块号;步骤S2:所述读卡器判断当前指令数据的长度是否超过预先协商的通信长度,是则执行步骤S3,否则执行步骤S5;步骤S3:所述读卡器根据所述预先协商的通信长度,从当前指令数据中获取指令数据,将协议控制字节设置为带链接的信息块,并根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节和获取到的指令数据得到指令数据块,向智能卡发送所述指令数据块,接收所述智能卡返回的应答数据块;步骤S4:所述读卡器切换当前块号,根据预先协商的通信长度更新当前指令数据,返回步骤S2;步骤S5:所述读卡器将协议控制字节设置为不带链接的信息块,并根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节与当前指令数据得到指令数据块,向智能卡发送所述指令数据块,接收所述智能卡返回的应答数据块;步骤S6:所述读卡器切换当前块号,从所述应答数据块中获取应答数据,顺序存储获取到的应答数据;步骤S7:所述读卡器判断所述应答数据块是否带链接,是则执行步骤S8,否则向所述上位机返回正确信息和存储的应答数据,结束;步骤S8:所述读卡器将协议控制字节设置为接收准备块,根据当前块号设置所述协议控制字节中的块号,根据所述协议控制字节得到指令数据块,向所述智能卡发送所述指令数据块,接收所述智能卡返回的应答数据块,返回步骤S6。...

【技术特征摘要】

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

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

1