CN104636696B - 卡在场检测装置及方法 - Google Patents
卡在场检测装置及方法 Download PDFInfo
- Publication number
- CN104636696B CN104636696B CN201510088848.9A CN201510088848A CN104636696B CN 104636696 B CN104636696 B CN 104636696B CN 201510088848 A CN201510088848 A CN 201510088848A CN 104636696 B CN104636696 B CN 104636696B
- Authority
- CN
- China
- Prior art keywords
- card
- value
- reference value
- capacitance
- testing result
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012360 testing method Methods 0.000 claims abstract description 91
- 238000001514 detection method Methods 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims description 30
- 238000005070 sampling Methods 0.000 claims description 11
- 241001269238 Data Species 0.000 claims description 9
- 230000037007 arousal Effects 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 230000005611 electricity Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 13
- 230000003993 interaction Effects 0.000 description 7
- 238000007689 inspection Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 239000002184 metal Substances 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012429 release testing Methods 0.000 description 1
Landscapes
- Credit Cards Or The Like (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种卡在场检测装置及方法,属于近场通信领域。该装置主要包括主控芯片和电容传感器,该方法包括:主控芯片将预先设定的基准值设置为当前基准值;检测电容传感器输出的电容值;根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果是无卡则返回继续检测电容值,若卡检测结果是寻卡则打开非接场,进行寻卡操作,若寻卡成功则检测到有卡,若寻卡失败则关闭非接场,并更新当前基准值后返回继续检测电容值。本发明提供的装置及方法应用于近场通信装置中,可以降低近场通信装置进行寻卡操作时的功耗,使得依靠电池(特别是小容量电池)供电的近场通信装置可以有更长的待机时间。
Description
技术领域
本发明属于近场通信领域,尤其涉及一种卡在场检测装置及方法。
背景技术
在ISO-14443所规范的近场通信中,没有对检测非接触卡是否在读卡器的有效场内进行定义,而实际使用时上层软件需要检测卡片是否处于读卡器的有效场内,并依此进行后续的交互流程。现有技术中采用的方法是读卡器始终或间歇性地打开通信场,并进行寻卡动作,以确认是否有卡片已置于读卡器的有效场内。现有技术中采用的这种寻卡的方式是通过与场内的卡进行通信的方式来进行有卡判断的,这就不可避免地造成读卡器的功耗的增加。然而对于通过电池供电的近场通信装置来讲,这样的额外功耗是难以接受的。
发明内容
为解决现有技术的缺陷,本发明提出了一种卡在场检测装置及方法,通过对装置的外部环境的电容值进行测量,并结合读写器寻卡操作流程,来进行卡在场的有效检测。
本发明采用的技术方案包括一种卡在场检测装置及方法,具体如下:
一种卡在场检测方法,包括:
步骤1:主控芯片将预先设定的基准值设置为当前基准值;
步骤2:所述主控芯片检测电容传感器输出的电容值;
步骤3:所述主控芯片根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果是无卡则返回执行步骤2,若卡检测结果是寻卡则执行步骤4;
步骤4:所述主控芯片打开非接场,进行寻卡操作;
步骤5:所述主控芯片判断寻卡是否成功,是则确定场内有卡,结束;否则关闭非接场,并根据检测的电容值更新当前基准值后返回执行步骤2。
所述打开非接场具体为将非接触芯片上的第一寄存器的值写为第二预设值,所述关闭非接场具体为将非接触芯片上的第一寄存器的值写为第一预设值。
进一步的,所述步骤1之前还包括,主控芯片关闭非接场,校准电容传感器;
所述步骤2之前还包括,所述主控芯片将非接触芯片上的第三寄存器的值写为第三预设值使能非接触芯片的唤醒功能。
所述进行寻卡操作具体包括:主控芯片发送卡检测指令,并判断是否收到卡片应答,是则执行步骤5,否则用所述检测的电容值更新当前基准值后返回执行步骤2。
一种卡在场检测装置,包括主控芯片和电容传感器,所述主控芯片包括控制模块、检测模块、判断模块和设置模块;
所述控制模块,用于当设置模块确定卡检测结果为寻卡时打开非接场,以及当判断模块判断寻卡失败时,关闭非接场并根据检测模块检测的电容值更新当前基准值;
所述检测模块,用于检测电容传感器输出的电容值;
所述判断模块,用于判断判断寻卡操作是否成功;
所述设置模块,用于将预先设定的基准值设置为当前基准值,用于根据检测模块检测的电容值、当前基准值和阈值确定卡检测结果;
所述电容传感器,用于根据检测到的外部环境输出电容值。
上述装置还可以包括非接触芯片,所述非接触芯片包括第一寄存器;所述控制模块具体用于当设置模块确定卡检测结果为寻卡时,将非接触芯片上的第一寄存器的值写为第二预设值,用于当判断模块判断寻卡失败时,将非接触芯片上的第一寄存器的值写为第一预设值。
所述非接触芯片还包括第二寄存器;所述控制模块还用于校准电容传感器,具体用于将非接触芯片上的第二寄存器的值写为第四预设值,并向非接触芯片发送校准传感器命令。
所述非接触芯片还包括第三寄存器;所述控制模块还用于将非接触芯片上的第三寄存器的值写为第三预设值使能非接触芯片的唤醒功能。
进一步的,所述主控芯片还包括收发模块,所述收发模块用于发送卡检测指令给卡片,以及接收卡片应答;
所述判断模块,还用于判断所述收发模块是否收到卡片应答;
所述控制模块,还用于控制收发模块向卡片发送卡检测指令,用于当判断模块判断未收到卡片应答时,根据检测模块检测的电容值更新当前基准值。
采用上述技术方案达到的有益效果:通过本发明提供的卡在场检测装置及方法,在没有卡片靠近时不需要打开通信场,从而降低了设备的整体功耗;在有卡片靠近时,装置可以迅速切换到正常的工作方式,完成与卡片之间数据的近场交互。同时使用此发明还可以降低寻卡操作时的功耗,使得依靠电池(特别是小容量电池)供电的近场通信装置可以有更长的待机时间。
附图说明
图1是本发明实施例2提供的一种卡在场检测方法的流程图;
图2是本发明实施例3提供的一种卡在场检测装置的组成框图;
图3是本发明实施例4提供的一种卡在场检测方法的流程图;
图4是本发明图3中步骤104和步骤105的细化图;
图5是本发明实施例5提供的卡在场检测方法在读卡器与卡片交互中的具体应用流程图;
图6是本发明实施例6提供的卡在场检测方法在读卡器与卡片交互中的具体应用流程图;
图7是本发明实施例6提供的读卡器与卡片交互中的定时器中断处理流程图;
图8是本发明实施例7提供的卡在场检测方法在读卡器与卡片交互中的具体应用流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。本发明提供的方法针对的卡片类型是非接触卡,例如TypeA卡、TypeB卡和Felica卡。
实施例1
本实施例1提供的一种卡在场检测装置,包括主控芯片和电容传感器;
所述主控芯片,用于控制非接场的打开和关闭,用于检测电容传感器输出的电容值,根据检测的电容值保存一个新基准值;用于根据检测的电容值、当前基准值和阈值确定卡检测结果;用于当卡检测结果为寻卡时打开非接场进行寻卡操作;用于判断寻卡操作是否成功,并在寻卡操作成功时标识当前卡状态为有卡,在寻卡操作失败时关闭非接场,并用新基准值更新当前基准值。
所述电容传感器,用于根据检测到的外部环境输出电容值。
具体的,上述主控芯片包括控制模块、检测模块、判断模块和设置模块;
所述控制模块,用于当设置模块确定卡检测结果为寻卡时打开非接场,以及当判断模块判断寻卡失败时,关闭非接场并根据检测模块检测并保存的新基准值更新当前基准值;还可以用于校准电容传感器;
所述检测模块,用于检测电容传感器输出的电容值,以及根据检测的电容值保存一个新基准值;
所述判断模块,用于判断寻卡操作是否成功;
所述设置模块,用于将预先设定的基准值设置为当前基准值,用于根据检测模块检测的电容值、当前基准值和阈值确定卡检测结果。
由上可知,本实施例提供的装置通过检测外部电容值来判断卡片是否在场,当卡片在场时打开通信场进行寻卡操作,若寻卡成功则确定场内存在可以进行通信的卡片,与卡片进行通信,待通信结束后关闭通信场,相比现有的读卡装置始终打开通信场进行寻卡操作,本发明提供的装置可以有效降低设备功耗。
实施例2
本发明实施例2提供了一种卡在场检测方法,本实施例提供的方法是基于实施例1提供的装置实现的,如图1所示,该方法包括:
步骤1:主控芯片将预先设定的基准值作为当前基准值;
进一步的,本步骤还可以包括主控芯片关闭非接场,校准电容传感器。
步骤2:主控芯片检测所述电容传感器输出的电容值,根据检测的电容值保存一个新基准值;
步骤3:主控芯片根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果是无卡则返回执行步骤2,若卡检测结果是寻卡则执行步骤4,若卡检测结果是更新基准则用新基准值更新当前基准值后返回执行步骤2,若卡检测结果是移卡则结束;
步骤4:主控芯片打开非接场,进行寻卡操作;
具体的,主控芯片通过向卡片发送指令进行寻卡操作。
步骤5:主控芯片判断寻卡是否成功,是则执行步骤6,否则关闭非接场,用新基准值更新当前基准值后返回执行步骤2;
具体的,通过判断卡片是否返回卡片应答(ATS)来判断寻卡是否成功,若收到卡片返回的ATS则表示寻卡成功,否则表示寻卡失败。
步骤6:主控芯片标识当前卡状态为有卡。
本实施例提供的卡在场检测方法,在步骤1即一开始是关闭非接场的,仅在检测到外部环境电容值的变化量超过阈值时,才打开非接场进行寻卡操作,相比现有技术中的读卡器一直处于开场状态且通过不断寻卡的方式来检测卡片是否存在,本发明可以有效降低装置的整体功耗和提高装置的响应速度。
实施例3
本发明的实施例3提供了一种卡在场检测装置,如图3所示,该装置包括主控芯片1和非接触芯片2。
其中,所述主控芯片1包括控制模块101、检测模块102、判断模块103、设置模块104和收发模块105。
所述控制模块101,用于控制非接触芯片2打开或关闭非接场,具体的,当设置模块104确定卡检测结果为寻卡时,通过将非接触芯片2上的第一寄存器201的值写为第二预设值打开非接场,当判断模块103判断寻卡失败时,通过将非接触芯片2上的第一寄存器201的值写为第一预设值关闭非接场;用于给电容传感器204设置增益值并校准电容传感器204,具体的通过将非接触芯片2上的第二寄存器202的值写为第四预设值给电容传感器204设置一个固定增益值;用于使能非接触芯片2的唤醒功能,具体的通过将非接触芯片2上的第三寄存器203的值写为第三预设值使能非接触芯片2的唤醒功能;用于控制收发模块105向卡片发送指令;用于当判断模块103判断未收到卡片应答时用检测模块102保存的新基准值更新当前基准值;用于当判断模块103判断寻卡成功时标识当前卡状态为有卡;
所述检测模块102,用于检测非接触芯片2上的电容传感器204输出的电容值,以及根据检测的电容值保存一个新基准值;
所述判断模块103,用于判断收发模块105是否收到卡片应答;用于根据卡片应答判断寻卡是否成功;
所述设置模块104,用于根据检测模块102检测的电容值、预先设定的基准值和阈值确定卡检测结果,具体的,卡检测结果可以为无卡或寻卡或移卡或更新基准;
收发模块105,用于发送卡检测指令给卡片,以及接收卡片应答;
非接触芯片2包括第一寄存器201、第二寄存器202、第三寄存器203和电容传感器204。
所述第一寄存器201,用于存储表示非接场打开或关闭的数值;例如,要打开非接场则可以将第一寄存器201的值写为1,要关闭非接场则可以将第一寄存器201的值写为0。
所述第二寄存器202,用于存储表示要设置的电容传感器的增益值;例如,若设置电容传感器的增益值为6.5V/pF,则可以将第二寄存器202的值写为1;若设置电容传感器的增益值为2.8V/pF,则可以将第二寄存器202的值写为0。
所述第三寄存器203,用于存储表示非接触芯片2的唤醒状态的数值;例如,要设置非接触芯片2为被唤醒状态则可以将第三寄存器203的值写为64。
所述电容传感器204,用于根据检测到的外部环境输出电容值。
实施例4
本发明实施例4提供了一种卡在场检测方法,本实施例提供的方法是基于实施例3提供的装置实现的,如图3所示,该方法包括:
步骤101:主控芯片通过将非接触芯片上的第一寄存器的值写为第一预设值控制非接触芯片关闭非接场;
本实施例中优选的,所述非接触芯片采用3911芯片。本实施例中所述第一寄存器具体为AS3911_REG_OP_CONTROL,本步骤具体为,主控芯片将AS3911_REG_OP_CONTROL的值写为0,控制3911芯片关闭非接场。
步骤102:主控芯片通过将非接触芯片上的第二寄存器的值写为第四预设值给电容传感器设置增益值,并对所述电容传感器进行校准;
本实施例中所述第二寄存器具体为AS3911_REG_CAP_SENSOR_CONTROL,本步骤具体为:主控芯片通过将AS3911_REG_CAP_SENSOR_CONTROL的值写为1设置电容传感器的增益值为6.5V/pF,通过向非接触芯片发送校准传感器命令对所述电容传感器进行校准。进一步的,还可以通过将AS3911_REG_CAP_SENSOR_CONTROL的值写为0设置电容传感器的增益值为2.8V/pF,或者通过将其值写为其他值设置电容传感器的增益值为相应其他值等等。
步骤103:主控芯片通过将非接触芯片上的第三寄存器的值写为第三预设值使能非接触芯片的唤醒功能;
本实施例中所述第三寄存器具体为Error and wake-up interrupt register。所述第三预设值是一个长度为8个比特位且第7个比特位为1的数值。本步骤具体为,通过将Error and wake-up interrupt register的第7个比特位的值置位1使能非接触芯片的唤醒功能。
步骤104:主控芯片检测所述电容传感器输出的电容值,根据检测的电容值保存一个新基准值;
步骤105:主控芯片根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果为寻卡则执行步骤106,若卡检测结果为无卡则返回执行步骤104,若卡检测结果为更新基准则用新基准值更新当前基准值后返回执行步骤104,若卡检测结果为移卡则结束;
具体的,对于更新基准的情况举例说明如下:
当放入金属物品在装置附近,会引起外部电容变化,则会检测到电容变大,并且用该电容值减去基准值得到的差值会超过阈值,此时卡检测结果判定为为寻卡,执行寻卡失败后会去更新基准值,然后返回重新检测。
当移走金属物品,同样会引起外部电容变化,则会检测到电容变小,并且用基准值减去该电容值得到的差值会超过阈值,此时卡检测结果判定为更新基准,此时会更新基准值,然后返回重新检测。
当金属物品移走,放入卡片,同样外部电容也会变化,则会检测到电容值的变化对应的卡检测结果为寻卡,然后执行寻卡操作。
优选的,本步骤还可以替换为步骤105':主控芯片根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果为寻卡则执行步骤106,若卡检测结果为无卡则返回执行步骤104,若卡检测结果为更新基准则用新基准值更新当前基准值后返回执行步骤104。
步骤106:主控芯片通过将非接触芯片上的第一寄存器的值写为第二预设值控制非接触芯片打开非接场;
本实施例中优选的,所述非接触芯片采用3911芯片。本实施例中所述第一寄存器具体为AS3911_REG_OP_CONTROL,本步骤具体为,主控芯片将AS3911_REG_OP_CONTROL的值写为1,控制3911芯片打开非接场。
步骤107:主控芯片发送卡检测指令,并判断是否收到卡片应答,是则执行步骤108,否则用新基准值更新当前基准值后返回执行步骤104;
步骤108:主控芯片根据卡片应答判断寻卡是否成功,是则执行步骤109,否则执行步骤110;
步骤109:主控芯片标识当前卡状态为有卡,结束。
步骤110:主控芯片通过将非接触芯片上的第一寄存器的值写为第一预设值控制非接触芯片关闭非接场,返回执行步骤104。
本实施例中优选的,所述非接触芯片采用3911芯片。本实施例中所述第一寄存器具体为AS3911_REG_OP_CONTROL,本步骤具体为,主控芯片将AS3911_REG_OP_CONTROL的值写为0,控制3911芯片关闭非接场。
本实施例提供的卡在场检测方法,仅在步骤105判断卡检测结果为寻卡时才打开非接场执行寻卡操作,其他时候非接场均为关闭状态,具体的本实施例通过对外部环境电容进行测量,当检测到外部电容值的变化量超过阈值时,才打开非接场进行寻卡操作,相比现有技术中读卡器一直打开非接场且通过不断寻卡的方式来检测卡片是否存在,本发明可以有效降低装置的整体功耗和提高装置的响应速度。
进一步的,本实施例中上述步骤104和步骤105'的具体实现可以为:
步骤a1:检测电容传感器的输出并获取一个电容值,将检测获取的电容值保存为新基准值,将检测获取的电容值与当前基准值比较,若大于当前基准值则执行步骤a2,若小于当前基准值则执行步骤a2',若等于当前基准值则确定卡检测结果为无卡;
步骤a2:判断用所述电容值减去当前基准值得到的差值是否大于阈值,是则确定卡检测结果为寻卡,否则确定卡检测结果为无卡;
步骤a2':判断用当前基准值减去所述电容值得到的差值是否大于阈值,是则确定卡检测结果为更新基准,否则确定卡检测结果为无卡。
或者,上述步骤104和步骤105'的具体实现还可以为:
步骤b1:检测电容传感器的输出,根据采样个数采样获取多个电容值数据,对获取的多个电容值数据计算获得一个平均值,将所述平均值保存为新基准值,将所述平均值与当前基准值比较,若大于当前基准值则执行步骤b2,若小于当前基准值则执行步骤b2',若等于当前基准值则确定卡检测结果为无卡;
步骤b2:判断用所述平均值减去当前基准值得到的差值是否大于阈值,是则确定卡检测结果为寻卡,否则确定卡检测结果为无卡;
步骤b2':判断用当前基准值减去所述平均值得到的差值是否大于阈值,是则确定卡检测结果为更新基准,否则确定卡检测结果为无卡。
优选的,预先设定的当前基准值为100,阈值为10。
本实施例中上述步骤104和步骤105的具体实现可以如图4所示,包括以下步骤:
步骤200:清空预设数组;
步骤201:采样获取10个电容值数据;
本实施例中优选采样值为10,采样时间间隔为1ms。在实验中还可以选取其他采样值和采样时间间隔。
例如:采样获取的10个电容值数据为:32、35、37、40、37、33、35、32、29、34。
步骤202:对10个电容值数据计算获得一个平均值;
本步骤具体为,将10个电容值数据进行排序,去掉最大值和最小值,对剩余数据求平均得到一个平均值。
例如:对上述10个电容值数据去掉最大值40和最小值29,对剩余8个数据32、32、33、34、35、35、37、37求平均得到的平均值为34。
步骤203:将计算得到的平均值存入预设数组;
步骤204:判断预设数组中的平均值的个数是否达到10个,是则执行步骤205,否则返回执行步骤201;
本实施例中优选设置预设数组的最大长度为10,即本实施例通过采样100个电容值得到一个存储有10个平均值的预设数组。在实际实验中还可以设置预设数组的最大长度为其他值。
步骤205:将存入预设数组的最后一个平均值记录为新基准值;
例如,将34记录为新基准值。
步骤206:将预设数组中的各个平均值分别与当前基准值比较,若各个平均值均大于当前基准值则执行步骤207,若各个平均值均小于当前基准值则执行步骤209,否则确定卡检测结果为无卡。
本实施中具体的,所述当前基准值为预先设定的基准值,例如预先设定的基准值为100。
步骤207:用各个平均值减去当前基准值,比较得到的各个差值与阈值的大小,若各个差值均小于阈值则确定卡检测结果为无卡,若各个差值均大于阈值则确定卡检测结果为寻卡,否则执行步骤208;
本实施例中具体的,所述阈值为预先设定的阈值,例如预先设定的阈值为10。
例如,预设数组中存储的10个平均值均为134,基准值为100,阈值为10,平均值134与基准值100之差34大于阈值10,则本步骤将确定卡检测结果为寻卡。
步骤208:判断各个差值是否依次减小且最大差值大于阈值、最小差值小于阈值,是则确定卡检测结果为移卡,否则确定卡检测结果为无卡。
步骤209:用当前基准值分别减去各个平均值,判断得到的各个差值与阈值的大小,若各个差值均大于阈值则确定卡检测结果为更新基准,否则确定卡检测结果为无卡。
进一步的,步骤200所述清空预设数组还可以在确定出卡检测结果后再执行。
实施例5
本实施例提供了一种实施例2或实施例4提供的卡在场检测方法在读卡器与卡片交互中的具体应用流程,所述读卡器的组成部分包含有实施例1或实施例3所述的卡在场检测装置,即主控芯片和电容传感器为读卡器的组成部分,读卡器与卡片的交互过程具体是通过读卡器的主控芯片来实现的,本实施例提供流程的操作主体是读卡器,也可以用所述主控芯片为主语来描述,本实施例提供的流程如图5所示,包括以下内容:
步骤301:读卡器上电初始化;
具体的,所述初始化包括初始化当前卡状态为无卡,将预先设定的基准值设置为当前基准值;还可以包括打开非接场。
步骤302:读卡器判断当前卡状态是否为有卡,是则执行步骤310,否则执行步骤303;
步骤303:读卡器关闭非接场,给电容传感器设置增益值并校准电容传感器;
步骤304:读卡器检测所述电容传感器输出的电容值,根据检测的电容值保存一个新基准值;
步骤305:读卡器根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果为寻卡则执行步骤306,若卡检测结果为无卡则返回执行步骤304,若卡检测结果为移卡则复位移卡标志,返回执行步骤302,若卡检测结果为更新基准则用新基准值更新当前基准值后返回执行步骤304;
步骤306:读卡器判断移卡标志是否置位,是则返回执行步骤304,否则执行步骤307;
步骤307:读卡器打开非接场,执行寻卡操作;
步骤308:读卡器判断寻卡是否成功,是则执行步骤309,否则关闭非接场,用新基准值更新当前基准值后返回执行步骤304;
步骤309:读卡器标识当前卡状态为有卡,并向上位机返回当前卡状态,然后返回执行步骤302;
步骤310:读卡器等待接收上位机发送的指令,当接收到指令时执行步骤311;
步骤311:读卡器解析接收到的指令,若是标准APDU指令,则执行步骤312,若是扩展指令则执行步骤314;
步骤312:读卡器将接收到的指令发送给卡片,并接收卡片返回的指令响应;
步骤313:读卡器将卡片返回的指令响应返回给上位机,然后返回执行步骤310;
步骤314:读卡器关闭非接场,置位移卡标志,返回执行步骤304。
实施例6
本实施例提供了一种实施例2或实施例4提供的卡在场检测方法在读卡器与卡片交互中的具体应用流程,所述读卡器的组成部分包含有实施例1或实施例3所述的卡在场检测装置,即主控芯片和电容传感器为读卡器的组成部分,读卡器与卡片的交互过程具体是通过读卡器的主控芯片来实现的,本实施例提供流程的操作主体是读卡器,也可以用所述主控芯片为主语来描述,如图6所示,包括以下内容:
步骤401:读卡器上电初始化,打开定时器中断;
具体的,所述初始化包括初始化当前卡状态为无卡,将预先设定的基准值设置为当前基准值;还可以包括打开非接场。
步骤402:读卡器判断当前卡状态是否为有卡,是则执行步骤410,否则执行步骤403;
步骤403:关闭非接场;
步骤404:清除卡检测标识;
步骤405:判断卡检测标识,若为寻卡则执行步骤406,若为无卡则返回执行步骤404,若为移卡则复位移卡标志,返回步骤402,若为更新基准则用新基准值更新当前基准值后返回执行步骤404;
本实施例中具体的,当所述定时器中断被触发时,如图7所示,进入定时器中断,执行以下步骤:
步骤4-1:读卡器给电容传感器设置增益值并校准电容传感器;
步骤4-2:读卡器检测所述电容传感器输出的电容值,并根据检测结果保存一个新基准值;
步骤4-3:读卡器判断检测的电容值、预先设定的基准值和阈值所满足的预设条件,若满足第一预设条件则设置卡检测标识为无卡,若满足第二预设条件则设置卡检测标识为寻卡,若满足第三预设条件则设置卡检测标识为移卡,若满足第四预设条件则设置卡检测标识为更新基准;退出定时器中断。
本实施例中具体的,采用采样求平均的方法来判断检测的电容值与预先设定的基准值和阈值之间所满足的预设条件。
例如,通过采样求平均值的方法获得多个电容值的平均值,第一预设条件具体为各个平均值均大于预先设定的基准值且各个平均值与预先设定的基准值的差值均小于阈值,第二预设条件具体为各个平均值均小于预先设定的基准值且各个平均值与预先设定的基准值的差值均大于阈值,第三预设条件具体为各个平均值均大于预先设定的基准值且各个平均值均大于预先设定的基准值且各个平均值与预先设定的基准值的差值依次减小且最大差值大于阈值、最小差值小于阈值,第四预设条件具体为各个平均值均小于预先设定的基准值且预先设定的基准值与各个平均值的差值均大于阈值。
步骤406:判断移卡标志是否置位,是则返回执行步骤404,否则执行步骤407;
步骤407:打开非接场,执行寻卡操作;
步骤408:判断寻卡是否成功,是则执行步骤409,否则关闭非接场,用新基准值更新当前基准值后返回执行步骤404;
步骤409:读卡器标识当前卡状态为有卡,并向上位机返回当前卡状态,然后返回执行步骤402;
步骤410:关闭定时器中断;
步骤411:等待接收上位机发送的指令,当接收到指令时执行步骤412;
步骤412:解析接收到的指令,若是标准APDU指令,则执行步骤413,若是扩展指令则执行步骤415;
步骤413:将接收到的指令发送给卡片,并接收卡片返回的指令响应;
步骤414:读卡器将卡片返回的指令响应返回给上位机,然后返回执行步骤411;
步骤415:关闭非接场,置位移卡标志,打开定时器中断,返回执行步骤404。
实施例7
本实施例提供了一种实施例2或实施例4提供的卡在场检测方法在读卡器与卡片交互中的具体应用流程,所述读卡器的组成部分包含有实施例1或实施例3所述的卡在场检测装置,即主控芯片和电容传感器为读卡器的组成部分,读卡器与卡片的交互过程具体是通过读卡器的主控芯片来实现的,本实施例提供流程的操作主体是读卡器,也可以用所述主控芯片为主语来描述,如图8所示,包括以下内容:
步骤501:读卡器上电初始化;
具体的,所述初始化包括初始化当前卡状态为无卡,将预先设定的基准值设置为当前基准值;还可以包括打开非接场。
步骤502:读卡器等待接收上位机发送的指令,当接收到指令时执行步骤503;
步骤503:读卡器解析接收到的指令,若是扩展指令则执行步骤504,若是寻卡指令则执行步骤505,若是标准APDU指令则执行步骤514;
步骤504:读卡器关闭非接场,置位移卡标志,然后执行步骤506;
步骤505:读卡器关闭非接场,给电容传感器设置增益值并校准电容传感器;
步骤506:读卡器检测所述电容传感器输出的电容值,根据检测的电容值保存一个新基准值;
步骤507:读卡器根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果为寻卡则执行步骤510,若卡检测结果为无卡则执行步骤508,若卡检测结果为移卡则执行步骤509,若卡检测结果为更新基准则用新基准值更新当前基准值后返回执行步骤506;
步骤508:读卡器向上位机返回包含无卡信息的指令响应,然后返回步骤502;
步骤509:读卡器复位移卡标志,向上位机返回包含卡被移走信息的指令响应,然后返回步骤502;
步骤510:读卡器判断移卡标志是否置位,是则返回执行步骤506,否则执行步骤511;
步骤511:读卡器打开非接场,执行寻卡操作;
步骤512:读卡器判断寻卡是否成功,是则执行步骤513,否则关闭非接场,用新基准值更新当前基准值后返回执行步骤506;
步骤513:读卡器标识当前卡状态为有卡,向上位机返回包含有卡信息的指令响应,然后返回步骤502。
步骤514:读卡器判断当前卡状态是否为有卡,是则执行步骤515,否则执行步骤517;
步骤515:读卡器将接收到的指令发送给卡片,并接收卡片返回的指令响应;
步骤516:读卡器将卡片返回的指令响应返回给上位机,然后返回步骤502;
步骤517:读卡器向上位机返回包含无卡信息的指令响应,然后返回步骤502。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (11)
1.一种读卡器的工作方法,其特征是包括:
步骤A1:读卡器上电,初始化当前卡状态为无卡,将预先设定的基准值设置为当前基准值;
步骤A2:读卡器判断当前卡状态是否为有卡,是则执行步骤A10,否则执行步骤A3;
步骤A3:读卡器关闭非接场,给电容传感器设置增益值并校准电容传感器;
步骤A4:读卡器检测所述电容传感器输出的电容值,根据检测的电容值保存一个新基准值;
步骤A5:读卡器根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果为寻卡则执行步骤A6,若卡检测结果为无卡则返回执行步骤A4,若卡检测结果为移卡则复位移卡标志,返回执行步骤A2,若卡检测结果为更新基准则用所述新基准值更新当前基准值后返回执行步骤A4;
步骤A6:读卡器判断移卡标志是否置位,是则返回执行步骤A4,否则执行步骤A7;
步骤A7:读卡器打开非接场,执行寻卡操作;
步骤A8:读卡器判断寻卡是否成功,是则执行步骤A9,否则关闭非接场,用所述新基准值更新当前基准值后返回执行步骤A4;
步骤A9:读卡器标识当前卡状态为有卡,并向上位机返回当前卡状态,然后返回执行步骤A2;
步骤A10:读卡器等待接收上位机发送的指令,当接收到指令时执行步骤A11;
步骤A11:读卡器解析接收到的指令,若是标准APDU指令,则执行步骤A12,若是扩展指令则执行步骤A14;
步骤A12:读卡器将接收到的指令发送给卡片,并接收卡片返回的指令响应;
步骤A13:读卡器将卡片返回的指令响应返回给上位机,然后返回执行步骤A10;
步骤A14:读卡器关闭非接场,置位移卡标志,返回执行步骤A4。
2.一种读卡器的工作方法,其特征是包括:
步骤B1:读卡器上电,初始化当前卡状态为无卡,将预先设定的基准值设置为当前基准值,打开定时器中断;
步骤B2:读卡器判断当前卡状态是否为有卡,是则执行步骤B10,否则执行步骤B3;
步骤B3:读卡器关闭非接场;
步骤B4:读卡器清除卡检测标识;
当所述定时器中断被触发时,进入定时器中断,执行步骤4-1至步骤4-3:
步骤4-1:读卡器给电容传感器设置增益值并校准电容传感器;
步骤4-2:读卡器检测所述电容传感器输出的电容值,并根据检测结果保存一个新基准值;
步骤4-3:读卡器判断检测的电容值、预先设定的基准值和阈值所满足的预设条件,若满足第一预设条件则设置卡检测标识为无卡,若满足第二预设条件则设置卡检测标识为寻卡,若满足第三预设条件则设置卡检测标识为移卡,若满足第四预设条件则设置卡检测标识为更新基准;退出定时器中断;
步骤B5:读卡器判断卡检测标识,若为寻卡则执行步骤B6,若为无卡则返回执行步骤B4,若为移卡则复位移卡标志,返回执行步骤B2,若为更新基准则用新基准值更新当前基准值后返回执行步骤B4;
步骤B6:读卡器判断移卡标志是否置位,是则返回执行步骤B4,否则执行步骤B7;
步骤B7:读卡器打开非接场,执行寻卡操作;
步骤B8:读卡器判断寻卡是否成功,是则执行步骤B9,否则关闭非接场,用新基准值更新当前基准值后返回执行步骤B4;
步骤B9:读卡器标识当前卡状态为有卡,并向上位机返回当前卡状态,然后返回执行步骤B2;
步骤B10:读卡器关闭定时器中断;
步骤B11:读卡器等待接收上位机发送的指令,当接收到指令时执行步骤B12;
步骤B12:读卡器解析接收到的指令,若是标准APDU指令,则执行步骤B13,若是扩展指令则执行步骤B15;
步骤B13:读卡器将接收到的指令发送给卡片,并接收卡片返回的指令响应;
步骤B14:读卡器将卡片返回的指令响应返回给上位机,然后返回执行步骤B11;
步骤B15:读卡器关闭非接场,置位移卡标志,打开定时器中断,返回执行步骤B4。
3.一种读卡器的工作方法,其特征是包括:
步骤C1:读卡器上电,初始化当前卡状态为无卡,将预先设定的基准值设置为当前基准值;
步骤C2:读卡器等待接收上位机发送的指令,当接收到指令时执行步骤C3;
步骤C3:读卡器解析接收到的指令,若是扩展指令则执行步骤C4,若是寻卡指令则执行步骤C5,若是标准APDU指令则执行步骤C14;
步骤C4:读卡器关闭非接场,置位移卡标志,然后执行步骤C6;
步骤C5:读卡器关闭非接场,给电容传感器设置增益值并校准电容传感器,然后执行步骤C6;
步骤C6:读卡器检测所述电容传感器输出的电容值,根据检测的电容值保存一个新基准值;
步骤C7:读卡器根据检测的电容值、当前基准值和阈值确定卡检测结果,若卡检测结果为寻卡则执行步骤C10,若卡检测结果为无卡则执行步骤C8,若卡检测结果为移卡则执行步骤C9,若卡检测结果为更新基准则用新基准值更新当前基准值后返回执行步骤C6;
步骤C8:读卡器向上位机返回包含无卡信息的指令响应,然后返回步骤C2;
步骤C9:读卡器复位移卡标志,向上位机返回包含卡被移走信息的指令响应,然后返回步骤C2;
步骤C10:读卡器判断移卡标志是否置位,是则返回执行步骤C6,否则执行步骤C11;
步骤C11:读卡器打开非接场,执行寻卡操作;
步骤C12:读卡器判断寻卡是否成功,是则执行步骤C13,否则关闭非接场,用新基准值更新当前基准值后返回执行步骤C6;
步骤C13:读卡器标识当前卡状态为有卡,向上位机返回包含有卡信息的指令响应,然后返回步骤C2;
步骤C14:读卡器判断当前卡状态是否为有卡,是则执行步骤C15,否则执行步骤C16;
步骤C15:读卡器将接收到的指令发送给卡片,并接收卡片返回的指令响应,将卡片返回的指令响应返回给上位机,然后返回步骤C2;
步骤C16:读卡器向上位机返回包含无卡信息的指令响应,然后返回步骤C2。
4.一种应用于权利要求1或2或3所述读卡器的卡在场检测装置,其特征是:包括主控芯片和电容传感器,
所述主控芯片包括控制模块、检测模块、判断模块和设置模块;
所述控制模块,用于当设置模块确定卡检测结果为寻卡时打开非接场,以及当判断模块判断寻卡失败时,关闭非接场并根据检测模块检测的电容值更新当前基准值;
所述检测模块,用于检测电容传感器输出的电容值;
所述判断模块,用于判断寻卡操作是否成功;
所述设置模块,用于将预先设定的基准值设置为当前基准值,用于根据检测模块检测的电容值、当前基准值和阈值确定卡检测结果;
所述电容传感器,用于根据检测到的外部环境输出电容值;
所述主控芯片还包括收发模块,所述收发模块用于发送卡检测指令给卡片,以及接收卡片应答;
所述判断模块,还用于判断所述收发模块是否收到卡片应答;
所述控制模块,还用于控制收发模块向卡片发送卡检测指令,用于当判断模块判断未收到卡片应答时,根据检测模块检测的电容值更新当前基准值。
5.根据权利要求4所述的装置,其特征是:还包括非接触芯片,所述非接触芯片包括第一寄存器;所述控制模块具体用于当设置模块确定卡检测结果为寻卡时,将非接触芯片上的第一寄存器的值写为第二预设值,用于当判断模块判断寻卡失败时,将非接触芯片上的第一寄存器的值写为第一预设值。
6.根据权利要求4所述的装置,其特征是:还包括非接触芯片,所述非接触芯片包括第二寄存器;所述控制模块还用于校准电容传感器,具体用于将非接触芯片上的第二寄存器的值写为第四预设值,并向非接触芯片发送校准传感器命令。
7.根据权利要求4所述的装置,其特征是:还包括非接触芯片,所述非接触芯片包括第三寄存器;所述控制模块还用于将非接触芯片上的第三寄存器的值写为第三预设值使能非接触芯片的唤醒功能。
8.根据权利要求4所述的装置,其特征是:
所述检测模块,具体用于检测电容传感器的输出并获取一个电容值,将检测获取的电容值作为新基准值;
所述判断模块,还用于将所述检测模块检测获取的电容值与当前基准值比较,若大于当前基准值则判断用所述电容值减去当前基准值得到的差值是否大于阈值;若小于当前基准值则判断用当前基准值减去所述电容值得到的差值是否大于阈值;
所述设置模块,具体用于当所述判断模块判断用所述电容值减去当前基准值得到的差值大于阈值时确定卡检测结果为寻卡,当所述判断模块判断用所述电容值减去当前基准值得到的差值不大于阈值时确定卡检测结果为无卡;用于当所述判断模块判断用当前基准值减去所述电容值得到的差值大于阈值时确定卡检测结果为更新基准,当所述判断模块判断用当前基准值减去所述电容值得到的差值不大于阈值时确定卡检测结果为无卡;用于当所述判断模块判断检测获取的电容值等于当前基准值时确定卡检测结果为无卡;
所述控制模块,还用于当设置模块确定卡检测结果是更新基准时用所述新基准值更新当前基准值。
9.根据权利要求4所述的装置,其特征是:
所述检测模块,具体用于检测电容传感器的输出,根据采样个数采样获取多个电容值数据,对获取的多个电容值数据计算获得一个平均值,将所述平均值作为新基准值;
所述判断模块,还用于将所述平均值与当前基准值比较,若大于当前基准值则判断用所述平均值减去当前基准值得到的差值是否大于阈值,若小于当前基准值则判断用当前基准值减去所述平均值得到的差值是否大于阈值;
所述设置模块,具体用于当所述判断模块判断用所述平均值减去当前基准值得到的差值大于阈值时确定卡检测结果为寻卡,当所述判断模块判断用所述平均值减去当前基准值得到的差值不大于阈值时确定卡检测结果为无卡;用于当所述判断模块判断用当前基准值减去所述平均值得到的差值大于阈值时确定卡检测结果为更新基准,当所述判断模块判断用当前基准值减去所述平均值得到的差值不大于阈值时确定卡检测结果为无卡;用于当所述判断模块判断所述平均值等于当前基准值时确定卡检测结果为无卡;
所述控制模块,还用于当设置模块确定卡检测结果是更新基准时用所述新基准值更新当前基准值。
10.根据权利要求4所述的装置,其特征是:
所述检测模块,具体用于检测电容传感器的输出,根据采样个数采样获取多个电容值数据,对获取的多个电容值数据计算获得一个平均值,将计算得到的平均值存入预设数组;用于当判断模块判断预设数组中的平均值的个数达到预先设定的个数时,将预设数组中最后一个存入的平均值作为新基准值;
所述判断模块,还用于判断预设数组中的平均值的个数是否达到预先设定的个数,用于将预设数组中的各个平均值分别与当前基准值比较,若各个平均值均大于当前基准值则用各个平均值减去基准值并判断得到的各个差值与阈值的大小,若各个平均值均小于基准值则用基准值分别减去各个平均值并判断得到的各个差值与阈值的大小;用于判断用各个平均值减去基准值得到的各个差值是否依次减小且最大差值大于阈值、最小差值小于阈值;
所述设置模块,具体用于当所述判断模块判断用各个平均值减去基准值得到的各个差值均小于阈值时确定卡检测结果为无卡,当所述判断模块判断用各个平均值减去基准值得到的各个差值均大于阈值时确定卡检测结果为寻卡,当所述判断模块判断用各个平均值减去基准值得到的各个差值依次减小且最大差值大于阈值、最小差值小于阈值时确定卡检测结果为移卡;用于当判断模块判断用基准值分别减去各个平均值得到的各个差值均大于阈值时确定卡检测结果为更新基准,否则确定卡检测结果为无卡;
所述控制模块,还用于当设置模块确定卡检测结果是更新基准时用所述新基准值更新当前基准值。
11.根据权利要求4所述的装置,其特征是:所述控制模块还用于在所述判断模块判断寻卡操作成功时标识当前卡状态为有卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510088848.9A CN104636696B (zh) | 2015-02-27 | 2015-02-27 | 卡在场检测装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510088848.9A CN104636696B (zh) | 2015-02-27 | 2015-02-27 | 卡在场检测装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636696A CN104636696A (zh) | 2015-05-20 |
CN104636696B true CN104636696B (zh) | 2018-04-27 |
Family
ID=53215429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510088848.9A Active CN104636696B (zh) | 2015-02-27 | 2015-02-27 | 卡在场检测装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636696B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095812B (zh) * | 2015-08-28 | 2017-11-28 | 飞天诚信科技股份有限公司 | 一种自适应谐振频率的方法和装置 |
CN105654003B (zh) * | 2015-12-29 | 2018-09-04 | 福建联迪商用设备有限公司 | 一种ic卡到位检测方法及装置 |
CN105868673A (zh) * | 2016-06-24 | 2016-08-17 | 成都理工大学 | 一种低功耗射频读卡电路 |
CN106446739B (zh) * | 2016-09-22 | 2019-03-05 | 飞天诚信科技股份有限公司 | 一种自适应调整增益的方法及装置 |
CN115424372B (zh) * | 2022-09-21 | 2023-10-20 | 广东汇泰龙科技股份有限公司 | 智能锁电路、解锁方法、装置和智能锁 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393045B1 (en) * | 1997-09-26 | 2002-05-21 | Wherenet Corp. | Spread spectrum baseband modulation of magnetic fields for communications and proximity sensing |
CN102034064A (zh) * | 2009-09-28 | 2011-04-27 | 东信和平智能卡股份有限公司 | 应用电容感应控制射频sim卡通讯距离的方法和装置 |
CN103150532A (zh) * | 2013-03-28 | 2013-06-12 | 东信和平科技股份有限公司 | 一种双界面读卡器的电容感应方法及装置 |
-
2015
- 2015-02-27 CN CN201510088848.9A patent/CN104636696B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393045B1 (en) * | 1997-09-26 | 2002-05-21 | Wherenet Corp. | Spread spectrum baseband modulation of magnetic fields for communications and proximity sensing |
CN102034064A (zh) * | 2009-09-28 | 2011-04-27 | 东信和平智能卡股份有限公司 | 应用电容感应控制射频sim卡通讯距离的方法和装置 |
CN103150532A (zh) * | 2013-03-28 | 2013-06-12 | 东信和平科技股份有限公司 | 一种双界面读卡器的电容感应方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104636696A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636696B (zh) | 卡在场检测装置及方法 | |
CN105758452B (zh) | 一种可穿戴设备的佩戴状态检测方法和装置 | |
CN105260105B (zh) | 基于指纹传感器的显示屏唤醒方法、装置及移动终端 | |
CN104869235B (zh) | 一种防止误开机的方法、装置、系统和一种移动终端 | |
CN104142728B (zh) | 电子装置 | |
CN102662558B (zh) | 文字选中方法与装置及电子设备 | |
CN107783644A (zh) | 穿戴设备及其控制方法 | |
CN107291313A (zh) | 一种指纹唤醒的控制方法、装置、存储介质及移动终端 | |
CN107147809A (zh) | 一种移动终端便捷通话方法及系统 | |
CN110532988A (zh) | 行为监控方法、装置、计算机设备和可读存储介质 | |
CN106792308A (zh) | 耳机的控制方法和耳机 | |
CN107622191A (zh) | 解锁控制方法及相关产品 | |
CN109683742A (zh) | 防止触控设备被误触控方法及装置、触控设备及存储介质 | |
CN105892874A (zh) | 生成文件夹的方法、装置及终端设备 | |
CN106095290A (zh) | 传感器调用函数的关闭方法及装置 | |
CN106020908B (zh) | 一种函数关闭方法及装置 | |
CN107562602A (zh) | 日志信息上报方法、装置及存储介质、adsp和终端 | |
CN105260133B (zh) | 一种移动终端emmc的数据写入方法及系统 | |
CN107357387A (zh) | 一种控制方法及电子设备 | |
CN107040955A (zh) | 终端的耗电状态识别方法、装置及电子设备 | |
CN107477970A (zh) | 冰箱的开门控制方法及采用该方法的冰箱 | |
CN109215656A (zh) | 语音遥控装置装置及方法、存储介质、电子装置 | |
CN108235760A (zh) | 智能终端的功耗稳定方法、其装置及电子设备 | |
CN109936761A (zh) | Vr一体机和外接终端的同步方法、系统及vr一体机 | |
CN105843363B (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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |