来源:中国一卡通网 作者:龚翔字 陈俊 任毅 发布时间:2008-01-31 10:25:48 字体:[大 中 小]
摘 要:随着经济的发展,磁卡在金融、商业、通信、安全、证券等领域得到了广泛的运用。文章在较为详细地说明磁卡的基本结构及读写原理和数据记录方式的基础上。完成磁卡读卡器硬件架构的实现和软件的设计思想、程序流程图,并且论述了正向刷卡和反向刷卡的软件译码方法。
1引言
磁条卡是一种运用磁性物质制成的标识卡。目前。它广泛的被制作成为银行卡,身份识别卡,公交卡,电话卡,公路交费卡等等,有着比较广泛的运用领域。磁条卡有使用便利,数据可长期保存,可反复擦写,携带方便,价格低廉便于普及等优点。本设计是一款智能金融终端的刷卡部分.运用M3—2200作为磁信号的硬件转换芯片,运用一款以ARM7TDMI为内核的东芯SEP3203作为主处理器
2磁条卡原理
2.1磁条卡的材料及分类
磁条卡的正面由聚氯乙烯、聚氯醋酸乙烯或者是ABS工程塑料制作而成:反面则是具有磁性材料的一面.磁性面上有涂磁区一般分为三个磁道,用于记录固定或可变数据及冗余数据。按照磁性材料分布,磁卡可分为:全面涂磁卡、贴磁条卡、局部涂磁卡;按照磁卡的矫顽力可分为:高矫顽力磁卡(1500奥斯特以上)、低矫顽力磁卡(300奥斯特)。
2.2磁卡的读写原理
磁条卡的读写都是由磁头执行的,磁头由三部分组成:软磁性磁芯、线圈、磁路间隙。软磁性磁芯组成磁路,它由低矫顽力和 高导磁率的软磁化材料构成。线圈的作用是把线圈中的变化的电动势变成变化的磁通或者是将线圈中变化的磁通变成变化的电 动势。磁路间隙的作用是形成漏磁。
为了将数据信息写入磁卡,首先要进行编码如:调频制(FM)。调相制(PM),改进调频制(MFM,F2F)等。将经过编码的信号电流通人写磁头,并且使写磁头与磁卡磁性面贴近,写磁头与磁卡间以一定的速度进行相对运动,磁轨被磁化,信息即被写入到磁卡磁轨之上。 实际的操作是将磁轨贴近磁路间隙,并且以一定的速度通过磁头,磁通因为磁路间隙处的磁阻较大而主要通过磁卡的磁性体来构成磁通回路,使磁轨被磁化,且借助剩磁效应.完成数据信息的写入。
磁卡数据的读出是写入的反向过程,是将磁轨上的磁信号转变成电信号,通过二进制编码转化成二进制信号。最后将二进制信号转变成源信号。实际操作是将磁轨贴近磁路间隙,且磁轨以一定的速度通过磁头,使磁头磁路有磁通变化.根据电磁感应定律,磁头线圈产生感应电势,即磁轨上的磁信号转变成电信号,磁头线圈两端产生电压信号,通过二进制译码磁卡上的信息被读出。
3数据译码方式
3.1磁卡数据记录方式
磁卡上的数据记录是按照IS07811的标准规定,有三个磁道。一磁道的数据记录密度为210bpi,最多可记录79个字母和数字,每个字符由7位编码.一磁道是只读磁道。二磁道的数据记录密度为75bpi,最多可记录40个数字,每个字符有5位编码,二磁道也是只读磁道。三磁道的数据记录密度是210bpi,最多可以记录107个数字,每一个字符由5位编码,三磁道是读写磁道。在银行系统的运用中。所有的银行磁条卡都运用二磁道。根据各个银行规定可以选择运用三磁道.一磁道暂不使用。
以二磁道为例,每5个bit组成一个byte的数据,p1,c4,c3,c2,c1,其中p1表示奇偶校验位,e1一e4表示数据位,一共可以表示16 种字符.在这些字符当中含有10个阿拉伯数字和6个其他字符。磁道上的数据是逻辑取反的,即磁道上取到的为1的数据,实际表示逻辑0。将取反后得到数据的低四位再加上0X30可以取到相应ASIC码。磁道上的数据可以大体分为6个部分(见表1),磁道开始有一些冗余数据,紧接着是起始标志位,再者是数据区,后是结束标志位。在这之后是LRC(纵向冗余校验位),最后又是冗余数据区。二磁道从开始标志位到结束标志位一共最多可以有40个数据。
冗余数据区不含有效数据,只是用作磁道数据的同步,由若干的1组成,取反后全为数据0。一般在软件译码时,只有当检测到连续出现5位连续1(即表示逻辑0)的冗余数据时,才认为磁道已经开始。开始标志位。磁道上的数据是101O0,取反后是01011。值为0x0B,加上0X30后为字符‘;’。数据区(见表2)包含主账号,字段分隔符,失效日期,服务代码,附加数据。其译码方式与开始标志位相同。结束标志位值为OxlF。其转化成ASIC码为字符‘?’。LRC(纵向冗余校验位)为磁道上各字符的异或和。由于刷卡方向不定.可能为正向刷卡或者是反向刷卡。所以在判断有效数值时以磁道上第一个0(取反即为1)为标志,这是因为无论是使其标志位0x0B还是OxlF其第一个有效位都是0 (取反即为1)。
3.2软件译码方式
经过硬件解调电路出来的信号共有5路,将两个磁道分别对应的时钟CLK信号接主处理器的中断信号,两个磁道数据端分别接主处理器的I/O信号。GradPresent磁卡在线信号CP接主处理器的I/O信号。当刷卡时CP信号为低,且在CLK中断信号为低电平时触发,主处理器在数据口取数据。(取其中的一路信号时序图.见图1)
作正向刷卡数据处理,首先,将接收到的数据一起存放在一段内存区内,判断当第一位为0(取反为1)的数据开始作为有效数据每五个bit取反作为一个字节的数据。第一个数据为0x0B且有能够在40个字节的数据之内有OxlF判断为正向数据接收成功。
推荐文章
论坛热帖