微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 手机磁条卡读卡器参考设计应用报告

手机磁条卡读卡器参考设计应用报告

时间:11-19 来源:互联网 点击:
  简介
  在现实生活中,磁卡是最常见的用来识别用户的卡片,无论是国际标准化组织还是中国国标均对这种使用磁介质的存储技术制定了相关标准。磁卡技术广泛被商业,政府,医疗等机构所采用,但最大规模使用还是银行发行的各种信用卡,借记卡等卡片。国际标准化组织ISO发布了ISO 7811系列磁卡的国际标准,从1995年发布第一版标准后持续再修订和增加内容,涵盖了从机械结构到存储方式以及数据格式等一系列的内容。
  以前的银行系统中,读取卡片的工作主要交给收银机或者ATM以及销售终端来完成,这些设备都是由商家提供的,维护成本较高。这一切随2009年出现在美国的方形支付(square)而出现改变,方形支付使用非常廉价的小型终端,这些终端非常小巧,售价低廉甚至免费提供给客户,利用客户的智能手机进行银行交易。仅仅2年时间,这一新的商业形式得到大规模发展,并且在国内出现了多家类似生产厂商且已经成功推出一系列产品。因为这种商业模式中重头还是在网银平台支持,本参考设计仅关注终端本身的设计。
  硬件系统
  


  1 硬件框图
  本设计包含硬件和软件部分,其中软件部分包括MCU侧的固件以及智能手机侧的应用(安卓平台)。如图1,系统硬件由MCU,供电电路,磁头信号调理电路,加密电路以及通讯电路构成。
  


  图1.硬件框图
  2 硬件设计
  2.1 MCU
  MCU采用MSP430F5310,供电范围较宽(1.8V~3.6V),且运行功耗以及待机功耗均非常低。其运行在8MHz@3V 时功耗仅为195uA/MHz。具有多种工作模式,待机时仅1.1uA@3V(RAM保持),在此模式下可以实现快速启动。另外该器件具有较大的RAM以及丰富的外设,定时器资源较丰富。这些特点非常适合本应用的特点即要求绝对的低功耗。
  2.2 供电电路
  供电电路的选择比较多,如图1中所示:可以利用智能手机的耳机接口获得运行所需的电力,但是这种方式的限制是手机的硬件各不相同,耳机电路输出功率从几毫瓦到数十毫瓦不等。为了能够让设备工作,需要20毫瓦左右甚至更多的功率输出,但是相当多的手机的耳机电路无法输出足够的功率供本设备使用。为了兼容尽可能多的手机,较实际的做法是在设备内置小型锂电池或者纽扣电池,以相近的成本提供了较高的兼容性。当设备整体功耗降低到几毫瓦数量级时,使用一颗小型纽扣电池可以支持足够的使用次数。本文的方案为通过耳机获得电力和使用小型锂电池两种场合设计了相应的电路,可以按照性能和成本需求选择。
  2.3 磁头及磁卡介绍
  2.3.1 磁头
  读卡设备的核心部件就是磁头,磁头是将磁信号转换为电信号的关键器件,只有将磁卡上的磁信号转换成电信号,上面存储的信息才能够被读取使用。磁头主要由磁性材料以及盘绕在其上的线圈构成,如图2所示,当有磁场的磁条通过磁头时,因为磁头磁性材料的磁阻较小,磁条磁场的磁力线会从磁头磁性材料中通过,从而在磁头线圈中感应出电信号,这个信号被进一步放大以后就可以进行处理。
  


  图2.磁卡读取示意图
  2.3.2 磁卡
  磁卡的读取与以前广泛使用的磁带机相似,磁卡和磁带都是使用磁场来保存变化的信号,也都是通过磁道与磁头的相对运动以实现磁场到电场的转换。如图3,按照标准规定,磁卡上最多可以有三个磁道,这三个磁道中一和二磁道是只读磁道,第三个磁道是读写磁道。磁道中存储的信息由标准决定,使用哪些磁道受实际应用需求决定。在国内来说,银行磁卡主要是信用卡和借记卡,除了一二磁道外,很多信用卡并未使用第三磁道,而大部分借记卡都会使用第三磁道。
  


  图3.磁道分布示意图
  2.3.3 磁道
  在磁道上覆盖有磁性材料,当需要写入数据时,将磁头线圈通电,电流按照信号变化,由电流产生的磁场将磁道磁化即可,是读取的反向操作。本文只涉及的读取操作,对写入过程不做介绍。对于银行卡来说,上面存储的都是数字信号即“0”和“1”,数字信号是利用磁场的方向的变化和频率的变化来表示的。
  


  图4.磁条磁场分布示意图
  如图4,是ISO-7811中对于磁条信号的规定。左边是磁条表面实际磁场强度的分布情况,可以看到磁条上的磁场的方向始终在交替变化,即每一个数据位(bit)之间反向都是相反的。此外,为了表示“0”和“1”,标准还规定在单位时间内磁场方向变化一次为“0”,而在相同时间内磁场方向变化两次则为“1”。所以,ISO-7811 规定的信号编码实际是基于频率变化的,如图4中的右侧图所示,每个位都携带了时钟信息,不会产生累积误差。
                               
                                                               
                               
                  2.3.4 数据及编码格式
  从前面描述可知,在磁条上面可以有3个磁道,每个磁道都由一系列“0”和“1”构成。ISO-7811规定下,这些“0”和“1”组成了一个个字符。不同磁条的编码方式不同,本文只针对磁条2和磁道3,这两个磁条的编码格式相同如图5所示。从表中可以看出,该编码方式下只有16个可能的字符,即仅仅能表示数字和一些特定的控制字符如开始字符和结束字符等。该编码用5个bit组成一个字符,最高位是奇校验位,剩下4个位是字符本身。
  


  图5.字符编码格式
  有了字符编码,我们就可以在知道在磁条上面到底存放了什么信息。ISO-7811对于磁条的高层应用格式也做了规定如图6.一个磁道的数据以字符“SF”(即“;”)开始,以“EF”字符(即“?”)结束。最后一个字符“LRC”是校验码,也由5个bit组成。该校验码的每一个bit都是由前述所有字符的相应bit的奇校验得到,所以磁条上的数据是进行了双重奇校验。
  


  图6.磁条数据格式
  2.4 通讯接口
  当我们完成了卡片的读取后,需要将加密处理后的卡片信息发送到上层软件进一步处理,本文中的上层软件就是智能手机系统如Android/iOS中的应用程序。由于手机的通信接口有限,目前大都是使用耳机插孔做为接口,这是每台智能手机一定会具备的基本硬件。由于历史原因,带有话筒功能的耳机插孔的信号排布并未被标准化,造成了所谓的“正向”和“反向”接口之分。如图7,左右是两个不同型号手机配备的耳机信号定义,主要区别是话筒和地线的互换了位置。至于哪个是“正”哪个是“反”,是没有定义的也是无所谓的。
  


  图7.耳机接口定义:正向和反向
  2.4.1 手机发送信息给终端
  当手机内的应用软件运行后,会通过耳机发送音频信号给终端,可以通过左声道或者右声道,信号由终端接收并解码。
  2.4.2 终端发送信息给手机
  当终端有信息需要与手机通信时,由于手机的耳机是手机的输出设备,只能利用手机的话筒进行。该通信过程是通过话筒发送音频信号给手机应用软件,并由软件接收解码。
  软件系统
  本设计软件部分包括单片机中的固件以及运行在智能手机操作系统中的应用软件,通过自定的通信协议进行通信及应答,以实现从刷卡到卡片信息传递的任务。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top