DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1714|回复: 0
打印 上一主题 下一主题

[待整理] 一种极具成本效益的磁卡读卡器设计

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-28 10:48:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
<div class="article2" id="content_zoom">                          通过磁性图案存储信息的技术最早出现在音频记录领域。从那以后,这个概念已被扩展应用于许多不同产品,如软盘、音频/视频磁带、硬盘以及磁条卡。本文将主要讨论在全球金融交易和门禁控制中得到广泛使用的磁条卡。
                          
                         读取磁条卡除了需要解码数据的数字逻辑外还要求很重要的模拟电路。在磁卡上记录数据是数字化的过程,通过沿着磁条长度磁化粒子完成。而成功读取磁卡具有相当大的挑战性,因为在实际应用中传感器信号的幅度会随着划卡速度、磁卡质量和读卡磁头的灵敏度而变化。此外,频率也会随着划卡速度变化而变化。这就要求模拟电路能够适应这种变化,无失真地处理传感器信号。本文将介绍如何处理传感器信号变化的机制。
                          
                         磁性与磁卡
                         为了理解划卡速度、磁卡质量和传感器灵敏度的影响,了解信息是如何存储在卡上的以及如何被读卡头检测出来很重要。在磁性存储系统中,信息用诸如氧化铁等磁化 材料上的极性图案表示。图1显示了涂覆在磁化材料上的磁条。磁化材料上的颗粒可能处于某种特定的排列方向,或者因以前没有受到特定方向磁场的照射而处于随 机方向。然而,如果施加一定的外部磁场,磁条上的颗粒将按照外部磁场排列方向。
                          
       
               
                图1:在外部磁场的影响下磁化材料按特定方向排列。

                          
                         在实用化系统中需要用到一个写入磁头,它其实就是绕在磁心上的一个线圈。通过控制线圈中的电流方向可以很容易编程磁场方向。这有助于在磁卡上形成南北极图案。磁极之间的空隙越窄,磁卡上能够编程的数据密度就越高。
                          
                         在 F2F编码机制中,如果在比特周期内发生磁极转换,那就代表逻辑1,否则代表逻辑0。例如图3所示,如果比特周期是&Delta;,而磁极转换发生在&Delta;/2处,那么这 个比特就是逻辑1,否则就是逻辑0。注意,逻辑1和逻辑0在磁卡上占据的长度是相同的。不过比特周期&Delta;会随划卡速度而变化,这个问题在读卡中必须加以解 决。
                          
       
               
                图2:用电磁体磁化磁条表示逻辑1和逻辑0,其中用到了F2F编码机制

       
                 

       
               
                图3:磁极图案和数据。

                          
                 
                         值得注意的是,比特周期长度对逻辑1和逻辑0来说都是相同的。
                          
                         根据信息量的多少,数据将被编码在不同的行,这个行被称为磁道。一个磁卡上最多可以有3条磁道。
                          
       
               
                图4:磁卡上的磁道。

                          
                         读过程正好相反,它需要使用一个结构上与图2所示的线圈-磁芯相同的读卡头。需要注意的是,每个磁道要有一个传感器。在划卡时,源自磁条的磁场将在读卡头线圈中感应出电压。图5显示了从读卡头得到的波形。
                          
       
               
                图5:读卡头(传感器)信号。

                          
                         信号在每次磁通量转换时出现峰值。这是因为在磁极边缘具有高密度的磁通量。正如你看到的那样,信息是用信号峰值的位置表示的。峰值检测器电路可以解码这个信号,或者使用阈值非常接近信号峰值的磁滞比较器。不过在我们将这个信号交给检测器电路之前,还需要进行额外的处理,原因如下:
                          
                         划卡速度:划卡速度的单位规定为英寸/每秒(IPS)。一般来说,要求磁卡读卡器能在5 IPS至50 IPS的划卡速度范围内正常工作。传感器信号的幅度随划卡速度变化而变化。划卡速度增加,读卡头中的线圈切割的磁通量变化速度也增加,因此信号幅度会变大。与之相反,当划卡速度变慢时,信号幅度将降低,从而增加数据读取的难度。
                          
                         磁卡质量:随着时间的推移以及使用量的增加,卡的质量将随着磁场强度的降低以及由于磁卡上的灰尘与刮擦而引起的失真加大而下降。这些因素综合在一起将降低传感器信号的幅度。
                          
                         读卡头灵敏度:读卡头灵敏度取决于线圈匝数以及读卡头与磁条之间的间距。
                          
                         由于所有这些参数的影响,信号幅度可能在几百个uV至几十个mV之间变化。这个范围可以用放大器进行补偿。但不能用固定增益放大器。当划卡速度很高,卡的质量又很好时,放大器输出可以饱和到电源轨 电压。而当信号饱和时,用两个连续峰值之间的时间差代表的信息将丢失。因此如实地放大传感器信号、不至于使波形发生饱和或改变很重要。这就要求使用增益可 配置的放大器,以便我们随时调整增益。要做到这一点,系统必须能够检测信号变弱的时刻。这可以用跟踪传感器信号的ADC寻找近似的信号峰值来实现。
                 
                         图 6显示了一个完整的系统。最好将放大电路做成两级,用ADC接收第一级电路的输出。这样就无需高分辨率ADC,8位ADC就足以满足这种应用需求。第一级 可以是固定增益的放大器,也可以是可变增益放大器。第二级是可变增益放大器。CPU读取ADC结果,并通过调整增益使第二级放大器的信号输出达到最佳。第 二级放大器的输出送到峰值检测器/磁滞比较器电路进行峰值检测。来自检测器的脉冲输出被馈送至定时器进行时间差测量,然后由CPU解码出1和0。
                          
       
               
                图6:磁卡读卡器框图。

       
                 

                         至 此仍然存在增益更新之前是否有数据丢失的问题。为了避免这个问题,磁卡的两头会用前导零进行编码以实现同步(这样可以支持双向划卡)。这样做的目的是使解 码器同步于划卡速度。举例来说,在磁道1中,共有约62个前导零。磁道1具有210个比特的数据密度。因此我们可以估算出划卡速度为5 IPS时前导零将持续约60ms时间,划卡速度为50 IPS时前导零将持续6ms。对另外两个磁道来说或多或少是相同的,如图7所示。在人为划卡时一开始就是50 IPS的划卡速度是不可能,因此系统具有比6ms长得多的时间来测量峰值并调整增益。图8显示了增益控制过程。
                          
       
               
                图7:磁卡中三个磁道的内容。

                          
                         需要注意的是,CPU在划卡期间可能会持续精细调整增益以适应变化的幅度。正常情况下,顺着划卡的方向,划卡速度会增加,从而增加信号幅度。注意,在使用以恒定速度划卡的自动划卡机时这个观点是不正确的。
                          
       
               
                图8:增益改变过程。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 01:33 , 耗时 0.094430 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表