一种基于ADC引脚采样的磁卡解码方法技术

技术编号:11175410 阅读:178 留言:0更新日期:2015-03-20 04:30
本发明专利技术提供一种基于ADC引脚采样的磁卡解码方法,其硬件上仅采用一级放大电路,同时软件上采用ADC进行一级放大电路之后的信号(这种信号为模拟信号)进行采集,在ADC信号采集时,考虑了强、弱信号磁卡兼容的问题,为适当调整一级放大电路的参数,使弱信号磁卡能达到ADC信号采集精度要求,即能够正常识别弱磁卡信号,而此时强磁卡信号可能出现截止失真问题,利用波峰检测模块对截止失真进行了判断,即使用了失真阈值线取失真部分的中点作为信号峰值,这样失真的信号与实际信号峰值误差较小;采集到的磁道数据比较精确,最后通过信号数据解码模块完成磁道数据解码,本发明专利技术降低了硬件成本,同时提高了对强、弱磁卡信号进行处理的兼容性,实用范围更广。

【技术实现步骤摘要】
一种基于ADC引脚采样的磁卡解码方法
本专利技术涉及一种通讯设备
,尤其涉及一种基于ADC引脚采样的磁卡解码方法。
技术介绍
在磁卡解码领域中目前常见的两种方法为:第一是使用磁卡解码芯片的硬件解码方法,该方法的不足在于硬件解码芯片昂贵,即成本很高;第二是硬件上的磁卡微弱信号通过两级放大电路并经过整波电路得到易被CPU的IO口识别的强信号(这种信号为数字信号),再经过软件采集数据同时进行软件算法解码方法,该方法在成本上比硬件解码方法有大幅度的降低,但成本仍然比较高;本专利申请文件提出新的软件解码方法,成本得到进一步降低。同时,不同磁卡的信号可能存在强弱之分,目前常见的两种方法中,对强弱磁卡很难做到兼容,即要么弱信号很可能被误解码或者不解码,要么放大倍数得更大,使得成本更高。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于ADC引脚采样的磁卡解码方法,降低了硬件成本,同时提高了对强、弱磁卡信号进行处理的兼容性,实用范围更广。本专利技术是这样实现的:一种基于ADC引脚采样的磁卡解码方法,所述方法需提供一级放大电路和CPU,所述CPU上建立有一读取静音线模块、磁卡刷卡判断模块、波峰检测模块、判断刷卡信号是否结束模块、信号数据解码模块以及解码结果输出模块;所述方法包括如下步骤:步骤10、将刷卡器通过一级放大电路与CPU的ADC引脚连接,在磁卡未刷卡的状态下,通过读取静音线模块连续读取多个磁卡磁道信号对应的ADC值,所述ADC值为在CPU的ADC引脚下所处的信号值;获取多个ADC值的平均值,此平均值对应的电压作为静音线;步骤20、执行磁卡刷卡判断模块,磁卡刷卡判断模块读取CPU的ADC引脚的ADC值,若ADC值处于静音线的电压阈值带之外,则表示有刷卡,进入步骤30,若ADC值处于静音线的电压阈值带之内,则表示没刷卡,继续读取磁道的ADC引脚;所述静音线的电压阈值带为正信号阈值线与负信号阈值线之间的范围;所述正信号阈值线为磁道信号未刷卡时的噪声电压最大值+1mv的电压,所述负信号阈值线为磁道信号未刷卡时的噪声电压最小值-1mv的电压;步骤30、执行波峰检测模块,所述波峰检测模块定义有一定时器,在读取磁道各信号对应的ADC值时,该定时器均对应存有一定时器计数值;波峰检测模块判断ADC引脚的信号为正信号还是负信号,为正信号时,在正信号中获取波峰,若信号存在截止失真时,取截止失真部分的中点作为波峰,并获得波峰的ADC值对应的定时器计数值;为负信号时,在负信号中获取波谷,若信号存在截止失真时,取截止失真部分的中点作为波谷,并获得波谷的ADC值对应的定时器计数值;所述正信号为:位于所述静音线之上的任意一电平对应的ADC值;负信号为:位于所述静音线之下的任意一电平对应的ADC值;步骤40、执行判断刷卡信号是否结束模块,通过判断刷卡获取信号的时间段是否大于预先设定的时间阈值,是,则刷卡信号结束,进入步骤50;否,则继续执行波峰检测模块,即回到步骤30;步骤50、执行信号数据解码模块,信号数据解码模块根据步骤30中获取到的定时器计数值,通过磁道解码算法对采集的磁道信号数据进行解码;步骤60、执行解码结果输出模块,将解码后的结果进行输出显示。本专利技术具有如下优点:本专利技术通过精简硬件电路,并通过ADC采样获取更精确的弱磁卡信号,以设计的波峰检测算法及信号失真误差处理方法进行数据采集,得到可进行磁道数据解码的原始数据,本专利技术降低了硬件成本,同时提高了对强、弱磁卡信号进行处理的兼容性,使实用范围更广。附图说明图1为本专利技术方法流程示意图。图2为本专利技术磁道信号中信号的波动示意图。具体实施方式请参阅图1和图2所示,本专利技术为一种基于ADC引脚采样的磁卡解码方法,所述方法需提供一级放大电路和CPU,所述CPU上建立有一读取静音线模块、磁卡刷卡判断模块、波峰检测模块、判断刷卡信号是否结束模块、信号数据解码模块以及解码结果输出模块;所述方法包括如下步骤:步骤10、将刷卡器通过一级放大电路与CPU的ADC引脚连接,在磁卡未刷卡的状态下,通过读取静音线模块连续读取多个磁卡磁道信号对应的ADC值,所述ADC值为在CPU的ADC引脚下所处的信号值;获取多个ADC值的平均值,此平均值对应的电压作为静音线;步骤20、执行磁卡刷卡判断模块,磁卡刷卡判断模块读取CPU的ADC引脚的ADC值,若ADC值处于静音线的电压阈值带之外,则表示有刷卡,进入步骤30,若ADC值处于静音线的电压阈值带之内,则表示没刷卡,继续读取磁道的ADC引脚;所述静音线的电压阈值带为正信号阈值线与负信号阈值线之间的范围;所述正信号阈值线为磁道信号未刷卡时的噪声电压最大值+1mv的电压,所述负信号阈值线为磁道信号未刷卡时的噪声电压最小值-1mv的电压;步骤30、执行波峰检测模块,该波峰检测模块检测包含波顶的波峰和波谷的波峰;所述波峰检测模块定义有一定时器,在读取磁道各信号对应的ADC值时,该定时器均对应存有一定时器计数值;波峰检测模块判断ADC引脚的信号为正信号还是负信号,为正信号时,在正信号中获取波峰,若信号存在截止失真时,取截止失真部分的中点作为波峰,并获得波峰的ADC值对应的定时器计数值;为负信号时,在负信号中获取波谷,若信号存在截止失真时,取截止失真部分的中点作为波谷,并获得波谷的ADC值对应的定时器计数值;所述正信号为:位于所述静音线之上的任意一电平对应的ADC值;负信号为:位于所述静音线之下的任意一电平对应的ADC值;步骤40、执行判断刷卡信号是否结束模块,通过判断刷卡获取信号的时间段是否大于预先设定的时间阈值,是,则刷卡信号结束,进入步骤50;否,否,则继续执行波峰检测模块,即回到步骤30;该预先设定的时间阈值为:根据采样率的不同,该值不同,可根据5ms的时间进行换算成多少次采样,将换算的次数作为时间阈值;步骤50、执行信号数据解码模块,信号数据解码模块根据步骤30中获取到的定时器计数值(即得到波峰检测结果的波峰ADC值对应的定时器计数值和波谷的ADC值对应的定时器计数值),通过磁道解码算法(该磁道解码算法为现有的磁道解码算法在此就不做详细描述)对采集的磁道信号数据进行解码;步骤60、执行解码结果输出模块,将解码后的结果进行输出显示;进一步地:解码后的结果进行输出,解码失败时,则输出失败信息,解码成功时,则输出磁道数据以及磁道数据长度。在本专利技术中,一次刷卡操作有若干个峰值;所述步骤30中,为正信号时,在正信号中获取波峰,若信号存在截止失真时,取截止失真部分的中点作为波峰,并获得波峰的ADC值对应的定时器计数值;具体为:在读取到的磁道信号的ADC值小于负信号阈值线或者刷卡获取信号的时间段大于所述预先设定的时间阈值时停止读取ADC值;若读取到的ADC值存在其中一个大于或等于正失真阈值线时,取该ADC值对应的定时器计数值更新至一峰值计数值变量中;所述步骤50中要获取的定时器计数值即从峰值计数值变量得到;或者若读取到的ADC值存在其中两个或两个以上大于或等于正失真阈值线时,取第一个与最后一个大于或等于正失真阈值线的ADC值对应的定时器计数值,并将两定时器计数值进行平均值后更新至所述峰值计数值变量中;否则其他情况下,取最大的ADC值(若存在多个最大值,则取第一个)对应的定时器计数本文档来自技高网...
一种基于ADC引脚采样的磁卡解码方法

【技术保护点】
一种基于ADC引脚采样的磁卡解码方法,其特征在于:所述方法需提供一级放大电路和CPU,所述CPU上建立有一读取静音线模块、磁卡刷卡判断模块、波峰检测模块、判断刷卡信号是否结束模块、信号数据解码模块以及解码结果输出模块;所述方法包括如下步骤:步骤10、将刷卡器通过一级放大电路与CPU的ADC引脚连接,在磁卡未刷卡的状态下,通过读取静音线模块连续读取多个磁卡磁道信号对应的ADC值,所述ADC值为在CPU的ADC引脚下所处的信号值;获取多个ADC值的平均值,此平均值对应的电压作为静音线;步骤20、执行磁卡刷卡判断模块,磁卡刷卡判断模块读取CPU的ADC引脚的ADC值,若ADC值处于静音线的电压阈值带之外,则表示有刷卡,进入步骤30,若ADC值处于静音线的电压阈值带之内,则表示没刷卡,继续读取磁道的ADC引脚;所述静音线的电压阈值带为正信号阈值线与负信号阈值线之间的范围;所述正信号阈值线为磁道信号未刷卡时的噪声电压最大值+1mv的电压,所述负信号阈值线为磁道信号未刷卡时的噪声电压最小值‑1mv的电压;步骤30、执行波峰检测模块,所述波峰检测模块定义有一定时器,在读取磁道各信号对应的ADC值时,该定时器均对应存有一定时器计数值;波峰检测模块判断ADC引脚的信号为正信号还是负信号,为正信号时,在正信号中获取波峰,若信号存在截止失真时,取截止失真部分的中点作为波峰,并获得波峰的ADC值对应的定时器计数值;为负信号时,在负信号中获取波谷,若信号存在截止失真时,取截止失真部分的中点作为波谷,并获得波谷的ADC值对应的定时器计数值;所述正信号为:位于所述静音线之上的任意一电平对应的ADC值;负信号为:位于所述静音线之下的任意一电平对应的ADC值;步骤40、执行判断刷卡信号是否结束模块,通过判断刷卡获取信号的时间段是否大于预先设定的时间阈值,是,则刷卡信号结束,进入步骤50;否,则继续执行波峰检测模块,即回到步骤30;步骤50、执行信号数据解码模块,信号数据解码模块根据步骤30中获取到的定时器计数值,通过磁道解码算法对采集的磁道信号数据进行解码;步骤60、执行解码结果输出模块,将解码后的结果进行输出显示。...

【技术特征摘要】
1.一种基于ADC引脚采样的磁卡解码方法,其特征在于:所述方法需提供一级放大电路和CPU,所述CPU上建立有一读取静音线模块、磁卡刷卡判断模块、波峰检测模块、判断刷卡信号是否结束模块、信号数据解码模块以及解码结果输出模块;所述方法包括如下步骤:步骤10、将刷卡器通过一级放大电路与CPU的ADC引脚连接,在磁卡未刷卡的状态下,通过读取静音线模块连续读取多个磁卡磁道信号对应的ADC值,所述ADC值为在CPU的ADC引脚下所处的信号值;获取多个ADC值的平均值,此平均值对应的电压作为静音线;步骤20、执行磁卡刷卡判断模块,磁卡刷卡判断模块读取CPU的ADC引脚的ADC值,若ADC值处于静音线的电压阈值带之外,则表示有刷卡,进入步骤30,若ADC值处于静音线的电压阈值带之内,则表示没刷卡,继续读取磁道的ADC引脚;所述静音线的电压阈值带为正信号阈值线与负信号阈值线之间的范围;所述正信号阈值线为磁道信号未刷卡时的噪声电压最大值+1mv的电压,所述负信号阈值线为磁道信号未刷卡时的噪声电压最小值-1mv的电压;步骤30、执行波峰检测模块,所述波峰检测模块定义有一定时器,在读取磁道各信号对应的ADC值时,该定时器均对应存有一定时器计数值;波峰检测模块判断ADC引脚的信号为正信号还是负信号,为正信号时,在正信号中获取波峰,若信号存在截止失真时,取截止失真部分的中点作为波峰,并获得波峰的ADC值对应的定时器计数值;为负信号时,在负信号中获取波谷,若信号存在截止失真时,取截止失真部分的中点作为波谷,并获得波谷的ADC值对应的定时器计数值;所述正信号为:位于所述静音线之上的任意一电平对应的ADC值;负信号为:位于所述静音线之下的任意一电平对应的ADC值;步骤40、执行判断刷卡信号是否结束模块,通过判断刷卡获取信号的时间段是否大于预先设定的时间阈值,是,则刷卡信号结束,进入步骤50;否,则继续执行波峰检测模块,即回到步骤30;步骤50、执行信号数据解码模块,信号数据解码模块根据步骤30中获取到的定时器计数值,通过磁道解码算法对采集的磁道信号数据进行解码;步骤60、执行解码...

【专利技术属性】
技术研发人员:蒋声障林志伟周潮陈成秋
申请(专利权)人:福建升腾资讯有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1