一种非接触卡与终端之间的数据交换通信方法与流程

文档序号:14391890阅读:470来源:国知局
一种非接触卡与终端之间的数据交换通信方法与流程

本发明涉及电子通信领域,尤其涉及一种非接触卡与终端之间的数据交换通信方法。



背景技术:

日常生活中,具有非接功能的智能卡、金融卡越来越常见,应用的范围也越来越广泛。现有终端与非接触卡之间的通讯复杂且冗余,故,如何简化终端与非接触卡之间的通讯,如何避免终端与非接触卡之间的通讯复杂且难以维护的问题是领域内容需要攻克的难题。



技术实现要素:

本发明的目的在于提供一种非接触卡与终端之间的数据交换通信方法,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明所述非接触卡与终端之间的数据交换通信方法,终端与非接触卡的交换数据基于状态机实现,所述方法具体为:变量初始化,状态机置位为i-block;判断状态机所处的状态,然后在该状态下完成数据交换;在变量初始化过程中,增加第一个变量记为标志位,所述标志位为nad或cid,增加第二个变量用于记录待发送的数据总长度。

优选地,当状态机处于i-block状态时,将要交互的数据组包,数据组包后状态机置位为trarcv,更具体为:

a11,判断接收到的数据块是否为链块;如果是,则将初始带链传i块的pcb编码放入数据块的开始字段中,进入a12;如果否,则将初始不带链传i块的pcb编码放入数据块的开始字段中,进入a13;

a12,判断终端是否支持cid,

如果支持cid,则将cid数据添加到数据组包的开始字段中,然后判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长减去一帧,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如果不支持cid,则直接判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长减去一帧,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

a13,判断终端是否支持cid,

如果支持cid,则将cid数据添加到数据组包的开始字段中,然后判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段,得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长置零,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如果不支持cid,则判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段,得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长置零,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

优选地,当状态机处于trarcv状态时,更新非接触卡的超时时间,将组包后的要交换数据的数据块发送给非接触卡,同时接收非接触卡返回的数据块:

当接收到的数据块存在异常时,所述异常包括奇偶校验、crc、超时、codeerr中的一种或几种,启动重新接收,若s块的重发次数或者错误重发次数大于2次,则状态机置位为rcvinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若s块的重发次数或者错误重发次数小于等于2次,则判断接收到的发生异常的数据是否为链块,如果是,则关闭最后块重发请求,将状态机置位为ack-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;如果否,则开启最后块重发请求,状态机置位为nack-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

当接收到的数据块不存在异常时,所述包括奇偶校验、crc、超时、codeerr中的一种或几种,则判断接收到的数据块类型:若数据块类型为i块,则将错误计数重置为0,则关闭最后块重发请求,将状态机置位为revi-block,结束当前数据块的数据交互,继续判断状态机所处的状态;若数据块类型为r块,将错误计数重置为0,则关闭最后块重发请求,将状态机置位为revr-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若数据块类型为s块,则判断最后块是否进行了重新传送,如果是,则发送s块重发计数增加一次,将状态机置位为revs-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;如果否,则发送s块重发计数清0,将状态机置位为revs-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若数据块类型不属于i块、r块和s块中的任意一种,则接收到的数据块为错误数据块,将状态机置位为rcvinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

优选地,当状态机在ack-block状态或nack-block状态下,将要交互的数据组包为r块,若终端支持cid,则将cid数据添加到数据组包的开始字段中,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若终端不支持cid,则将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

优选地,当状态机在s-block状态下,将要交互的数据组包为s块,信息字段的数据添加到数据组包中,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

优选地,当状态机在revi-block状态下,判断当前接收数据块的块序号是否正确,如果否,则将状态机置位为revinv-block;如果是,则判断当前接收数据块是否为链块,若不是链块,则为无事件,将状态机置位为non-event,更新数据块序列号,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若为链块,将状态机置位为ack-block,保存当前接收数据块的数据到缓存,更新数据块序列号,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

优选地,当状态机在revr-block状态下,判定接收到的数据块的数据头为nak还是ack的标志,

如是nak,则当前传送数据错误,将状态机置位为revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如是ack,则判断数据块的块序列号是否正确,

若不正确,则更新错误重传计数次数,判断重发计数是否超过限制,超过限制,则状态机置位为revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;未超过限制,则状态机置位为i-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

若正确,则判断当前i-block是否为链块,是链块则更新数据块序列号同时重传次数清为0,状态机置位为i-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;不是链传,状态机置位为revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

优选地,当状态机在revs-block状态下,判定接收到的数据块的数据头是否为s块,

如否,则将状态机置位revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如是,则判断s块的信息域是否正确,若正确,更新接收超时计数,状态机置位为s-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若不正确,则将状态机置位revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

更优选地,所述s块的信息域为s块信息字段大于0且小于等于63。

优选地,当状态机在revinv-block状态下,终端复位非接触卡并将状态机置位为non-event,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

本发明的有益效果是:

本发明克服了现有技术中的不足。采用状态机的方式进行各个环节的控制。按照预先设置的规范要求进行代码实现。实现了对i、r、s等块的数据处理和异常情况处理。

本发明所述方法易于理解维护管理,状态机控制着交互过程,根据非接触卡反馈的数据,进行调整,条理清晰,易于理解和维护。能够充分保证各个环节的异常处理和正常数据交互逻辑实现。

附图说明

图1是非接触卡与终端之间的数据交换通信方法的流程总示意图;

图2是图1的第一局部流程示意图;

图3是图1的第二局部流程示意图;

图4是图1的第三局部流程示意图

图5是在iso14443中a类非接触卡与终端之间的通信流程示意图;

图6是在iso14443中b类非接触卡与终端之间的通信流程示意图;

图7是图1中任意一个数据块的数据格式;

图8是i块的pcb编码表;

图9是r块的pcb编码表;

图10是s(wtx)块的pcb编码表。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

图1为本次专利最核心的部分。是本专利中终端跟卡数据的交换和对异常处理的实现方式。当终端要发送指令的时候,会调用该接口进行数据的交换。

图5是在iso14443中a类非接触卡与终端之间的通信流程示意图;

图6是在iso14443中b类非接触卡与终端之间的通信流程示意图。

图7所示为图1过程中的数据块的数据格式。协议控制字节pcb(protocolcontrolbyte)的数据不同,代表着不同的数据块。具体格式如图8、图9和图10所示。

关于本申请中涉及到的英文缩写的中文含义:

i-block:i块组包状态。

ack-block:包含肯定确认的r块组包状态。

nack-block;包含否定确认的r块组包状态。

s-block;管理块组包状态。

trarcv:发送和接收状态。

rcvi-block:处理接收i块状态。

rcvr-block:处理r块状态。

rcvs-block:处理s块状态。

rcvinv-block:处理无效块状态。

non-event:无效事件。

i块:数据传输块,包含数据域。

r块:应答块,分为正确接收应答和错误接收应答。

s块:一种为等待延迟请求,带一个byte数据域,另一种是deselect命令,不带数据域。

cid:卡标识符。

nad:结点地址字段。

codeerr:代码错误。

crc:循环冗余校验。

ack肯定确认,英文全称:positiveacknowledgement。

nak否定确认,英文全称:negativeacknowledgement。

edc:差错检测码,英文全称:errordetectioncode。

reqa指令:请求命令,类型a,英文全称:requestcommand,typea。

reqb指令:请求命令,类型b,英文全称:requestcommand,typeb。

wupa指令:类型apicc唤醒命令,英文全称:wake-upcommand,typea。

wupb指令:类型bpicc唤醒命令,英文全称:wake-upcommand,typeb。

atqa指令:请求应答,类型a,英文全称:answertorequest,typea。

atqb指令:请求应答,类型b,英文全称:answertorequest,typeb。

uid:唯一标识符,英文全称:uniqueidentifier,typea。

sel:选择命令,英文全称:selectcode,typea。

attrib:picc选择命令,英文全称:piccselectioncommand,typeb。

sak指令;选择确认,英文全称:selectacknowledge,typea。

rats指令:选择应答请求,英文全称:requestforanswertoselect。

ats指令:选择应答,英文全称:answertoselect。

pps过程:协议和参数选择,英文全称:protocolandparameterselection。

deselect指令:取消选择命令,英文全称:deselectcode,typea。

idle状态:空闲状态。

实施例1

参照图1,本实施例所述非接触卡与终端之间的数据交换通信方法,终端与非接触卡的交换数据基于状态机实现,所述方法具体为:

变量初始化,状态机置位为i-block;判断状态机所处的状态,然后在该状态下完成数据交换;

在变量初始化过程中,增加第一个变量记为标志位,所述标志位为nad或cid,增加第二个变量用于记录待发送的数据总长度。所述标志位记录当前的通讯模式。

(1)参照图1和图2,当状态机处于i-block模式时,将要交互的数据组包,数据组包后状态机置位trarcv,更具体为:

a11,判断接收到的数据块是否为链块;如果是,则将初始带链传i块的pcb编码放入数据块的开始字段中,进入a12;如果否,则将初始不带链传i块的pcb编码放入数据块的开始字段中,进入a13;

a12,判断终端是否支持cid,

如果支持cid,则将cid数据添加到数据组包的开始字段中,然后判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长减去一帧,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如果不支持cid,则直接判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长减去一帧,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

a13,判断终端是否支持cid,

如果支持cid,则将cid数据添加到数据组包的开始字段中,然后判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段,得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长置零,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如果不支持cid,则判断数据块中是否存在nad,若是,则将nad数据添加到数据组包的开始字段中,然后在数据组包中设置信息字段,得到数据组包;若否,则直接在数据组包中设置信息字段,得到数据组包;得到数据组包后将待发送数据总长置零,同时,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(2)参照图1和图3,当状态机处于trarcv模式时,更新非接触卡的超时时间,将组包后的要交换数据的数据块发送给非接触卡,同时接收非接触卡返回的数据块:

当接收到的数据块存在异常时,所述异常包括奇偶校验、crc、超时、codeerr中的一种或几种,启动重新接收,若s块的重发次数或者错误重发次数大于2次,则状态机置位为rcvinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若s块的重发次数或者错误重发次数小于等于2次,则判断接收到的发生异常的数据是否为链块,如果是,则关闭最后块重发请求,将状态机置位为ack-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;如果否,则开启最后块重发请求,状态机置位为nack-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

当接收到的数据块不存在异常时,所述包括奇偶校验、crc、超时、codeerr中的一种或几种,则判断接收到的数据块类型:若数据块类型为i块,则将错误计数重置为0,则关闭最后块重发请求,将状态机置位为revi-block,结束当前数据块的数据交互,继续判断状态机所处的状态;若数据块类型为r块,将错误计数重置为0,则关闭最后块重发请求,将状态机置位为revr-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若数据块类型为s块,则判断最后块是否进行了重新传送,如果是,则发送s块重发计数增加一次,将状态机置位为revs-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;如果否,则发送s块重发计数清0,将状态机置位为revs-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若数据块类型不属于i块、r块和s块中的任意一种,则接收到的数据块为错误数据块,将状态机置位为rcvinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(3)参照图1和图2,当状态机在ack-block模式下,将要交互的数据组包为r块,若终端支持cid,则将cid数据添加到数据组包的开始字段中,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若终端不支持cid,则将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(4)参照图1和图2,当状态机在nack-block模式下,将要交互的数据组包为r块,若终端支持cid,则将cid数据添加到数据组包的开始字段中,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若终端不支持cid,则将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(5)参照图1和图2,当状态机在s-block模式下,将要交互的数据组包为s块,信息字段的数据添加到数据组包中,将状态机置位为trarcv,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(6)参照图1和图4,当状态机在revi-block模式下,判断当前接收数据块的块序号是否正确,如果否,则将状态机置位为revinv-block;如果是,则判断当前接收数据块是否为链块,若不是链块,则为无事件,将状态机置位为non-event,更新数据块序列号,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若为链块,将状态机置位为ack-block,保存当前接收数据块的数据到缓存,更新数据块序列号,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(7)参照图1和图4,当状态机在revr-block模式下,判定接收到的数据块的数据头为nak还是ack的标志,

如是nak,则当前传送数据错误,将状态机置位为revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如是ack,则判断数据块的块序列号是否正确,

若不正确,则更新i块重发计数,判断重发计数是否超过限制,超过限制,则状态机置位为revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;未超过限制,则状态机置位为i-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

若正确,则判断当前i-block是否为链块,是链块则更新数据块序列号同时重传次数清为0,状态机置位为i-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;不是链传,状态机置位为revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

(8)参照图1和图4,当状态机在revs-block模式下,判定接收到的数据块的数据头是否为s块,

如否,则将状态机置位revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;

如是,则判断s块的信息域是否正确,若正确,更新接收超时计数,状态机置位为s-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态;若不正确,则将状态机置位revinv-block,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

其中,所述s块的信息域为s块信息字段大于0且小于等于63。

(9)参照图1和图4,当状态机在revinv-block模式下,终端复位非接触卡并将状态机置位为non-event,结束当前状态;判断状态机是否为无效状态,若是则结束状态机;若否,则返回判断状态机所处的状态。

在本实施例中,“待发送数据总长计数”此处的计数表达的是一个计数值。需要该计数值记录需要发送的数据。因为当传入的数据大于一个数据组包的发送能力时,需要进行分包传输。故用此量来计数仍需要发送的字节数。同时,传入的数据大于一个帧长,所以需要进行分包传输,故为带链传的操作,每个分包的数据组包中需要添加带链传标志,每个组成数据包的数据块在组成数据包前具有链传标志,即为链块。如果待发送数据使用一个组包能发完,故无需带链传标志。

当进入需要交换的数据进入交换数据状态步骤时,即图2和图3所示的交换数据部分,也就是开始一次新的数据交互时,需要将待发数据总长计数置位为传入数据的长度。更详细的解释为:当进入数据交换时,获取要传输数据的长度,所以要传输数据经过初始化后,待发送数据长度为要传数据长度。

在本实施例中,关于变量初始化过程中第二个变量的说明:假设初始化过程时待发送的数据总长度a,如果待发送的数据总长度a大于帧长不能作为一个数据组包进行发送,故将待发送的数据分成n个数据单元,将每个数据单元进行组包得到数据组包,进行发送,每个数据组包的长度=每个数据单元的长度+1个字节的pcb+2个字节的结尾字段+可选字段,所述可选字段为nad或cid;当进行分包发送的时候,则将初始化过程时待发送的数据总长度a减去一帧;一帧表示的是正确数据组包中包含的数据单元的长度。如果待发送的数据总长度a小于帧长时,不进行分包操作,则将初始化过程时待发送的数据总长度重新设置为零。

参照图5,在iso14443-4中a类非接触卡与终端之间的通信方法包括:

s11,终端自行激活电磁场,等待非接触卡靠近终端,然后以reqa指令或者wupa指令的形式向非接触卡发起交易通讯请求,非接触卡接收到reqa指令或者wupa指令后以atqa指令进行响应;

s12,当终端接收到的响应中所携带指令合理时,启动防冲突循环操作获取进行响应的非接触卡的uid,同时,终端发送sel指令到回送了uid的非接触卡,回送过uid的非接触卡正确接收sel指令后,以sak指令应答sel指令;

s13,终端根据收到的响应指令sak,判断发出响应指令sak的非接触卡是否满足预先设定的规范要求,如果是,向该非接触卡发送rats指令,非接触卡接收rats指令后向终端发送ats指令;

s14,终端根据接收到的ats指令判断是否进行pps过程,如果是,则终端与非接触卡协商得到一个通讯参数,然后进行pps过程,完成pps过程后,进入s5;如果否,则直接进入s5;

s15,终端进入交换数据阶段,完成交换数据后,发送deselect指令将非接触卡移除,当非接触卡接收deselect指令后,进入idle状态,等待下次终端发起交易通讯的请求。

步骤s5的交互数据阶段采用实施例1中所述方法。

参照图6,是在iso14443中b类非接触卡与终端之间的通信流程示意图包括:

s21,终端自行激活电磁场,等待非接触卡靠近终端,然后以reqb指令或者wupb指令的形式向非接触卡发起交易通讯请求,非接触卡接收到reqb指令或者wupb指令后以atqb指令进行响应;若执行正确则执行s22操作,若未操作成功,则返回s21,重新发送唤醒卡指令。若超出计时时间则退出流程;

s22,终端发送attrib指令,进行卡激活,卡响应操作指令正确则进入s23错误则退出操作流程;若出现错误则且重试次数小于3次,则重复s22操作,否则退出流程;

s23,终端进入交换数据阶段。操作结束后,退出该流程。

其中。交互数据阶段采用实施例1中所述方法。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:

本发明克服了现有技术中的不足。采用状态机的方式进行各个环节的控制。按照预先设置的规范要求进行代码实现。实现了对i、r、s等块的数据处理和异常情况处理。

本发明所述方法易于理解维护管理,状态机控制着交互过程,根据非接触卡反馈的数据,进行调整,条理清晰,易于理解和维护。能够充分保证各个环节的异常处理和正常数据交互逻辑实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1