读卡器的读卡方法和装置与流程

文档序号:16391055发布日期:2018-12-22 11:39阅读:648来源:国知局
读卡器的读卡方法和装置与流程

本发明涉及读卡器技术领域,尤其涉及一种读卡器的读卡方法和装置。

背景技术

读卡器是一种读卡设备,可以通过供卡片插入的插槽或者其他无线的通讯方式与卡片进行交互,同时读卡器上设有与上位机相连的端口。这种与上位机相连的端口以uart串口或usb接口这两种方式为主。由于usb不用外接电源,比uart方式有明显的优势。由于usb软硬件系统的复杂性,使得usb接口方式的稳定性比uart串口方式要低。在usb读卡器中,读卡器与上位机之间交互的信息是通过usb协议进行传输,这些都是十分重要且即时的,一旦usb出现不稳定的问题,将会导致上位机无法读取读卡器中卡片的资料。

目前解决方式为,在读卡器的外围硬件电路增加触发器。即在usb读卡器出现问题时,通过人为按动触发器来使usb读卡器下电后重新上电,实现usb设备的硬件复位。这种方式会增加读卡器外围硬件成本,也不方便使用。



技术实现要素:

本发明提供的读卡器的读卡方法和装置,其主要目的在于克服现有技术中需要在读卡器的外围硬件电路增加触发器,导致读卡器外围硬件成本增加,使用不便的问题。

为解决上述技术问题,本发明采用如下技术方案:

一种读卡器的读卡方法,包括以下步骤;

获取读卡器的上电信号,根据所述上电信号对读卡器进行初始化;

在检测到卡片插入读卡器后,将预设的检测报文通过通讯协议传输至上位机;

根据预设的时间阈值和校验参数对上位机反馈的应答报文进行验证判断,在验证判断不通过时,对读卡器进行复位处理;直到验证判断通过后,对读卡器中的卡片进行读卡操作。

作为一种可实施方式,所述根据预设的时间阈值和校验参数对上位机反馈的应答报文进行验证判断,在验证判断不通过时,对读卡器进行复位处理;直到验证判断通过后,对读卡器中的卡片进行读卡操作,包括以下步骤;

根据预设的时间阈值对上位机反馈的应答报文进行判断;

若在预设的时间阈值内读卡器接收到上位机反馈的应答报文,则对所述应答报文进行解析;根据预设的校验参数对解析结果进行验证,根据验证结果对读卡器中的卡片进行读卡操作;

若在预设的时间阈值内读卡器没有接收到上位机反馈的应答报文,则对读卡器进行复位处理。

作为一种可实施方式,所述根据验证结果对读卡器中的卡片进行读卡操作,包括以下步骤;

根据预设的校验参数对解析结果进行验证;

若验证通过,则对读卡器中的卡片进行读卡操作;

若验证不通过,则对读卡器进行复位处理。

作为一种可实施方式,本发明提供的读卡器的读卡方法还包括以下步骤;

在根据所述上电信号对读卡器进行初始化之后,对读卡器是否插入卡片进行循环检测。

作为一种可实施方式,本发明提供的读卡器的读卡方法还包括以下步骤;

在检测到卡片插入读卡器后,获取卡片中的目标数据,将所述目标数据存储至读卡器的缓存区。

相应的,本发明还提供一种读卡器的读卡装置,包括上电初始化模块、传输模块以及读卡模块;

所述上电初始化模块,用于获取读卡器的上电信号,根据所述上电信号对读卡器进行初始化;

所述传输模块,用于在检测到卡片插入读卡器后,将预设的检测报文通过通讯协议传输至上位机;

所述读卡模块,用于根据预设的时间阈值和校验参数对上位机反馈的应答报文进行验证判断,在验证判断不通过时,对读卡器进行复位处理;直到验证判断通过后,对读卡器中的卡片进行读卡操作。

作为一种可实施方式,所述读卡模块包括判断单元、解析单元以及复位单元;

所述判断单元,用于根据预设的时间阈值对上位机反馈的应答报文进行判断;

所述解析单元,用于若在预设的时间阈值内读卡器接收到上位机反馈的应答报文,则对所述应答报文进行解析;根据预设的校验参数对解析结果进行验证,根据验证结果对读卡器中的卡片进行读卡操作;

所述复位单元,用于若在预设的时间阈值内读卡器没有接收到上位机反馈的应答报文,则对读卡器进行复位处理。

作为一种可实施方式,所述解析单元包括验证子单元、读卡子单元以及复位子单元;

所述验证子单元,用于根据预设的校验参数对解析结果进行验证;

所述读卡子单元,用于若验证通过,则对读卡器中的卡片进行读卡操作;

所述复位子单元,用于若验证不通过,则对读卡器进行复位处理。

作为一种可实施方式,本发明提供的读卡器的读卡装置还包括循环检测模块;

所述循环检测模块,用于在根据所述上电信号对读卡器进行初始化之后,对读卡器是否插入卡片进行循环检测。

作为一种可实施方式,本发明提供的读卡器的读卡装置还包括缓存模块;

所述缓存模块,用于在检测到卡片插入读卡器后,获取卡片中的目标数据,将所述目标数据存储至读卡器的缓存区。

与现有技术相比,本技术方案具有以下优点:

本发明提供的读卡器的读卡方法和装置,在检测到卡片插入读卡器后,通过将预设的检测报文通过通讯协议传输至上位机;使读卡器主动验证判断其与上位机之间的通信情况,并在验证判断不通过后,对读卡器进行复位处理,即让上位机的控制器重新枚举读卡器;直到验证判断通过后,对读卡器中的卡片进行读卡操作;从而避免读卡器外围硬件成本的增加,并且在上位机无法读取读卡器中的目标数据时,能够自动复位,让上位机的控制器重新枚举读卡器,增强读卡器健壮性。

附图说明

图1为本发明实施例一提供的读卡器的读卡方法的流程示意图;

图2为本发明实施例四提供的读卡器的读卡装置的结构示意图;

图3为图2中读卡模块的结构示意图;

图4为图3中解析单元的结构示意图。

图中:100、上电初始化模块;200、传输模块;300、读卡模块;310、判断单元;320、解析单元;321、验证子单元;322、读卡子单元;323、复位子单元;330、复位单元;400、循环检测模块。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

请参阅图1,本发明实施例一提供的读卡器的读卡方法,包括以下步骤;

s100、获取读卡器的上电信号,根据上电信号对读卡器进行初始化;

s200、在检测到卡片插入读卡器后,将预设的检测报文通过通讯协议传输至上位机;

s300、根据预设的时间阈值和校验参数对上位机反馈的应答报文进行验证判断,在验证判断不通过时,对读卡器进行复位处理;直到验证判断通过后,对读卡器中的卡片进行读卡操作。

需要知道的是,本发明涉及读卡器均为以usb接口方式与上位机进行数据交互的类型。上位机包括不限于pc端、平板端、移动端以及工控机等设备。即本发明实际上是对读卡器通过usb数据线与上位机进行数据交互,上位机对读卡器的卡片进行读卡。在对读卡器上电后即得到上电信号,从而根据上电信号对读卡器进行初始化,这里的初始化包括不限于读卡器系统的初始化以及usb端口配置的初始化。

于本实施例中,通讯协议包括不限于usb通讯协议、scsi通讯协议以及ccid通讯协议等,只要预先配置之间的通讯协议就能实现。预设的检测报文包括报文头、报文长度、命令字参数、数据内容以及数据校验。而对于上位机的反馈的应答报文包括报文头、报文长度、命令字参数、数据内容以及数据校验。

具体的,检测报文中的数据内容和应答报文的数据内容是对应关系。该对应关系可以是预先设置的数据内容实现。比如,检测报文中的数据内容为“hello”,而与其对应的应答报文的数据内容为“ok”。其具体的传输反馈过程为在上位机接收到带有“hello”的检测报文后,会对检测报文进行解析,重新编码。当解析得到检测报文的数据内容为“hello”时,则重新编码得到带有“ok”的应答报文反馈给读卡器。当然如果解析得到检测报文的数据内容为其他数据时,可以直接不反馈数据或者反馈带“no”的应答报文。于其他实施例中,检测报文中的数据内容和应答报文的数据内容是对应关系的具体内容可以任意设置。

对于读卡器来说,验证判断的标准不仅需要在预设的时间阈值内获得应答报文,而且需要应答报文中的数据内容与校验参数匹配,可以简单理解为应答报文的数据内容为“ok”。当然校验参数可以是其他预设的数据。也就是说,如果没有在预设的时间阈值内得到准确的应答报文,都会对读卡器进行复位处理,即让上位机的控制器重新枚举读卡器。直到验证判断通过后,对读卡器中的卡片进行读卡操作。避免现有技术中需要人为去按复位键的操作,不仅节省用户时间,而且不需要增加读卡器外围硬件成本。

本发明提供的读卡器的读卡方法,在检测到卡片插入读卡器后,通过将预设的检测报文通过通讯协议传输至上位机;使读卡器主动验证判断其与上位机之间的通信情况,并在验证判断不通过后,对读卡器进行复位处理,即让上位机的控制器重新枚举读卡器;直到验证判断通过后,对读卡器中的卡片进行读卡操作;从而避免读卡器外围硬件成本的增加,并且在上位机无法读取读卡器中的目标数据时,能够自动复位,让上位机的控制器重新枚举读卡器,增强读卡器健壮性。

进一步的,步骤s300包括以下步骤;

s310、根据预设的时间阈值对上位机反馈的应答报文进行判断;

s320、若在预设的时间阈值内读卡器接收到上位机反馈的应答报文,则对应答报文进行解析;根据预设的校验参数对解析结果进行验证,根据验证结果对读卡器中的卡片进行读卡操作;

s320、若在预设的时间阈值内读卡器没有接收到上位机反馈的应答报文,则对读卡器进行复位处理。

时间阈值是在读卡器中预选设置的,可以是0.5s、1s、2s以及4s等。于本实施例中,时间阈值为1s,即1s内没有接收到上位机反馈的应答报文的话,直接对读卡器进行复位处理。对读卡器进行复位处理是上位机的控制器重新枚举读卡器。也可以理解为重新上电初始化再发送检测报文的整个过程,都是自动进行,简化读卡器出现故障后的操作,为用户带来便利。

进一步的,步骤s320中根据验证结果对读卡器中的卡片进行读卡操作,包括以下步骤;根据预设的校验参数对解析结果进行验证;若验证通过,则对读卡器中的卡片进行读卡操作;若验证不通过,则对读卡器进行复位处理。

验证的具体过程可以是根据预设的校验参数与解析得到的应答报文的数据内容进行比对。如果校验参数与应答报文的数据内容一致,则验证通过。如果校验参数与应答报文的数据内容不一致,则验证不通过。通过简单的比对实现,避免涉及复杂的算法,从而提高读卡器的反应速度。本发明在不增加硬件成本的前提下,以很小的软件开销,提高读卡器系统的稳定性的档次,从而大大提升用户体验。

为了进一步提高读卡器的健壮性,本发明实施例二提供的读卡器的读卡方法,与实施例一相比区别在于,还包括以下步骤;在根据上电信号对读卡器进行初始化之后,对读卡器是否插入卡片进行循环检测。可以是在读卡器初始化后,对端口配置的参数进行循环监控。比如,端口配置无卡情况下为0,有卡情况下为1。那么监控到端口配置的参数变为1时,则认为有卡片插入读卡器。与其他实施例中,可以通过设置不同的参数来进一步识别具体卡片类型。循环检测还可以是在卡片的插入接口中设置传感器来实现,比如设置位置传感器,在监测到有卡片插入时即发生触发信号。

为了提高目标数据的读取速度,本发明实施例三提供的读卡器的读卡方法,与实施例一相比区别在于,还包括以下步骤;在检测到卡片插入读卡器后,获取卡片中的目标数据,将目标数据存储至读卡器的缓存区。读卡器的缓存区是一个临时存储区,在检测到卡片插入读卡器后,不管通讯协议验证的结果如何。是先将卡片中的目标数据存储至读卡器的缓存区,在验证判断通过后,上位机对缓存区中的目标数据进行读取。可以避免卡片在使用过程中由于卡片与读卡器交互问题而导致的读卡中断。

基于同一发明构思,本发明实施例还提供一种读卡器的读卡装置,该系统的实施可参照上述方法的过程实现,重复之处不再冗述。

如图2所示,是本发明实施例四提供的读卡器的读卡装置的结构示意图,包括上电初始化模块100、传输模块200以及读卡模块300;上电初始化模块100用于获取读卡器的上电信号,根据上电信号对读卡器进行初始化;传输模块200用于在检测到卡片插入读卡器后,将预设的检测报文通过通讯协议传输至上位机;读卡模块300用于根据预设的时间阈值和校验参数对上位机反馈的应答报文进行验证判断,在验证判断通过后,对读卡器中的卡片进行读卡操作。

本发明提供的读卡器的读卡装置,在检测到卡片插入读卡器后,通过将预设的检测报文通过通讯协议传输至上位机;使读卡器主动验证判断其与上位机之间的通信情况,并在验证判断不通过后,对读卡器进行复位处理,即让上位机的控制器重新枚举读卡器;直到验证判断通过后,对读卡器中的卡片进行读卡操作;从而避免读卡器外围硬件成本的增加,并且在上位机无法读取读卡器中的目标数据时,能够自动复位,让上位机的控制器重新枚举读卡器,增强读卡器健壮性。

为了进一步提高读卡器的健壮性,本发明实施例四提供的读卡器的读卡装置,还包括循环检测模块400;循环检测模块400用于在根据上电信号对读卡器进行初始化之后,对读卡器是否插入卡片进行循环检测。

为了提高目标数据的读取速度,本发明实施例四提供的读卡器的读卡装置,还包括缓存模块;缓存模块用于在检测到卡片插入读卡器后,获取卡片中的目标数据,将目标数据存储至读卡器的缓存区。

如图3所示为读卡模块300的结构示意图,包括判断单元310、解析单元320以及复位单元330;判断单元310用于根据预设的时间阈值对上位机反馈的应答报文进行判断;解析单元320用于若在预设的时间阈值内读卡器接收到上位机反馈的应答报文,则对应答报文进行解析;根据预设的校验参数对解析结果进行验证,根据验证结果对读卡器中的卡片进行读卡操作;复位单元330用于若在预设的时间阈值内读卡器没有接收到上位机反馈的应答报文,则对读卡器进行复位处理。

如图4所示为解析单元320的结构示意图,包括验证子单元321、读卡子单元322以及复位子单元323;验证子单元321用于根据预设的校验参数对解析结果进行验证;读卡子单元322用于若验证通过,则对读卡器中的卡片进行读卡操作;复位子单元323用于若验证不通过,则对读卡器进行复位处理。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

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