CN106682553A - 一种磁条卡软件解码方法 - Google Patents

一种磁条卡软件解码方法 Download PDF

Info

Publication number
CN106682553A
CN106682553A CN201611190871.XA CN201611190871A CN106682553A CN 106682553 A CN106682553 A CN 106682553A CN 201611190871 A CN201611190871 A CN 201611190871A CN 106682553 A CN106682553 A CN 106682553A
Authority
CN
China
Prior art keywords
data
bit
magnetic stripe
stripe card
track
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.)
Pending
Application number
CN201611190871.XA
Other languages
English (en)
Inventor
叶灵炜
王鹏
庄毅民
张登峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Centerm Information Co Ltd
Original Assignee
Fujian Centerm Information Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Centerm Information Co Ltd filed Critical Fujian Centerm Information Co Ltd
Priority to CN201611190871.XA priority Critical patent/CN106682553A/zh
Publication of CN106682553A publication Critical patent/CN106682553A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/08Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes
    • G06K7/082Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors
    • G06K7/087Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors flux-sensitive, e.g. magnetic, detectors

Abstract

本发明提供一种磁条卡软件解码方法,所述方法为:将磁条卡原始波形通过硬件两级放大整形后输入到设备主控芯片;设备主控芯片收到波形后,触发外部双边沿中断,启动定时器作为时钟源,在中断处理函数中获取相邻两次中断的定时器的计数值之差作为位持续时间,并将该位持续时间存入数据缓冲区中;根据磁条卡磁道的起始冗余数据获得基本的位参考时间,根据位参考时间,将数据缓冲区中位持续时间经过毛刺过滤、迭代平均值、计算校验值来找到起始字符,解码磁条卡数据区数据并判断是否出现结束字符,否,不进行操作,是,则对整个磁条卡磁道的数据进行LRC校验。本发明提高磁条卡读卡稳定性和兼容性。

Description

一种磁条卡软件解码方法
技术领域
本发明涉及磁卡技术领域,尤其涉及一种磁条卡软件解码方法。
背景技术
磁条卡被广泛的应用于各个领域,如银行卡、身份识别卡或者购物卡等。磁条卡上记录了一系列采用F2F编码的二进制数据,这些数据包含了卡号和身份识别等信息。目前涉及到读取磁条卡的产品中,大多数采用的都是硬件解码方案,即通过硬件解码芯片将从磁条卡获得的波形直接转换为磁条卡中所保存的数据。由于芯片的限制,此类硬件解码方案存在兼容性较差,对刷卡速度以及刷卡手法等有较高要求等问题。
发明内容
本发明要解决的技术问题,在于提供一种磁条卡软件解码方法,提高磁条卡读卡稳定性和兼容性。
本发明是这样实现的:一种磁条卡软件解码方法,所述方法为:将磁条卡原始波形通过硬件两级放大整形后输入到设备主控芯片;设备主控芯片收到波形后,触发外部双边沿中断,启动定时器作为时钟源,在中断处理函数中获取相邻两次中断的定时器的计数值之差作为位持续时间,并将该位持续时间存入数据缓冲区中;根据磁条卡磁道起始冗余数据获得基本的位参考时间,根据位参考时间,将数据缓冲区中位持续时间经过毛刺过滤、迭代平均值、计算校验值来找到起始字符,解码磁条卡数据区数据并判断是否出现结束字符,否,不进行操作,是,则对整个磁条卡磁道的数据进行LRC校验。
进一步地,所述定时器为32位定时器。
进一步地,所述方法进一步包括:设备主控芯片收到经过硬件两级放大整形后的波形将触发外部双边沿电平变化中断,双边沿电平变化中断捕捉到每一次的电平变化,再加入定时器记录时间,在中断处理函数中获取相邻两次中断时的定时器计数值的差值即为位持续时间,存入各个磁道对应的数据缓冲区中。
进一步地,获取位参考时间的原理具体是:根据每个磁道的头和尾都有一段冗余数据,冗余数据的逻辑值都为“0”,逻辑值为“0”时电平持续的时间即为位的持续时间,计算的具体方法是:取出8个连续的电平持续时间,当后7个时间值都在第1个时间值的1/2~3/2之间,即认为速度已稳定,即对8个时间值取平均即可;并根据位参考时间获取当前允许的位宽容错范围。
进一步地,解码磁条卡数据区的过程是首先在数据缓冲区中读取六个有效数据,分别计算前n个数据的和,并将和存放为第n个数据;找出前n个数据的和中与所述位参考时间相近的值并记录前n个数据的位置;由此得到该位置的bit数据在一个位参考时间里发生了几次的电平变化;通过误判校正算法,判断是否在采集数据过程中产生毛刺并及时校正,根据缓冲区数据中是否存在毛刺和毛刺所存在的位置,判断电平变化是否存在误判,并通过毛刺数量以及存在规律校正电平误判;若当前解码数据不处于位宽容错范围之内,则认为该磁条卡数据出错,返回解码失败;反之,当前解码数据处于位宽容错范围之内,则进一步判断该位置的bit逻辑值,并根据迭代平均值算法重新计算位宽容错范围和毛刺门限;即按照一设定比例将上一次的位宽容错范围与本次实际位宽容错范围做加权平均,使位宽容错范围与毛刺门限能够根据实际情况动态保持合适的范围。
进一步地,查找起始字符具体为:根据各磁道的特点,通过解码数据方式将相对应个数bit组成一个字符,然后和起始字符进行比较,如果不为起始字符,在加入下一个bit,直到找到起始字符为止;解码磁条卡数据区的过程就是将相对应个数bit组成一个字符,然后查表转换成实际的磁道数据,在解码的过程中,如果遇到结束字符,即代表这一磁道的数据结束;发现磁道结束符后,继续获取磁道数据校验值,与获取解码磁条卡数据区时获得的数据校验值比较,两者相同则表示解析磁道数据成功。
进一步地,所述相对应个数bit为5个或7个bit组成一个字符。
本发明具有如下优点:本发明通过毛刺过滤、误判校正、迭代平均值算法提高磁条卡读卡稳定性。相对于目前市面上大多数磁条卡硬件解码方案,大大提高磁条卡兼容性;降低由于刷卡手法以及刷卡速度等外界造成的读卡失败率。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法示意图。
图2为本发明数据解码流程示意图。
具体实施方式
请参阅图1和图2所示,一种磁条卡软件解码方法,所述方法为:将磁条卡原始波形通过硬件两级放大整形后输入到设备主控芯片;设备主控芯片收到波形后,触发外部双边沿中断,启动定时器作为时钟源,所述定时器为32位定时器。在中断处理函数中获取相邻两次中断的定时器的计数值之差作为位持续时间,并将该位持续时间存入数据缓冲区中;根据磁条卡磁道起始冗余数据获得基本的位参考时间,根据位参考时间,将数据缓冲区中位持续时间经过毛刺过滤、迭代平均值、计算校验值等一系列算法来找到起始字符,解码磁条卡数据区数据并判断是否出现结束字符,否,不进行操作,是,则对整个磁条卡磁道的数据进行LRC校验。
本发明主要由两个流程组成,数据采集流程和数据解码流程。
数据采集流程由32位定时器和双边沿电平变化中断组成。设备主控芯片收到经过硬件放大整形后的波形后将触发双边沿电平变化中断,双边沿电平变化中断准确捕捉到每一次的电平变化,再加入定时器记录时间,在中断处理函数中计算连续两次中断时定时器技术的差值即电平持续时间,存入各个磁道对应的缓冲区中。
数据解码流程主要分为三个方面:计算位参考时间、查找起始字符、解码磁条卡数据区数据和磁道数据校验。
计算位参考时间的原理是根据每个磁道的头和尾都有一段冗余数据,冗余数据的逻辑值都为“0”,逻辑值为“0”时电平持续的时间即为位的持续时间。计算的具体方法是:取出8个连续的电平持续时间,当后7个时间值都在第1个时间值的1/2~3/2之间,即认为速度已经稳定,可以用来计算位参考时间,然后对8个时间值取平均即可。并根据位参考时间计算当前允许的位宽容错范围。
解码磁条卡数据区的过程就是首先在数据缓冲区中读取六个有效数据,分别计算前n个数据的和,并存放为第n个数据。找出前n个数据的和中与位参考时间最接近的值并记录其位置。由此可以得到该bit数据在一个位参考时间里发生了几次的电平变化。在不考虑毛刺的情况下,一个位参考时间里未发生电平变化,则该电平所表示的逻辑值为“0”,一个位参考时间内发生一次电平变化则表示逻辑“1”。但在实际情况中,干扰往往无法避免。因此需要通过误判校正算法,判断是否在采集数据过程中产生毛刺并及时校正。主要根据缓存区数据中是否存在毛刺和毛刺所存在的位置,判断电平变化是否存在误判。并通过毛刺数量以及存在规律校正电平误判。在基于之前的数据计算当前允许的位宽容错范围。丢弃已解码数据,若当前数据不处于位宽容错范围之内,则认为该磁条卡数据出错。返回解码失败。反之,当前解码数据处于位宽容错范围之内,则进一步判断该bit逻辑值。并根据迭代平均值算法重新计算位宽和毛刺门限。即按照一定比例将上一次的位宽与本次实际位宽做加权平均,使位宽与毛刺门限能够根据实际情况动态保持最合适的范围。
查找起始字符的算法主要是:根据各磁道的特点,通过解码数据方法将相对应个数(5个或7个)bit组成一个字符,然后和起始字符进行比较,如果不为起始字符,在加入下一个bit,直到找到起始字符为止。解码磁条卡数据区的过程就是将相对应个数(5个或7个)bit组成一个字符,然后查表转换成实际的磁道数据,在解码的过程中,如果遇到结束字符,即代表这一磁道的数据结束。发现磁道结束符后,继续获取磁道数据校验值,与获取解码去数据时计算的数据校验值比较,两者相同则表示解析磁道数据成功。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (7)

1.一种磁条卡软件解码方法,其特征在于:所述方法为:将磁条卡原始波形通过硬件两级放大整形后输入到设备主控芯片;设备主控芯片收到波形后,触发外部双边沿中断,启动定时器作为时钟源,在中断处理函数中获取相邻两次中断的定时器的计数值之差作为位持续时间,并将该位持续时间存入数据缓冲区中;根据磁条卡磁道起始冗余数据获得基本的位参考时间,根据位参考时间,将数据缓冲区中位持续时间经过毛刺过滤、迭代平均值、计算校验值来找到起始字符,解码磁条卡数据区数据并判断是否出现结束字符,否,不进行操作,是,则对整个磁条卡磁道的数据进行LRC校验。
2.根据权利要求1所述的一种磁条卡软件解码方法,其特征在于:所述定时器为32位定时器。
3.根据权利要求1所述的一种磁条卡软件解码方法,其特征在于:所述方法进一步包括:设备主控芯片收到经过硬件两级放大整形后的波形将触发外部双边沿电平变化中断,双边沿电平变化中断捕捉到每一次的电平变化,再加入定时器记录时间,在中断处理函数中获取相邻两次中断时的定时器计数值的差值即为位持续时间,存入各个磁道对应的数据缓冲区中。
4.根据权利要求1所述的一种磁条卡软件解码方法,其特征在于:获取位参考时间的原理具体是:根据每个磁道的头和尾都有一段冗余数据,冗余数据的逻辑值都为“0”,逻辑值为“0”时电平持续的时间即为位的持续时间,计算的具体方法是:取出8个连续的电平持续时间,当后7个时间值都在第1个时间值的1/2~3/2之间,即认为速度已稳定,即对8个时间值取平均即可;并根据位参考时间获取当前允许的位宽容错范围。
5.根据权利要求4所述的一种磁条卡软件解码方法,其特征在于:解码磁条卡数据区的过程是首先在数据缓冲区中读取六个有效数据,分别计算前n个数据的和,并将和存放为第n个数据;找出前n个数据的和中与所述位参考时间相近的值并记录前n个数据的位置;由此得到该位置的bit数据在一个位参考时间里发生了几次的电平变化;通过误判校正算法,判断是否在采集数据过程中产生毛刺并及时校正,根据缓冲区数据中是否存在毛刺和毛刺所存在的位置,判断电平变化是否存在误判,并通过毛刺数量以及存在规律校正电平误判;若当前解码数据不处于位宽容错范围之内,则认为该磁条卡数据出错,返回解码失败;反之,当前解码数据处于位宽容错范围之内,则进一步判断该位置的bit逻辑值,并根据迭代平均值算法重新计算位宽容错范围和毛刺门限;即按照一设定比例将上一次的位宽容错范围与本次实际位宽容错范围做加权平均,使位宽容错范围与毛刺门限能够根据实际情况动态保持合适的范围。
6.根据权利要求5所述的一种磁条卡软件解码方法,其特征在于:查找起始字符具体为:根据各磁道的特点,通过解码数据方式将相对应个数bit组成一个字符,然后和起始字符进行比较,如果不为起始字符,在加入下一个bit,直到找到起始字符为止;解码磁条卡数据区的过程就是将相对应个数bit组成一个字符,然后查表转换成实际的磁道数据,在解码的过程中,如果遇到结束字符,即代表这一磁道的数据结束;发现磁道结束符后,继续获取磁道数据校验值,与获取解码磁条卡数据区时获得的数据校验值比较,两者相同则表示解析磁道数据成功。
7.根据权利要求6所述的一种磁条卡软件解码方法,其特征在于:所述相对应个数bit为5个或7个bit组成一个字符。
CN201611190871.XA 2016-12-21 2016-12-21 一种磁条卡软件解码方法 Pending CN106682553A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611190871.XA CN106682553A (zh) 2016-12-21 2016-12-21 一种磁条卡软件解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611190871.XA CN106682553A (zh) 2016-12-21 2016-12-21 一种磁条卡软件解码方法

Publications (1)

Publication Number Publication Date
CN106682553A true CN106682553A (zh) 2017-05-17

Family

ID=58870868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611190871.XA Pending CN106682553A (zh) 2016-12-21 2016-12-21 一种磁条卡软件解码方法

Country Status (1)

Country Link
CN (1) CN106682553A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108734036A (zh) * 2018-05-18 2018-11-02 深圳市中科汉天下电子有限公司 一种磁条卡的解码方法和装置
CN108777596A (zh) * 2018-05-30 2018-11-09 上海惠芽信息技术有限公司 一种基于声波的通信方法、通信系统及计算机可读存储介质
CN109902519A (zh) * 2019-02-28 2019-06-18 苏州国芯科技股份有限公司 一种磁条解码方法、系统及相关装置
CN110688864A (zh) * 2019-09-12 2020-01-14 兆讯恒达微电子技术(北京)有限公司 一种磁条卡读卡器差分解码方法
CN110838204A (zh) * 2019-11-05 2020-02-25 艾体威尔电子技术(北京)有限公司 一种磁条卡刷卡终端解码方法
CN113297862A (zh) * 2021-03-09 2021-08-24 苏州德仕耐五金技术有限公司 一种用于识别hid感应卡的读卡装置
CN114299676A (zh) * 2021-12-31 2022-04-08 福建新大陆支付技术有限公司 一种提高pos终端磁卡正确识别刷卡的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101563870A (zh) * 2006-10-17 2009-10-21 塞姆泰克创新解决方案公司 加密的代币交易
CN103034829A (zh) * 2012-12-19 2013-04-10 福建升腾资讯有限公司 一种磁卡的软解码方法
US20140070006A1 (en) * 2012-09-11 2014-03-13 Mark Henry Weldele Magnetic stripe reader
CN104112111A (zh) * 2014-07-29 2014-10-22 福建超瑞创原信息技术有限公司 一种磁条卡解码电路及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101563870A (zh) * 2006-10-17 2009-10-21 塞姆泰克创新解决方案公司 加密的代币交易
US20140070006A1 (en) * 2012-09-11 2014-03-13 Mark Henry Weldele Magnetic stripe reader
CN103034829A (zh) * 2012-12-19 2013-04-10 福建升腾资讯有限公司 一种磁卡的软解码方法
CN104112111A (zh) * 2014-07-29 2014-10-22 福建超瑞创原信息技术有限公司 一种磁条卡解码电路及方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108734036A (zh) * 2018-05-18 2018-11-02 深圳市中科汉天下电子有限公司 一种磁条卡的解码方法和装置
CN108734036B (zh) * 2018-05-18 2021-05-11 深圳昂瑞微电子技术有限公司 一种磁条卡的解码方法和装置
CN108777596A (zh) * 2018-05-30 2018-11-09 上海惠芽信息技术有限公司 一种基于声波的通信方法、通信系统及计算机可读存储介质
CN108777596B (zh) * 2018-05-30 2022-03-08 上海惠芽信息技术有限公司 一种基于声波的通信方法、通信系统及计算机可读存储介质
CN109902519A (zh) * 2019-02-28 2019-06-18 苏州国芯科技股份有限公司 一种磁条解码方法、系统及相关装置
CN109902519B (zh) * 2019-02-28 2023-01-17 苏州国芯科技股份有限公司 一种磁条解码方法、系统及相关装置
CN110688864A (zh) * 2019-09-12 2020-01-14 兆讯恒达微电子技术(北京)有限公司 一种磁条卡读卡器差分解码方法
CN110838204A (zh) * 2019-11-05 2020-02-25 艾体威尔电子技术(北京)有限公司 一种磁条卡刷卡终端解码方法
CN113297862A (zh) * 2021-03-09 2021-08-24 苏州德仕耐五金技术有限公司 一种用于识别hid感应卡的读卡装置
CN113297862B (zh) * 2021-03-09 2022-10-18 苏州德仕耐五金技术有限公司 一种用于识别hid感应卡的读卡装置
CN114299676A (zh) * 2021-12-31 2022-04-08 福建新大陆支付技术有限公司 一种提高pos终端磁卡正确识别刷卡的方法
CN114299676B (zh) * 2021-12-31 2023-12-01 福建新大陆支付技术有限公司 一种提高pos终端磁卡正确识别刷卡的方法

Similar Documents

Publication Publication Date Title
CN106682553A (zh) 一种磁条卡软件解码方法
CN103544073B (zh) 读取闪存中区块的数据的方法及相关的记忆装置
US20080092014A1 (en) Methods of Adapting Operation of Nonvolatile Memory
CN1080425A (zh) 对时间变化双频信号译码的方法和装置
CN104881370B (zh) 协同使用纠删码和纠错码的可靠闪存存储系统构建方法
JPH04348488A (ja) 2周波データ信号のデコード方法及び装置
CN106341136A (zh) Ldpc解码方法及其装置
CN107959549B (zh) 一种标签信号解码方法、标签解码装置及标签阅读器
CN110768751B (zh) 译码的方法与电路、存储器控制器、储存装置、控制器
CN100512020C (zh) 一种译码方法及译码装置
CN105187070A (zh) 一种曼彻斯特编码信号解码方法和装置
CN103594120A (zh) 以读代写的存储器纠错方法
CN107862047A (zh) 基于多个数据源的自然人数据处理方法和系统
CN109691064A (zh) 可抗量子区块链账户系统的扩容方法、装置以及系统
CN102222211B (zh) 一种磁卡解码方法及磁卡读取装置
CN107305625A (zh) 一种基于多模式生物计量信息的个人识别方法
CN109818713B (zh) 副载波调制的米勒码解码方法、装置和设备及存储介质
CN102938197A (zh) 输入捕获中断方式解码红外遥控的方法
CN104270155B (zh) 一种曼彻斯特码流接收抗干扰比特解析方法
CN102930238B (zh) 一种用于磁卡的解码和纠错方法
CN104298572B (zh) 一种纠错方法、纠错装置、主控制器和纠错系统
CN101252411A (zh) 射频识别数据通信中数据帧结尾的检测方法
CN111726125A (zh) 一种基于模板匹配的含错级联码识别方法
CN105279048B (zh) 一种数据恢复方法及装置
CN108021467B (zh) 一种存储器容错保护方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170517