CN104299316B - 一种金融终端自动检测卡片类型的方法 - Google Patents
一种金融终端自动检测卡片类型的方法 Download PDFInfo
- Publication number
- CN104299316B CN104299316B CN201410510429.5A CN201410510429A CN104299316B CN 104299316 B CN104299316 B CN 104299316B CN 201410510429 A CN201410510429 A CN 201410510429A CN 104299316 B CN104299316 B CN 104299316B
- Authority
- CN
- China
- Prior art keywords
- card
- preset kind
- cards
- judge
- magnetic stripe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
Abstract
本发明公开了一种金融终端自动检测卡片类型的方法,属于信息安全领域。所述方法包括:金融终端接收到上位机发送的查询卡片信息指令后,按照卡片的查询优先级依次判断是否需要查询该类型卡,并且当需要查询该类型卡时进入该类型卡的检测流程,在该检测流程中,若查询到该类型卡则金融终端终止查询,向上位机报告查询到该类型卡,若未查询到该类型卡,则金融终端按顺序进行下一类型卡的检测。本发明的有益效果在于:实现金融终端自动检测卡的类型,然后即可按照卡片类型自动进行后续操作,简化了使用者的操作流程,提高了金融终端的工作效率。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种金融终端自动检测卡片类型的方法。
背景技术
随着金融领域的日益发展,智能卡的种类日渐丰富,而现有技术中,金融终端并不具备检测卡片类型的功能,需要使用者首先了解卡片的类型,然后在金融终端上选择相应的卡类型,才能使用金融终端完成相应支付。由于需要使用者对卡片类型进行控制,导致了操作难度大,且存在操作失误的可能。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种金融终端自动检测卡片类型的方法。
本发明方法是通过下述技术方案实现的:
一种金融终端自动检测卡片类型的方法,其基本实施过程如下:
步骤S1、金融终端接收上位机发送的查询卡片信息指令,初始化卡状态;
步骤S2、所述金融终端判断是否需要查询第一预设类型卡,若不需要则执行步骤S3;若需要则执行第一预设类型卡检测流程,若未检测到第一预设类型卡,则执行步骤S3,若检测到第一预设类型卡,则设置所述卡状态为第一预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
步骤S3、所述金融终端判断是否需要查询第二预设类型卡,若不需要则执行步骤S4;若需要则执行第二预设类型卡检测流程,若未检测到第二预设类型卡,则执行步骤S4,若检测到第二预设类型卡,则设置所述卡状态为第二预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
步骤S4、所述金融终端判断是否需要查询第三预设类型卡,若不需要则执行步骤S5;若需要则执行第三预设类型卡检测流程,若未检测到第三预设类型卡,则执行步骤S5,若检测到第三预设类型卡,则设置所述卡状态为第三预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
步骤S5、所述金融终端判断是否需要查询第四预设类型卡,若不需要则返回步骤S2;若需要则执行第四预设类型卡检测流程,若未检测到第四预设类型卡,则返回步骤S2,若检测到第四预设类型卡,则设置所述卡状态为第四预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
其中,所述第一预设类型卡、所述第二预设类型卡、所述第三预设类型卡和所述第四预设类型卡各不相同,分别为磁条卡、接触卡、ISO14443卡和Felica卡中的任意一种。
进一步地,所述步骤S1中,所述金融终端接收到所述上位机发送的所述查询卡片信息指令后,还包括:获取所述查询卡片信息指令中的等待时间;所述步骤S2中,所述金融终端判断是否需要查询第一预设类型卡之前还包括:判断检测时间是否超过所述等待时间,若未超过则继续执行,若超过则设置所述卡状态为无卡,向所述上位机返回提示等待超时的信息,退出查询;更进一步地,所述步骤S1中,所述金融终端获取所述查询卡片信息指令中的等待时间之后,还包括:判断所述等待时间是否超过预设范围,若超过预设范围则根据所述预设范围调整等待时间后执行步骤S2,若未超过预设范围则直接执行步骤S2;
所述步骤S5中,当不需要查询第四预设类型卡,或未检测到第四预设类型卡时,还包括:判断是否检测到按键被按下,若未检测到则返回步骤S2;若检测到则获取键值,判断获取到的键值是否为预设键值,是则设置所述卡状态为无卡,向所述上位机返回提示用户取消查询的信息,退出查询,否则返回步骤S2;
所述步骤S5中,当不需要查询第四预设类型卡,或未检测到第四预设类型卡时,还包括:判断是否检测到所述上位机发送的寻卡终止命令,是则设置所述卡状态为无卡,向所述上位机返回提示用户取消查询的信息,退出查询,否则返回步骤S2;
所述步骤S1中还包括:判断需要查询的卡类型,标识相应卡需要查询。更进一步地,所述判断需要查询的卡类型,标识相应卡需要查询,具体包括:判断所述查询卡片信息指令中是否包括查询类型,是则根据查询类型置位相应卡查询标志,否则置位全部卡查询标志;所述卡查询标志包括:第一预设类型卡查询标志、第二预设类型卡查询标志、第三预设类型卡查询标志和第四预设类型卡查询标志;所述判断是否需要查询第一预设类型卡,具体包括:判断所述第一预设类型卡查询标志是否被置位,是则判定需要查询第一预设类型卡,否则判定不需要查询第一预设类型卡;所述判断是否需要查询第二预设类型卡,具体包括:判断所述第二预设类型卡查询标志是否被置位,是则判定需要查询第二预设类型卡,否则判定不需要查询第二预设类型卡;判断是否需要查询第三预设类型卡,具体包括:判断所述第三预设类型卡查询标志是否被置位,是则判定需要查询第三预设类型卡,否则判定不需要查询第三预设类型卡;判断是否需要查询第四预设类型卡,具体包括:判断所述第四预设类型卡查询标志是否被置位,是则判定需要查询第四预设类型卡,否则判定不需要查询第四预设类型卡。
优选地,所述执行第一预设类型卡的检测流程具体为执行磁条卡的检测流程,所述磁条卡的检测流程,具体包括:
步骤A1、判断是否有卡进入刷卡槽,若有则执行步骤A2;若没有则关闭磁道译码器,判定未检测到磁条卡,磁条卡检测流程结束;
步骤A2、开启所述磁道译码器;
步骤A3、判断是否有磁条卡刷卡完成,是则执行步骤A4,否则判定未检测到磁条卡,磁条卡检测流程结束;
步骤A4、判断磁条卡数据是否准备好,是则判定检测到磁条卡,磁条卡检测流程结束,否则判定未检测到磁条卡,磁条卡检测流程结束;
所述第二预设类型卡的检测流程具体为接触卡的检测流程,所述接触卡的检测流程,具体包括:
步骤B1、判断是否有接触卡插入插卡槽,是则执行步骤B2,否则判定未检测到接触卡,接触卡的检测流程结束;
步骤B2、判断所述插入插卡槽的接触卡是否已经上电,若未上电则执行步骤B3,若已经上电则判定检测到接触卡,接触卡的检测流程结束;
步骤B3、对所述插入插卡槽的接触卡上电,判断是否成功对所述插入插卡槽的接触卡上电,是则判定检测到接触卡,接触卡检测流程结束,否则判定未检测到接触卡,接触卡的检测流程结束;
所述步骤S1中,还包括:初始化非接触卡检测次数;所述第三预设类型卡的检测流程具体为ISO14443卡的检测流程,所述ISO14443卡的检测流程,具体包括:
步骤C1、设置非接模块为ISO14443模式;
步骤C2、判断是否检测到ISO14443卡,是则执行步骤C3,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
步骤C3、更新所述非接触卡检测次数,判断所述非接触卡检测次数是否达到预设次数,是则判定检测到ISO14443卡,ISO14443卡检测流程结束,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
所述第四预设类型卡的检测流程具体为Felica卡的检测流程,所述Felica卡的检测流程,具体包括:设置非接模块为Felica模式,判断是否检测到Felica卡,是则判定检测到Felica卡,Felica卡检测流程结束,否则判定未检测到Felica卡,Felica卡检测流程结束。
本发明方法的有益效果在于,金融终端能够自动检测卡的类型,然后按照卡片类型自动进行后续操作,简化了使用者的操作流程,提高了金融终端的工作效率。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种金融终端自动检测卡片类型的方法流程图;
图2为本发明实施例二中的金融终端的结构示意图;
图3为本发明实施例二提供的一种金融终端自动检测卡片类型的方法流程图;
图4为本发明实施例二提供的磁条卡的检测流程图;
图5为本发明实施例二提供的接触卡的检测流程图;
图6为本发明实施例二提供的ISO14443卡的检测流程图;
图7为图6中所示的步骤3-2的详细流程图;
图8为本发明实施例二提供的Felica卡的检测流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种金融终端自动检测卡片类型的方法,所述方法具体包括金融终端接收到上位机发送的预设指令后,开始查询卡,本实施例中,预设指令为查询卡片信息指令。具体地,如图1所示,金融终端执行以下步骤进行查询:
步骤A:初始化卡状态;
步骤B:判断是否需要查询第一预设类型卡,是则执行步骤C,否则执行步骤D;
步骤C:执行第一预设类型卡检测流程,若检测到第一预设类型卡,则设置卡状态为第一预设类型卡,向上位机返回提示查询成功的信息,退出查询,若未检测到第一预设类型卡则执行步骤D;
步骤D:判断是否需要查询第二预设类型卡,是则执行步骤E,否则执行步骤F;
步骤E:执行第二预设类型卡检测流程,若检测到第二预设类型卡,则设置卡状态为第二预设类型卡,向上位机返回提示查询成功的信息,退出查询,若未检测到第二预设类型卡则执行步骤F;
步骤F:判断是否需要查询第三预设类型卡,是则执行步骤G,否则执行步骤H;
步骤G:执行第三预设类型卡检测流程,若检测到第三预设类型卡,则设置卡状态为第三预设类型卡,向上位机返回提示查询成功的信息,退出查询,若未检测到第三预设类型卡则执行步骤H;
步骤H:判断是否需要查询第四预设类型卡,是则执行步骤I,否则返回步骤B;
步骤I:执行第四预设类型卡检测流程,若检测到第四预设类型卡,则设置卡状态为第四预设类型卡,向上位机返回提示查询成功的信息,退出查询,若未检测到第四预设类型卡则返回步骤B。
其中,第一预设类型卡、第二预设类型卡、第三预设类型卡和第四预设类型卡各不相同,分别为磁条卡、接触卡、ISO14443卡和Felica卡中的任意一种。
实施例二
本发明实施例二提供一种金融终端自动检测卡片类型的方法,如图2所示,本发明实施例中的金融终端包括:主芯片、接触卡控制芯片、非接模块、刷卡槽、插卡槽、磁道译码器、磁条卡检测开关和按键,其中,非接模块包括:非接触卡控制芯片和非接线圈。所述方法具体包括金融终端接收到上位机发送的预设指令后,开始查询卡,本实施例中,预设指令为查询卡片信息指令,指令中包含等待时间等信息。具体地,如图3所示,金融终端执行以下步骤进行查询:
步骤100:初始化卡状态和非接触卡检测次数;
优选地,本实施例中初始化卡状态为无卡,初始化非接触卡检测次数为0。
步骤101:获取预设指令中的等待时间,判断获取到的等待时间是否超过预设范围,是则执行步骤102,否则执行步骤103;
具体地,预设范围为合理的等待时间范围;优选地,本实施例中,预设范围为0~2分钟。
步骤102:根据预设范围调整等待时间,执行步骤103;
具体地,调整等待时间,使等待时间不超过预设范围;优选地,本实施例中,调整等待时间为2分钟。
步骤103:判断需要查询的卡类型,标识相应卡需要查询;
本实施例中,步骤103具体包括:
步骤103-1:判断预设指令中是否包含查询类型,是则执行步骤103-2,否则执行步骤103-3;
步骤103-2:根据查询类型置位相应卡查询标志。
具体地,卡查询标志包括:第一预设类型卡查询标志、第二预设类型卡查询标志、第三预设类型卡查询标志和第四预设类型卡查询标志;
例如,查询类型包括第一预设类型卡、第二预设类型卡,则置位第一预设类型卡查询标志和第二预设类型卡查询标志。
步骤103-3:置位全部卡查询标志。
步骤104:判断是否需要查询磁条卡,是则执行步骤105,否则执行步骤106;
本实施例中,步骤104具体包括:判断磁条卡查询标志是否被置位,是则判定需要查询磁条卡,执行步骤105,否则判定不需要查询磁条卡,执行步骤106。
步骤105:打开磁条卡检测开关,执行步骤106;
本发明中,通过在金融终端上设置磁条卡检测开关,可以防止磁条卡对接触卡的影响,能够有效解决金融终端体积较小时,磁条卡对接触卡的干扰。优选地,本实施例中,磁条检测开关为红外对管。
步骤106:判断检测时间是否超过等待时间,是则执行步骤107,否则执行步骤108;
本实施例中,检测时间为从首次执行步骤106时开始,截止当前时刻的时间间隔,优选地,可以在首次执行步骤106时记录金融终端内时钟的时间值,作为检测时间的起始值,计算当前时刻金融终端内时钟的时间值与检测时间的起始值的差值,得到检测时间。
步骤107:设置卡状态为无卡,向上位机返回提示等待超时的信息,退出查询;
步骤108:判断是否需要查询第一预设类型卡,是则执行步骤109,否则执行步骤110;
本实施例中,步骤108具体包括:判断第一预设类型卡查询标志是否被置位,是则判定需要查询第一预设类型卡,执行步骤109,否则判定不需要查询第一预设类型卡,执行步骤110。
步骤109:执行第一预设类型卡检测流程,若未检测到第一预设类型卡,则执行步骤110,若检测到第一预设类型卡则设置卡状态为第一预设类型卡,向上位机返回提示查询成功的信息,退出查询;
步骤110:判断是否需要查询第二预设类型卡,是则执行步骤111,否则执行步骤112;
本实施例中,步骤110具体包括:判断第二预设类型卡查询标志是否被置位,是则判定需要查询第二预设类型卡,执行步骤111,否则判定不需要查询第二预设类型卡,执行步骤112。
步骤111:执行第二预设类型卡检测流程,若未检测到第二预设类型卡,则执行步骤112,若检测到第二预设类型卡则设置卡状态为第二预设类型卡,向上位机返回提示查询成功的信息,退出查询;
步骤112:判断是否需要查询第三预设类型卡,是则执行步骤113,否则执行步骤114;
本实施例中,步骤112具体包括:判断第三预设类型卡查询标志是否被置位,是则判定需要查询第三预设类型卡,执行步骤113,否则判定不需要查询第三预设类型卡,执行步骤114。
步骤113:执行第三预设类型卡检测流程,若未检测到第三预设类型卡,则执行步骤114,若检测到第三预设类型卡则设置卡状态为第三预设类型卡,向上位机返回提示查询成功的信息,退出查询;
步骤114:判断是否需要查询第四预设类型卡,是则执行步骤115,否则执行步骤116;
本实施例中,步骤114具体包括:判断第四预设类型卡查询标志是否被置位,是则判定需要查询第四预设类型卡,执行步骤115,否则判定不需要查询第四预设类型卡,执行步骤116。
步骤115:执行第四预设类型卡检测流程,若未检测到第四预设类型卡,则执行步骤116,若检测到第四预设类型卡则设置卡状态为第四预设类型卡,向上位机返回提示查询成功的信息,退出查询;
步骤116:判断是否检测到按键被按下,是则执行步骤117,否则执行步骤118;
步骤117:获取键值,判断获取到的键值是否为预设键值,是则执行步骤119,否则执行步骤118;
本实施例中,预设键值为Cancel键对应的键值。
步骤118:判断是否检测到上位机发送的寻卡终止命令,是则执行步骤119,否则返回步骤106;
步骤119:设置卡状态为无卡,向上位机返回提示用户取消查询的信息,退出查询。
本实施例中,第一预设类型卡、第二预设类型卡、第三预设类型卡和第四预设类型卡分别为磁条卡、接触卡、ISO14443卡和Felica卡中的任意一种,且第一预设类型卡、第二预设类型卡、第三预设类型卡和第四预设类型卡各不相同,具体可根据卡类型的优先级进行设置,其中,第一预设类型卡的优先级最高,第二预设类型卡次之,以此类推,第四预设类型卡的优先级最低。优选地,本实施例中,第一预设类型卡为磁条卡,第二预设类型卡为接触卡,第三预设类型卡为ISO14443卡,第四预设类型卡为Felica卡,本发明中所述的ISO14443卡为符合ISO14443协议的IC卡。
进一步地,本实施例中,当检测到接触卡时,还包括关闭非接场。
本实施例中,磁条卡的检测流程包括:
步骤5-1:判断是否有卡进入刷卡槽,是则执行步骤5-3,否则执行步骤5-2;
本实施例中,判断是否有卡进入刷卡槽具体为:检测磁条卡检测开关的集电极管脚的电平是否为高电平,是则判定有卡进入刷卡槽,否则判定无卡进入刷卡槽;
具体地,本实施例中,磁条卡检测开关为红外对管,设置在刷卡槽上,当无卡进入刷卡槽时,红外对管中的接收方能够接收到红外对管中的发射方发射的红外线,磁条卡检测开关的集电极管脚的电平为低,当有卡进入刷卡槽时,卡片阻挡红外对管中的发射光发射的红外线,红外对管中的接收方接收不到发射方发射的红外线,磁条卡检测开关的集电极管脚的电平为高;
红外对管中的发射方可以为红外线发射管;红外对管中的接收方可以为光敏接收管,或者红外线接收管。
步骤5-2:关闭磁道译码器,判定未检测到磁条卡,磁条卡检测流程结束;
步骤5-3:开启磁道译码器;
优选地,本实施例中,开启磁道译码器具体包括:主芯片的第一预设管脚依次输出:4670ns(纳秒)的高电平、250ns的低电平、250ns的高电平、250ns的低电平、250ns的高电平、250ns的低电平、250ns的高电平,然后持续输出低电平,同时第二预设管脚依次输出170ns的高电平、5020ns的低电平,然后将第二预设管脚设置为输入;主芯片的第一预设管脚为与磁道译码器芯片的STROBE管脚连接的I/O管脚,第二预设管脚为与磁道译码器芯片的DATA管脚连接的I/O管脚。
步骤5-4:判断是否有磁条卡刷卡完成,是则执行步骤5-5,否则判定未检测到磁条卡,磁条卡检测流程结束;
本实施例中,判断是否有磁条卡刷卡完成具体包括:检测主芯片的第二预设管脚的电平是否为低电平,是则判定有磁条卡刷卡完成,否则判定没有磁条卡刷卡完成。
步骤5-5:判断磁条卡数据是否准备好,是则判定检测到磁条卡,磁条卡检测流程结束,否则判定未检测到磁条卡,磁条卡检测流程结束;
优选地,本实施例中,判断磁条卡数据是否准备好具体包括:主芯片的第一预设管脚依次输出1.1us(微秒)的高电平和250ns的低电平,然后检测主芯片的第二预设管脚的电平是否为低电平,是则判定磁条卡数据准备好,否则判定磁条卡数据未准备好。
或者如图4所示,磁条卡检测流程包括:
步骤1-1:判断是否有卡进入刷卡槽,是则执行步骤1-3,否则执行步骤1-2;
步骤1-2:关闭磁道译码器,判定未检测到磁条卡,磁条卡检测流程结束;
步骤1-3:复位接触卡查询标志,判断磁条卡检测状态,若为第一预设状态,则执行步骤1-4,若为第二预设状态则执行步骤1-5;
本实施例中,磁条卡检测状态的初始状态为第一预设状态。
步骤1-4:开启磁道译码器,设置磁条卡检测状态为第二预设状态,判定未检测到磁条卡,磁条卡检测流程结束;
步骤1-5:判断是否有磁条卡刷卡完成,是则执行步骤1-6,否则判定未检测到磁条卡,磁条卡检测流程结束;
步骤1-6:判断磁条卡数据是否准备好,是则执行步骤1-7,否则判定未检测到磁条卡,磁条卡检测流程结束;
步骤1-7:设置磁条卡检测状态为第一预设状态,判定检测到磁条卡,磁条卡检测流程结束。
进一步地,步骤1-5可以替换为:判断是否有磁条卡刷卡完成,是则设置磁条卡检测状态为第三预设状态,判定未检测到磁条卡,退出磁条卡检测流程,否则判定未检测到磁条卡,磁条卡检测流程结束;相应地,步骤1-3中还包括:若磁条卡检测状态为第三预设状态则执行步骤1-6。
如图5所示,本实施例中,接触卡的检测流程包括:
步骤2-1:判断是否有接触卡插入插卡槽,是则执行步骤2-2,否则判定未检测到接触卡,接触卡的检测流程结束;
本实施例中,判断是否有接触卡插入插卡槽具体包括:主芯片检查接触卡控制芯片的卡到位管脚的电平,若为高电平则判定没有接触卡插入插卡槽,若为低电平则判定有接触卡插入插卡槽。
步骤2-2:判断插入插卡槽的接触卡是否已经上电,若已上电则判定检测到接触卡,接触卡的检测流程结束,若未上电则执行步骤2-3;
本实施例中,判断插入插卡槽的接触卡是否已经上电具体包括:主芯片向接触卡控制芯片发送获取卡片状态指令,接收接触卡控制芯片返回的应答,检查接触卡控制芯片返回的应答中的状态字节,若状态字节的低两位为00,则判定插入插卡槽的接触卡已经上电,若状态字节的低两位为01,则判定插入插卡槽的接触卡未上电。
具体地,获取卡片状态指令为PC_to_RDR_GetSlotStatus,状态字节为bStatus。
步骤2-3:对插入插卡槽的接触卡上电;
本实施例中,对插入插卡槽的接触卡上电具体包括:主芯片向接触卡控制芯片发送上电激活指令。
具体地,上电激活指令为PC_to_RDR_IccPowerOn。
步骤2-4:判断是否成功对插入插卡槽的接触卡上电,是则判定检测到接触卡,接触卡的检测流程结束,否则判定未检测到接触卡,接触卡的检测流程结束。
本实施例中,判断是否成功对插入插卡槽的接触卡上电具体包括:主芯片向接触卡控制芯片发送获取卡片状态指令,接收接触卡控制芯片返回的应答,判断接触卡控制芯片返回的应答中的状态字节的低两位是否为00,是则判定成功对插入插卡槽的接触卡上电,否则判定未成功对插入插卡槽的接触卡上电。
如图6所示,本实施例中,ISO14443卡的检测流程包括:
步骤3-1:设置非接模块为ISO14443模式;
本实施例中,设置非接模块为ISO14443模式具体包括:主芯片向非接触卡控制芯片下发指令集,非接触卡控制芯片接收到主芯片下发的指令集后通过更改非接触卡控制芯片的输出功率、调制方式、接收增益、调制深度和通信速率设置非接触卡控制芯片为ISO14443模式。
步骤3-2:判断是否检测到ISO14443卡,是则执行步骤3-3,否则判定未检测到ISO14443卡,ISO14443卡的检测流程结束;
如图7所示,本实施例中,步骤3-2具体包括:
i.判断非接场内是否存在A型卡和B型卡,若只存在A型卡则执行ii,若只存在B型卡则执行v,若既存在A型卡又存在B型卡,或者既不存在A型卡又不存在B型卡则判定未检测到ISO14443卡,ISO14443卡的检测流程结束;
本实施例中,判断非接场内是否存在A型卡和B型卡,具体包括:非接触卡控制芯片发送REQA指令和REQB指令,若只接收到ATQA应答则判定非接场内只存在A型卡,若只接收到ATQB应答则判定非接场内只存在B型卡,若既接收到ATQA应答又接收到ATQB应答则判定非接场内既存在A型卡又存在B型卡,若既没接收到ATQA应答又没接收到ATQB应答则判定非接场内既不存在A型卡也不存在B型卡。
ii.进行A型卡的防冲突操作;
本实施例中,进行A型卡的防冲突操作,具体包括:非接触卡控制芯片向非接场内的A型卡发送ANTICOLLISION命令。
iii.判断A型卡的防冲突操作是否成功,是则执行iv,否则判定未检测到ISO14443卡,ISO14443卡的检测流程结束;
本实施例中,判断A型卡的防冲突操作是否成功,具体包括:判断是否接收到A型卡返回的SAK,是则判定A型卡的防冲突操作成功,否则判定A型卡的防冲突操作未成功。
iv.向非接场内的A型卡发送GetRATS指令,判断是否接收到A型卡返回的RATS,是则执行步骤3-3,否则判定未检测到ISO14443卡,ISO14443卡的检测流程结束;
v.进行B型卡的防冲突操作;
本实施例中,进行B型卡的防冲突操作,具体包括:非接触卡控制芯片再次向非接场内的B型卡发送REQB指令。
vi.判断B型卡的防冲突操作是否成功,是则执行步骤vii,否则判定未检测到ISO14443卡,ISO14443卡的检测流程结束;
本实施例中,判断B型卡的防冲突操作是否成功,具体包括:判断是否接收到B型卡返回的ATQB,是则判定B型卡的防冲突操作成功,否则判定B型卡的防冲突操作未成功。
vii.向非接场内的B型卡发送ATTRIB指令,判断是否接收到B型卡返回的RATS,是则执行步骤3-3,否则判定未检测到ISO14443卡,ISO14443卡的检测流程结束。
步骤3-3:更新非接触卡检测次数;
优选地,本实施例中,更新非接触卡检测次数为其当前值加1;
步骤3-4:判断非接触卡检测次数是否达到预设次数,是则判定检测到ISO14443卡,ISO14443卡的检测流程结束,否则判定未检测到ISO14443卡,ISO14443卡的检测流程结束。
优选地,本实施例中,预设次数为3次;
如图8所示,本实施例中,Felica卡的检测流程包括:
步骤4-1:设置非接模块为Felica模式;
本实施例中,设置非接模块为Felica模式具体包括:主芯片向非接触卡控制芯片下发指令集,非接触卡控制芯片接收到主芯片下发的指令集后通过更改非接触卡控制芯片的输出功率、调制方式、接收增益、调制深度和通信速率设置非接触卡控制芯片为Felica模式。
步骤4-2:判断是否检测到Felica卡,是则判定检测到Felica卡,Felica卡的检测流程结束,否则判定未检测到Felica卡,Felica卡的检测流程结束。
本实施例中,步骤4-2具体包括:非接触卡控制芯片发送Polling指令,判断是否接收到Polling指令的应答,是则判定检测到Felica卡,Felica卡的检测流程结束,否则判定未检测到Felica卡,Felica卡的检测流程结束。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (21)
1.一种金融终端自动检测卡片类型的方法,其特征在于,包括:
步骤S1、金融终端接收上位机发送的查询卡片信息指令,初始化卡状态,获取所述查询卡片信息指令中的等待时间,判断是否需要查询磁条卡,是则打开磁条卡检测开关,执行步骤S2,否则执行步骤S2;
步骤S2、所述金融终端判断检测时间是否超过等待时间,若超过则设置卡状态为无卡,向上位机返回提示等待超时的信息,退出查询,若未超过则判断是否需要查询第一预设类型卡,若不需要则执行步骤S3;若需要则执行第一预设类型卡检测流程,若未检测到第一预设类型卡,则执行步骤S3,若检测到第一预设类型卡,则设置所述卡状态为第一预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
步骤S3、所述金融终端判断是否需要查询第二预设类型卡,若不需要则执行步骤S4;若需要则执行第二预设类型卡检测流程,若未检测到第二预设类型卡,则执行步骤S4,若检测到第二预设类型卡,则设置所述卡状态为第二预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
步骤S4、所述金融终端判断是否需要查询第三预设类型卡,若不需要则执行步骤S5;若需要则执行第三预设类型卡检测流程,若未检测到第三预设类型卡,则执行步骤S5,若检测到第三预设类型卡,则设置所述卡状态为第三预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
步骤S5、所述金融终端判断是否需要查询第四预设类型卡,若不需要则返回步骤S2;若需要则执行第四预设类型卡检测流程,若未检测到第四预设类型卡,则返回步骤S2,若检测到第四预设类型卡,则设置所述卡状态为第四预设类型卡,向所述上位机返回提示查询成功的信息,退出查询;
其中,所述第一预设类型卡、所述第二预设类型卡、所述第三预设类型卡和所述第四预设类型卡各不相同,分别为磁条卡、接触卡、ISO14443卡和Felica卡中的任意一种;
所述磁条卡的检测流程,具体包括:
步骤1、判断是否有卡进入刷卡槽,若有则执行步骤2;若没有则关闭磁道译码器,判定未检测到磁条卡,磁条卡检测流程结束;
步骤2:标识接触卡不需要查询,判断磁条卡检测状态,若为第一预设状态则执行步骤3,若为第二预设状态则执行步骤4;
步骤3、开启磁道译码器,设置磁条卡检测状态为第二预设状态,判定未检测到磁条卡,磁条卡检测流程结束;
步骤4、判断是否有磁条卡刷卡完成,是则执行步骤5,否则判定未检测到磁条卡,磁条卡检测流程结束;
步骤5、判断磁条卡数据是否准备好,是则设置磁条卡检测状态为第一预设状态,判定检测到磁条卡,磁条卡检测流程结束,否则判定未检测到磁条卡,磁条卡检测流程结束。
2.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述金融终端获取所述查询卡片信息指令中的等待时间之后,还包括:判断所述等待时间是否超过预设范围,若超过预设范围则根据所述预设范围调整等待时间后执行所述判断是否需要查询磁条卡,若未超过预设范围则直接执行所述判断是否需要查询磁条卡。
3.如权利要求1所述的方法,其特征在于,所述步骤S5中,当不需要查询第四预设类型卡,或未检测到第四预设类型卡时,还包括:判断是否检测到按键被按下,若未检测到则返回步骤S2;若检测到则获取键值,判断获取到的键值是否为预设键值,是则设置所述卡状态为无卡,向所述上位机返回提示用户取消查询的信息,退出查询,否则返回步骤S2。
4.如权利要求1所述的方法,其特征在于,所述步骤S5中,当不需要查询第四预设类型卡,或未检测到第四预设类型卡时,还包括:判断是否检测到所述上位机发送的寻卡终止命令,是则设置所述卡状态为无卡,向所述上位机返回提示用户取消查询的信息,退出查询,否则返回步骤S2。
5.如权利要求1所述的方法,其特征在于,所述步骤S1中还包括:判断需要查询的卡类型,标识相应卡需要查询。
6.如权利要求5所述的方法,其特征在于,所述判断需要查询的卡类型,标识相应卡需要查询,具体包括:判断所述查询卡片信息指令中是否包括查询类型,是则根据查询类型置位相应卡查询标志,否则置位全部卡查询标志;所述卡查询标志包括:第一预设类型卡查询标志、第二预设类型卡查询标志、第三预设类型卡查询标志和第四预设类型卡查询标志;
所述判断是否需要查询第一预设类型卡,具体包括:判断所述第一预设类型卡查询标志是否被置位,是则判定需要查询第一预设类型卡,否则判定不需要查询第一预设类型卡;
所述判断是否需要查询第二预设类型卡,具体包括:判断所述第二预设类型卡查询标志是否被置位,是则判定需要查询第二预设类型卡,否则判定不需要查询第二预设类型卡;
判断是否需要查询第三预设类型卡,具体包括:判断所述第三预设类型卡查询标志是否被置位,是则判定需要查询第三预设类型卡,否则判定不需要查询第三预设类型卡;
判断是否需要查询第四预设类型卡,具体包括:判断所述第四预设类型卡查询标志是否被置位,是则判定需要查询第四预设类型卡,否则判定不需要查询第四预设类型卡。
7.如权利要求1所述的方法,其特征在于,所述执行第一预设类型卡的检测流程具体为执行磁条卡的检测流程。
8.如权利要求1所述的方法,其特征在于,所述判断是否有卡进入刷卡槽,具体包括:检测所述磁条卡检测开关的集电极管脚的电平是否为高电平,是则判定有卡进入刷卡槽,否则判定无卡进入刷卡槽。
9.如权利要求1所述的方法,其特征在于所述步骤2中,还包括:若磁条卡检测状态为第三预设状态则执行步骤5;
所述步骤4相应替换为:判断是否有磁条卡刷卡完成,是则设置磁条卡检测状态为第三预设状态,判定未检测到磁条卡,磁条卡检测流程结束,否则判定未检测到磁条卡,磁条卡检测流程结束。
10.如权利要求1所述的方法,其特征在于,所述第二预设类型卡的检测流程具体为接触卡的检测流程,所述接触卡的检测流程,具体包括:
步骤B1、判断是否有接触卡插入插卡槽,是则执行步骤B2,否则判定未检测到接触卡,接触卡的检测流程结束;
步骤B2、判断所述插入插卡槽的接触卡是否已经上电,若未上电则执行步骤B3,若已经上电则判定检测到接触卡,接触卡的检测流程结束;
步骤B3、对所述插入插卡槽的接触卡上电,判断是否成功对所述插入插卡槽的接触卡上电,是则判定检测到接触卡,接触卡检测流程结束,否则判定未检测到接触卡,接触卡的检测流程结束。
11.如权利要求10所述的方法,其特征在于,所述判断是否有接触卡插入插卡槽,具体包括:主芯片检查接触卡控制芯片的卡到位管脚的电平,若为高电平则判定没有接触卡插入插卡槽,若为低电平则判定有接触卡插入插卡槽。
12.如权利要求10所述的方法,其特征在于,所述判断所述插入插卡槽的接触卡是否已经上电,具体包括:主芯片向接触卡控制芯片发送获取卡片状态指令,并接收接触卡控制芯片返回的应答,检查所述应答中的状态字节,若所述状态字节的低两位为00,则判定所述插入插卡槽的接触卡已经上电,若所述状态字节的低两位为01,则判定所述插入插卡槽的接触卡未上电。
13.如权利要求10所述的方法,其特征在于,所述对所述插入插卡槽的接触卡上电,具体包括:主芯片向接触卡控制芯片发送上电激活指令;
所述判断是否成功对所述插入插卡槽的接触卡上电,具体包括:主芯片向接触卡控制芯片发送获取卡片状态指令,并接收接触卡控制芯片返回的应答,判断所述应答中的状态字节的低两位是否为00,是则判定成功对所述插入插卡槽的接触卡上电,否则判定未成功对所述插入插卡槽的接触卡上电。
14.如权利要求10所述的方法,其特征在于,所述步骤B3中,当判定检测到接触卡时,还包括:关闭非接场。
15.如权利要求1所述的方法,其特征在于,所述步骤S1中,还包括:初始化非接触卡检测次数;
所述第三预设类型卡的检测流程具体为ISO14443卡的检测流程,所述ISO14443卡的检测流程,具体包括:
步骤C1、设置非接模块为ISO14443模式;
步骤C2、判断是否检测到ISO14443卡,是则执行步骤C3,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
步骤C3、更新所述非接触卡检测次数,判断所述非接触卡检测次数是否达到预设次数,是则判定检测到ISO14443卡,ISO14443卡检测流程结束,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束。
16.如权利要求15所述的方法,其特征在于,所述步骤C2,具体包括:
步骤C2-1、判断非接场内是否存在A型卡和B型卡,若只存在A型卡则执行步骤C2-2,若只存在B型卡则执行步骤C2-4,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
步骤C2-2、进行A型卡的防冲突操作,判断A型卡的防冲突操作是否成功,是则执行步骤C2-3,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
步骤C2-3、向非接场内的A型卡发送GetRATS指令,判断是否接收到A型卡返回的RATS,是则执行步骤C3,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
步骤C2-4、进行B型卡的防冲突操作,判断B型卡的防冲突操作是否成功,是则执行步骤C2-5,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束;
步骤C2-5、向非接场内的B型卡发送ATTRIB指令,判断是否接收到B型卡返回的RATS,是则执行步骤C3,否则判定未检测到ISO14443卡,ISO14443卡检测流程结束。
17.如权利要求16所述的方法,其特征在于,所述判断非接场内是否存在A型卡和B型卡,具体包括:非接触卡控制芯片发送REQA指令和REQB指令,若只接收到ATQA应答则判定非接场内只有A型卡,若只接收到ATQB应答则判定非接场内只有B型卡。
18.如权利要求16所述的方法,其特征在于,所述进行A型卡的防冲突操作,具体包括:非接触卡芯片向非接场内的A型卡发送ANTICOLLISION命令;
所述判断A型卡的防冲突操作是否成功,具体包括:判断是否接收到A型卡返回的SAK,是则判定A型卡的防冲突操作成功,否则判定A型卡的防冲突操作未成功。
19.如权利要求16所述的方法,其特征在于,所述进行B型卡的防冲突操作,具体包括:非接触卡控制芯片向非接场内的B型卡发送REQB指令;
所述判断B型卡的防冲突操作是否成功,具体包括:判断是否接收到B型卡返回的ATQB,是则判定B型卡的防冲突操作成功,否则判定B型卡的防冲突操作未成功。
20.如权利要求1所述的方法,其特征在于,所述第四预设类型卡的检测流程具体为Felica卡的检测流程,所述Felica卡的检测流程,具体包括:设置非接模块为Felica模式,判断是否检测到Felica卡,是则判定检测到Felica卡,Felica卡检测流程结束,否则判定未检测到Felica卡,Felica卡检测流程结束。
21.如权利要求20所述的方法,其特征在于,所述判断是否检测到Felica卡,具体包括:非接触卡控制芯片发送Polling指令,判断是否接收到Polling指令的应答,是则判定检测到Felica卡,否则判定未检测到Felica卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410510429.5A CN104299316B (zh) | 2014-09-28 | 2014-09-28 | 一种金融终端自动检测卡片类型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410510429.5A CN104299316B (zh) | 2014-09-28 | 2014-09-28 | 一种金融终端自动检测卡片类型的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104299316A CN104299316A (zh) | 2015-01-21 |
CN104299316B true CN104299316B (zh) | 2017-05-03 |
Family
ID=52319033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410510429.5A Active CN104299316B (zh) | 2014-09-28 | 2014-09-28 | 一种金融终端自动检测卡片类型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104299316B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022186A (zh) * | 2016-05-11 | 2016-10-12 | 新智数字科技有限公司 | 一种集成电路卡卡套 |
CN106326797B (zh) * | 2016-08-19 | 2018-09-25 | 飞天诚信科技股份有限公司 | 一种非接触式卡片及其工作方法 |
CN107908988B (zh) * | 2017-12-05 | 2021-01-01 | 飞天诚信科技股份有限公司 | 一种金融终端检测卡片过程中消除干扰的方法及装置 |
CN108021832A (zh) * | 2017-12-18 | 2018-05-11 | 宁波三星医疗电气股份有限公司 | 一种兼容多卡操作的电能表识卡方法 |
CN110276902A (zh) * | 2019-05-25 | 2019-09-24 | 深圳市中燃科技有限公司 | 一种快速识别多类型的燃气缴费以及终端及其识别方法 |
CN110969782A (zh) * | 2019-11-13 | 2020-04-07 | 上海动联信息技术股份有限公司 | 一种用于pos机的非接卡读卡方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441722A (zh) * | 2007-11-23 | 2009-05-27 | 中国银联股份有限公司 | 一种非接触式ic卡读写系统及非接触式ic卡读写器 |
CN103021081A (zh) * | 2012-11-21 | 2013-04-03 | 江苏鸿信系统集成有限公司 | 实现多卡融合应用的非接触式ic卡与读卡终端之间进行通信交互的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3360002B2 (ja) * | 1996-03-14 | 2002-12-24 | 沖電気工業株式会社 | 接触式・非接触式兼用icカード及び接触式・非接触式兼用icカードリーダライタ |
-
2014
- 2014-09-28 CN CN201410510429.5A patent/CN104299316B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441722A (zh) * | 2007-11-23 | 2009-05-27 | 中国银联股份有限公司 | 一种非接触式ic卡读写系统及非接触式ic卡读写器 |
CN103021081A (zh) * | 2012-11-21 | 2013-04-03 | 江苏鸿信系统集成有限公司 | 实现多卡融合应用的非接触式ic卡与读卡终端之间进行通信交互的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104299316A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104299316B (zh) | 一种金融终端自动检测卡片类型的方法 | |
CN107665426A (zh) | 使用生物特征认证进行支付的方法和电子设备 | |
CN103559756B9 (zh) | 一种利用nfc手机给非接触式ic卡充值的系统和方法 | |
CN106897006A (zh) | 一种支付信息处理方法、装置和用户设备 | |
CN108141733A (zh) | Nfc“拆分堆栈”体系架构 | |
CN107688940A (zh) | 生物识别交易处理方法及系统 | |
CN108924014A (zh) | 一种电力系统4g无线模块测试装置及测试方法 | |
CN108173713A (zh) | 一种单pc多网卡并行测试方法 | |
CN105809002B (zh) | 一种用户终端充电方法及用户终端 | |
WO2022099563A1 (zh) | 用于nfc卡模拟模式的选卡方法、芯片、终端和存储介质 | |
CN110569680A (zh) | Etc用户卡的自动插拔卡测试方法及系统 | |
CN203966242U (zh) | 电动自行车智能充电站 | |
CN105930022A (zh) | 一种应用程序属性设置方法、装置及移动终端 | |
CN105848133B (zh) | 接入点名称配置方法及装置 | |
CN105512032B (zh) | 一种中间库虚拟控制测试方法及其系统 | |
CN107390590A (zh) | 基于物联网控制的智能闸道系统 | |
CN206620140U (zh) | 一种防盗刷车载单元 | |
CN104867251A (zh) | 一种自助取款系统、方法及相关设备 | |
CN104102870B (zh) | 电子签名认证扩展设备及信息处理方法 | |
CN105956848A (zh) | 一种基于nfc的ic卡充值方法和系统 | |
CN202870847U (zh) | 虹膜ic卡识别仪 | |
CN101894246B (zh) | 一种能判断卡片是否存在和好坏的读卡器及方法 | |
CN210867739U (zh) | 一种智能家居系统自动化组网的设备 | |
CN104809815A (zh) | 断电控制系统及方法 | |
CN105809078A (zh) | 一种异频卡间防冲突的方法及双频读卡器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |