一种磁条卡信号处理电路及方法技术领域
本发明涉及磁条卡信号处理领域,更具体的说,是涉及一种磁条卡信号处理电路
及方法。
背景技术
磁条卡是一种卡片状的磁性记录介质,与各种读卡器配合使用,磁条卡利用磁性
载体记录了一些信息。
磁条卡的使用已经有很长的历史了,磁条卡成本低廉,易于使用,便于管理,且具
有一定的安全特性,特别是银行系统几十年的普遍推广使用使得磁条卡的普及率得到很大
的发展。
随着对安全和增强性功能不断增长的需求,越来越多的磁条卡被IC卡取代,但由
于现有磁条卡应用系统非常完善,存量巨大,因此在未来很长一段时间内,银行磁条卡将同
智能卡以互补的方式共同存在,智能卡的中体安全保密性比磁条卡确实要好,但非常完美
的磁条卡应用系统弥补了磁条卡在其安全保密性上所存在的不足。
由于读取磁条卡的磁头输出的是微小的模拟信号,需要进行放大,转换为数字信
号才能被微控制器识别。目前普遍的解决方案是外挂专用磁解码芯片来完成模拟信号向数
字信号的转换及对数字信号解码,大大增加了设备的成本。
在实际处理中面临的困难是:磁条卡多是人工刷卡,起始刷卡速度一般较慢,然后
慢慢加速。这样带来的问题是,初始信号频率低,毛刺多,信号峰值不明显,给编码电路带来
困难;信号位周期逐渐变短,对数字解码部分的算法要求高。另一方面,由于刷卡速度不固
定,需要解码软件自适应刷卡的频率。
因此,本发明对磁条卡信号特性进行深入研究,采用软硬件结合的方法实现低成
本磁条卡解码技术方案。
发明内容
本发明针对现有产品的不足,而提供一种无须添加专用芯片,利用低成本通用器
件设计电路及微控制器自带的ADC接口来实现磁条卡模拟信号向数字信号的转换,并结合
软件实现磁条卡信号处理电路及方法。
本发明的一种磁条卡信号处理电路,所述处理电路包括信号放大及滤波电路、基
准电压产生电路,所述基准电压产生电路和信号放大及滤波电路连接,所述信号放大及滤
波电路连接微控制器;
所述基准电压产生电路采用负反馈运放电路,减小运放电路输出的波动,用于为
信号放大电路的磁头线圈提供稳定的1/2VCC的基准电压;
所述信号放大及滤波电路采用前置放大电路对磁头输出的模拟小信号进行放大,
并进行低通滤波,滤除高频部分;
微控制器通过ADC接口对信号放大及滤波电路的输出信号进行周期性采样,得到
磁卡波形数据,用于软件解码使用。
一种磁条卡信号处理方法,包括如下步骤:通过信号放大及滤波电路的磁头线圈
读取磁条卡信号;将从磁头线圈来的信号进行放大,然后发送给微控制器进行周期性采样
再通过软件解码;
软件解码具体包括以下步骤:1)检测波形的峰值,在峰值点的前后,波形的斜率会
发生突变,由正变为负,或由负变为正,取当前点之后连续的3个点进行判断,假设当前点之
前的波形斜率为正,则后续需要检测负的斜率,即1-2点和2-3点构成的直线斜率都为负,则
认为检测到峰值;同理,如果当前点之前波形斜率为负,则后续需要检测正的斜率,即1-2点
和2-3点构成的直线斜率都为正,则认为检测到峰值;计算出连续两个峰值之间的时间,实
现模拟波形向数字脉冲的转换;
2)检测波形当前位置的信号频率,取最近几位已解码的脉冲数据的均值作为当前
频率对应的时钟CLK;
3)通过峰值检测,把模拟波形转换为脉冲数据,通过频率检测得到当前波形的频
率,根据F2F的编码规则,记录“0”时,脉宽等于当前频率对应的时钟CLK,记录“1”时,连续两
个脉冲宽度之和等于当前频率对应的时钟CLK,按此规则软件进行解码,得到磁条卡二进制
数据,然后再把二进制编码转换为十进制编码,完成整个磁解码过程。
本发明的有益效果是:和现有技术相比,本发明提高信号放大部分性能,提供稳定
的基准电压,过滤掉高频干扰,然后在软件处理中需要准确检测出信号峰值,并能够动态检
测当前的刷卡频率,提高兼容性。
附图说明
图1是本发明的磁解码电路图;
图2 是本发明的峰值检测示意图;
图3是本发明的解码示意图;
具体实施方式
下面结合附图对本发明作进一步的描述。
磁卡的读写都是由磁头完成。
本发明的一种磁条卡信号处理电路,所述处理电路包括信号放大及滤波电路、基
准电压产生电路,所述基准电压产生电路和信号放大及滤波电路连接,所述信号放大及滤
波电路连接微控制器;
所述基准电压产生电路采用负反馈运放电路,减小运放电路输出的波动,用于为
信号放大电路的磁头线圈提供稳定的1/2VCC的基准电压;
所述信号放大及滤波电路采用前置放大电路对磁头输出的模拟小信号进行放大,
并进行低通滤波,滤除高频部分;
微控制器通过ADC接口对信号放大及滤波电路的输出信号进行周期性采样,得到
磁卡波形数据,用于软件解码使用。
一种磁条卡信号处理方法,包括如下步骤:通过信号放大及滤波电路的磁头线圈
读取磁条卡信号;将从磁头线圈来的信号进行放大,然后发送给微控制器进行周期性采样
再通过软件解码;
软件解码具体包括以下步骤:1)检测波形的峰值,在峰值点的前后,波形的斜率会
发生突变,由正变为负,或由负变为正,取当前点之后连续的3个点进行判断,假设当前点之
前的波形斜率为正,则后续需要检测负的斜率,即1-2点和2-3点构成的直线斜率都为负,则
认为检测到峰值;同理,如果当前点之前波形斜率为负,则后续需要检测正的斜率,即1-2点
和2-3点构成的直线斜率都为正,则认为检测到峰值;计算出连续两个峰值之间的时间,实
现模拟波形向数字脉冲的转换;
2)检测波形当前位置的信号频率,取最近几位已解码的脉冲数据的均值作为当前
频率对应的时钟CLK;
3)通过峰值检测,把模拟波形转换为脉冲数据,通过频率检测得到当前波形的频
率,根据F2F的编码规则,记录“0”时,脉宽等于当前频率对应的时钟CLK,记录“1”时,连续两
个脉冲宽度之和等于当前频率对应的时钟CLK,按此规则软件进行解码,得到磁条卡二进制
数据,然后再把二进制编码转换为十进制编码,完成整个磁解码过程。
磁卡数据的写入,首先对信息进行编码,常用的是改进调频制(F2F),经过编码的
信号电流通入写磁头,并且使写磁头与磁卡磁性面贴近,写磁头与磁卡间以一定的速度进
行相对运动,磁轨被磁化,信息即被写入到磁卡磁轨上。
在F2F编码记录方式中,信息的写入是依靠写入电流频率的变化来实现的,其编码
规则是:记录“1”时,写电流在周期中间改变方向;记录“0”时,写电流不改变方向;写电流在
每次位周期边界改变方向。
磁卡数据的读出是写入的反向过程,将磁轨贴近磁路间隙,且磁轨以一定的速度
通过磁头,使磁头磁路有磁通变化,从而磁头线圈产生感应电势,即磁轨上的磁信号转换为
电信号。然后通过磁解码电路转换为二进制信号。最后通过解码软件将二进制编码信号转
换为十进制编码。
在磁解码电路对信号处理过程中,首先要将从磁头来的电流信号进行放大,然后
送微控制器进行进行AD采样及软件解码。
在实际处理中可能面临的困难是:磁条卡多是人工刷卡,起始刷卡速度一般较慢,
然后慢慢加速。这样带来的问题是,初始信号频率低,毛刺多,信号峰值不明显,给编码电路
带来困难;信号位周期逐渐变短,对数字解码部分的算法要求高。另一方面,由于刷卡速度
不固定,需要解码软件自适应刷卡的频率。
为了解决这个问题,需要提高信号放大部分性能,提供稳定的基准电压,过滤掉高
频干扰,然后在软件处理中需要准确检测出信号峰值,并能够动态检测当前的刷卡频率,提
高兼容性。
本发明的主要实现方式如下:
本磁解码电路原理如图1所示,分为两大部分:信号放大及滤波电路、基准电压产
生电路。
信号放大及滤波电路:
磁头输出的模拟信号幅度非常小,并且会有许多高频噪声,因此需要使用前置放
大电路对磁头输出的模拟小信号进行放大,并进行了低通滤波,滤除了高频部分。
图1中,电阻R1、R2和比较器U1B组成放大电路。放大倍数为50倍。
图1中,电阻R1和电容C1组成了RC滤波电路,可以滤掉200K以上的高频干扰。
基准电压产生电路:
信号放大电路中,磁头线圈的一端需要接一个1/2VCC的基准电压,此电压要求很
稳定,才能减小运放电路输出的波动。本电路中采用了负反馈运放电路来实现。
图1中,R3、R4分压产生1/2VCC电压,电容C2起稳压作用,U1A负反馈运放电路把输
出电压锁定在1/2VCC。
微控制器:
微控制器的ADC接口对信号放大电路的输出信号进行周期性采样,得到磁卡波形
数据,供后续软件解码使用。
峰值检测及数字脉冲转换:
根据F2F编码规则,记录“1”时,电流在周期中间改变方向;记录“0”时,电流不改变
方向;电流在每次位周期边界改变方向。因此软件需要检测波形的峰值。
在峰值点的前后,波形的斜率会发生突变,由正变为负,或由负变为正,软件可以
利用这个特点进行峰值检测。
为了提高抗干扰性,可以取当前点之后连续的3个点进行判断。假设当前点之前的
波形斜率为正,则后续需要检测负的斜率,即1-2点和2-3点构成的直线斜率都为负,则认为
检测到峰值。同理,如果当前点之前波形斜率为负,则后续需要检测正的斜率,即1-2点和2-
3点构成的直线斜率都为正,则认为检测到峰值。
计算出连续两个峰值之间的时间,就可以实现模拟波形向数字脉冲的转换。如图2
为峰值检测示意图。
时钟频率检测:
由于刷卡速度不固定,因此需要检测波形当前位置的信号频率,由于刷卡的速度
不会发生突变,因此可以取最近几位已解码的脉冲数据的均值作为当前频率对应的时钟
CLK。
初始时钟:根据磁条卡数据规范,磁道的头部和尾部都有若干位‘0’,因此可以直
接把头部连续几个脉冲的均值作为初始时钟。
软件解码:
通过上面的峰值检测软件,把模拟波形转换为脉冲数据。通过频率检测软件得到
当前波形的频率。根据F2F的编码规则,记录“0”时,脉宽等于当前频率对应的时钟CLK,记录
“1”时,连续两个脉冲宽度之和等于当前频率对应的时钟CLK。软件可以按此规则进行解码,
得到磁条卡二进制数据。然后再把二进制编码转换为十进制编码,完成整个磁解码过程。如
图3为F2F解码示意图。
本发明提高信号放大部分性能,提供稳定的基准电压,过滤掉高频干扰,然后在软
件处理中需要准确检测出信号峰值,并能够动态检测当前的刷卡频率,提高兼容性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发
明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领
域,均同理包括在本发明的专利保护范围内。