关于磁卡的基本知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于磁卡的基本常识
本文档的目的在于普及与银行卡业务相关的软硬件人员最基本的银行卡片知识,在于提供给各项目负责人一个一个了解银行磁卡的引子。对于想要细究银行磁卡以及磁卡解码电路等方面的资深技术人员可以直接忽略本文档。
一、磁条卡的概念、相关规范标准
磁条卡是一种磁记录介质卡片。它由高强度、耐高温的塑料或纸质涂覆塑料制成,能防潮、耐磨且有一定的柔韧性,携带方便、使用较为稳定可靠。通常,磁卡的一面印刷有说明提示性信息,如插刷卡方向;另一面则有磁层或磁条,具有2-3个磁道以记录有关信息数据。广泛应用于管理公共运输、停车场、电话、电影院、船运、俱乐部、宾馆房间和银行卡纪录等等。
抗磁:简单讲,是用来衡量磁条抵抗因受外界磁场影响而造成数据损失的能力,又称抗消磁性。磁抗(矫顽磁力)单位是OE(奥斯特)。
低磁抗条:普通抗消磁性磁条,磁抗一般为300~650OE。
高磁抗条:具有较高抗消磁性磁条,磁抗一般为2750,3500和4000OE。
磁条卡的标准,国际标准ISO/IEC7811-1,2,3,4,5,6,国家标准有GB/T15120。详细规定了磁条卡的介质、物理尺寸、磁条数据位置、角度、磁性强度、磁条数据位的宽度、磁条数据的前导0等等。
二、卡片硬件构成:
如上图,磁卡一般包含3个磁道,Track1,2,3 的每个磁道宽度相同,大约在2.80mm(0.11 英寸)左右,用于存放用户的数据信息;相邻两个Track 约有0.05mm (0.02 英寸)的间隙(Gap),用于区分相邻的两个磁道;整个磁带宽度在10.29毫米(0.405)左右(如果是应用3 个Track 的磁卡),或是在6.35 毫米(0.25 英寸)左右(如果是应用2 个Track 的磁卡)。实际上我们所接触看到的银行磁卡上的磁带宽度会加宽1~2mm 左右,磁带总宽度在12~13mm 之间。
在磁带上,记录3 个有效磁道数据的起始数据位置和终结数据位置不是在磁带的边缘,而是在磁带边缘向内缩减约7.44mm(0.293 英寸时)为起始数据位置(引导0 区);在磁带边缘向内缩减约6.93mm(0.273英寸)为终止数据位置(尾随0 区);这些标准是为了有效保护磁卡上的数据不易被丢失。因为磁卡边缘上的磁记录数据很容易因物理磨损而被破坏。
按照国标GB/T 15120的相关规定,银行磁卡磁道位置最大可以上下偏移0.5mm(同一磁条边沿最上可以到达位置与最下可以到达位置之间的距离最大为1mm),磁道的宽度一般为2.8mm左右,而C730要求的读磁卡磁头的磁道宽度为1.4±0.1mm,C730磁头定位孔允许偏差的距离为±0.05mm,在最坏情况下,
磁头定位偏差0.1mm,磁头磁道宽度为1.5mm,磁头磁条允许活动空间为1.7mm,因此只要所有构件定位均符合设计要求,则无论上边沿卡还是下边沿卡,磁头磁条始终保持在卡片磁道中,从而保证了刷卡的可靠性。
磁道(Track1,Track2,Track3)使用的数字和字符:
磁卡上3 个Track 一般都是使用“位”(bit)方式来编码的。根据数据所在的Track 不同,5 个bit或7 个bit 组成一个字节。
Track1(IATA):记录密度为210BPI;可以记录0~9 数字及A~Z 字母等;总共可以记录多达79 个数字或字符(包含起始结束符和校验符);每个字符(一个字节)由7 个bit 组成。由于Track1 上的信息不仅可以用数字0~9 来表示,还能用字母A~Z 来表示信息,因此Track1 上信息一般记录了磁卡的使用类型、范围等一些“标记”性、“说明”性的信息。例如银行用卡中,Track1 记录了用户的姓名,卡的有效使用期限以及其他的一些“标记”信息。
Track2(ABA):记录密度为75BPI;可以记录0~9 数字,不能记录A~Z 字符;总共可以记录多达40个数字(包含起始结束符和校验符);每个数据(一个字节)由5 个bit 组成。
Track3(THRIFT):记录密度为210BPI;可以记录0~9 数字,不能记录A~Z 字母;总共可以记录多达107 个数字或字符(包含起始结束符和校验符);每个字符(一个字节)由5 个bit 组成。由于Track2 和Track3 上的信息只能用数字0~9 等来表示,不能用字母A~Z 来表示信息,因此在银行用卡中,Track2,3 一般用以记录用户的帐户信息、款项信息等等,当然还有一些银行所要求的特殊信息等。由于目前我们产品只支持二、三磁道数据解码,因此对于一磁道信号不作介绍。
三、数据在磁条上的存储方式
数据存储在磁条上通常采用双频相位相干记录,数据由数据位和定时位一起构成,在两个时钟之间产生的磁通翻转记为“1”,无磁通翻转记为“0”。数据按照字符的同步序列记录,而不插入间隙,数据存储格式如下图:
四、磁卡数据存储结构
4.1每字节数据构成:
二、三磁道数据每字节均由5bit构成,按照正向刷卡方向,数据构成结构如下图:
正向刷卡正确的情况下,首先获得数据B0(即该字节最低位bit0),然后依次
B1、B2、B3、P,其中P为该字节的奇偶校验位。如果逆向刷卡,则首先获得的是该字节的奇偶校验位。国标GB15120中规定磁卡采用奇校验,即保证每个字节中的1的个数为奇数个。磁卡数据中的起始、结束和纵向冗余校验字节本身都有奇偶校验。
4.2数据构成:
二三磁道数据构成结构都是一样的,即包括一个起始位、若干个数据位、一个结束位、一个冗余校验位,构成结构图如下图:
对于正向刷卡过程,最先获得的是D0数据,也就是磁卡该磁道的起始标记位。而如果逆向刷卡,则首先得到的是校验位,即磁卡该磁道的最后一个有效数据。磁卡磁道最后一个字节为纵向冗余校验位。纵向冗余校验的规则是:磁卡数据每一个字节对应的位上的1的个数为偶数个。纵向冗余校验包含了起始、结束、分隔以及冗余校验字节本身,但是应当注意的是,冗余校验位只对数据位校验,对奇偶校验位不做冗余校验。
注意:按照国标GB15120规定,磁卡二磁道数据最大40字节,磁卡三磁道数据最长107字节,各自包括1个起始位、1个结束位和1个冗余校验位,也就是说,磁卡二磁道有效数据最长不会超过37字节;三磁道有效数据最长不会超过104字节。
五、磁卡硬件解码原理:
按照磁卡数据构成格式,磁卡解码电路通过磁头检测到磁卡中磁信号在固定时间内磁信号的变化,将磁信号转化为0、1数据流输出,我们目前使用的磁卡解码芯片选用M3-2200-33(双磁道,工作电压为3.3V~5V),在刷卡开始时,系统进入刷卡模式,轮询磁卡时钟输出脚电平变化,在时钟下降沿读取1bit解码数据。
M3-2200-33工作电压为3.3V 5%,待机电流1.2mA,解码电路工作电压为1mA,解码速率为200bps~15000bps。工作时序如下:
六、磁卡解码驱动设计原理:
反推磁卡数据及磁卡刷卡流程,磁卡解码驱动应当包含如下几部分:获取磁卡数据(bit流)、解码、冗余校验。