datasheet

一种安全可靠的IC卡读写器系统

2008-04-02来源: 互联网 关键字:密码  循环扫描  IC卡读写器  键盘电路  系列单片机  卡片插入  ACALL  MOV

  人们日常生活中经常接触到磁卡和IC卡,它们是根据卡片上的信息载体的不同而划分的。卡片及其读写器都属于人机接口的输入输出设备。磁卡是在卡片上贴一条窄窄的磁带来记录信息的,它主要用于车船票 、信用卡、电话磁卡、旅馆门钥匙等。IC卡则为近几年才出现的新型卡片,在卡片上嵌有IC(E2PROM,有的还有CPU)。由于它保存的信息比较可靠安全、可以高达几万次的读写,所以大量应用于公交车票 、饭票 、保健卡、收费系统等。下面介绍一种以XICOR公司的X76F100为卡片的、用于存取款的IC卡读写器方案。

  1 硬件组成

  图1为IC卡及其读写器硬件电路图。其中读写器由单片机、键盘、显示、监控电路等部分组成。IC卡采用XICOR公司的X76F100Y。

  

  

  图1 IC卡读写器系统电路图

  1.1 IC卡及卡座

  X76F100为1288位的保密串行FLASH E2PROM,其中读密码和写密码分别为64位。图2为其智能卡Smart Card封装的引脚图。把芯片封装在一个卡片上,将卡片插入IC卡读写器的卡座中,读写器就可以对它进行读写,实现加密、查询、存款、取款等功能。

  IC卡座有8个引脚,当X76F100Y插入时,正好同这几个引脚相连。另外还有两个固定端,其中一个固定端同卡座上一个弹簧片相连,两个触点和簧片就相当于一个常闭开关。当卡未插入时,簧片闭合,P3.2脚保持低电平;当卡插入时,簧片被顶开,P3.2脚变为高电平。当单片机检测到P3.2脚变高,通过P1.3 使X76F100的RST引脚变高,使其复位。

  1.2 单片机

  单片机采用LG公司的GMS97C52。它有8K字节的ROM,256个字节的RAM以及32个I/O口,P1口与串行器件X25045和X76F100连接,P0、P2口用于键盘和显示,P3口中P3.2用于检测IC卡是否插入,其余7个口,可作其它功能扩充。

  

  

  图2 X76F100Y引脚

  1.3 监控电路

  监控电路采用X25045芯片,它包括看门狗定时器、电压监控电路和E2PROM存贮器。其功能是:上掉电时对GMS97C52产生RESET信号;看门狗对系统进行监控,防止死机。

  1.4 键盘电路

  为了方便,键盘接口电路用I/O口实现,它为44结构,16个键。其中数字键11个,功能键4个,回车键1个。

  数字键:0、1、2、3、4、5、6、7、8、9、←(退格)。

  功能键:查询?、存储+、取款-、改密码* 。

  查询?:用户通过读密码可以查询卡中所存的款额。

  存款+ :用户通过写密码可以将款存入卡中。

  取款-:用户通过写密码可以从卡中取款。

  改密码*:分为修改读密码和写密码。为方便起见,令读密码和写密码一致,按此键将同时修改读密码和写密码。

  回车键:8位密码或存取款数输入完确认,以及新密码输入完确认。

  1.5 显示电路

  显示部份采用LED显示器,也用I/O口实现。用于显示系统状态、输入的密码或所要存取的款额以及出错信息等。

  由于GMS97C52的驱动电流有限,在P0、P2口加反向器SN74F04,增加驱动能力。它的吸入电流为64mA,输出电流为15mA,可以保证位选所需的吸入电流。

  2 程序设计

  2.1 主程序流程图

  主程序流程图如图3所示。

  

  

  开机后,系统处于待机状态,不断查询P3.2脚电平,当X76F100插入读写器卡座时,P3.2脚电平变高,单片机检测到P3.2高电平信号时,使P1.3脚电平变高,如果此时为低电平,X76F100复位,输出32位固定的“同步复位响应”数据。然后循环扫描键盘显示程序,进行存款、取款、查询或改密码。一次操作完成后返回,然后不断循环。

  2.2 循环键盘显示程序

  循环扫描键盘显示程序如图4所示,它采用程控扫描方式。键盘实际操作的顺序是:先按功能键,然后依次输入8位(十进制)密码,按回车键确认。当存取款时,随后输入所存取的款额;当修改密码时,随后输入8位新密码,输完后按回车键确认。若输入密码正确,显示IC卡内存款的余额或改密码成功信息(SUCCESS)。若密码不正确,提示重新输入,允许输入密码4次。

  为了记录操作中正在进行的状态,在键盘程序中设置了多个指针。

  (1)KEY 有否按键按下标志。00H表示无键按下,01H表示有键按下。此标志用于判断按键是否已松开,防止误操作。

  (2)FUN为功能键指针,00H表示无功能键按下,01H表示存款(ADD),02H表示取款(SUB),03H表示查询(IQUIRE),04H表示改密码(CHANGE PASSWORD)。

  (3)DIG为允许数字键输入标志,00H表示不允许,01H表示允许。此标志主要是防止输入多余的密码,或输入的款数超出限额。

  (4) NUM表示输入第几个数字,00H表示无数字输入,01H~08H表示输入密码,09H~10H表示输入款数或新密码,若NUM为11H,显示出错信息。

  2.3 X76F100读程序举例

  

  

  图4 循环键盘显示程序流程图

  X76F100为I2C总线E2PROM。SCL为时钟输入,SDA为双向数据输入输出线。通过片输入来控制对器件的访问。下面以页写为例,先结合时序说明X76F100的工作过程,然后给出程序。页写时序如图5所示。在该系统中,GMS97C52为主机,X76F100为从机。首先主机向从机发一个START命令,产生开始条件,然后发写命令字。当从机接到命令后,向主机发一个应答信号NACK。然后跟随8字节密码,随后进入一个写周期,写周期结束后进行密码应答轮询ACK Polling。X76F100要求主机用专用的应答命令55H进行应答轮询。如果输入的密码正确,将返回一个“ACK”。如果密码不正确,将返回“no-ACK”,重试计数器加1,返回到启始位置,提示重新送入写命令字和8字节密码。若密码正确,主机接着送入8个字节的数据,ACK响应成功后,主机发出STOP命令完成写操作。下面是用写密码进行页写的程序。

  

  

  图5 页写时序图(需要密码)

  WRITE_USING_WRITE_PASS: ;用写密码进行写操作

  ACALL     START;调开始命令

  MOV      A,#SECTOR_WR;调页写命令

  ACALL     OUTBYTE;调输出字节命令

  ACALL     NACK;X76F100发应答信号

  ACALL     WR_WR_PASS;调写密码命令

  ACALL     T10ms;10ms延时开始写密码周期

  ACALL     ACK_POLLING;调密码应答轮询子程序

  ACALL     WR_DATA;调页写数据子程序

  ACALL      STOP;调停止命令

  ACALL     T10ms;延时10ms写密码周期

  RET

  WR_WR_PASS: ;将写密码写入X76F100

  MOV      R0,#WR_PASS7;将密码首址送入R0

  MOV      R1,#08H;写密码为8个字节

  WP:MOV      A,@R0  ;将R0中的数据送入A中

  ACALL    OUTBYTE;输出字节子程序

  ACALL    NACK

  INC      R0

  DJNZ     R1,WP

  RET

  WR_DATA: ;将数据写到X76F100中

  MOV     R0,#DATA0;将数据首地址送入R0

  MOV     R1,#08H;一页有8个数据

  WB: MOV     A,@R0 ;将R0中数据送入A

  ACALL    OUTBYTE;调输出字节子程序

  ACALL    NACK;从机发应答信号

  INC      R0;下一个字节

  DJNZ     R1,WB;循环直到R1为0

  RET

  OUTBYTE: ;主机向X76F100发字节

  MOV     R2,#08H;一个字节有8位

  LOOPO:

  CLR      SCL_76

  RLC      A;移位

  MOV     SDA_76,C;将进位送入数据线

  SETB     CL_76

  DJNZ     R2,LOOP;循环直到R2为0

  RET

  START:

  SETB     SDA_76;开始子程序

  SETB     SCL_76

  CLR      SDA_76

  CLR      SCL_76

  RET

  STOP:

  CLR      SDA_76;停止子程序

  SETB     SCL_76

  SETB     SDA_76

  RET

  ACK_POLLING: ;密码应答轮询子程序

  ACALL    START

  MOV     A,#55H;主机发固定应答命令

  ACALL   OUTBYTE

  ACALL   NACK;调从机发应答信号

  JC      PASS_ERROR;若有进位则密码错误

  RET

  PASS_ERROR: ;密码错误

  ACALL   STOP

  RET

  ACK:

  CLR    SDA_76;主机执行一个应答

  ACALL  CLOCK

  RET

  NACK:

  SETB   SDA_76

  从机执行一个应答

  ACALL  CLOCK

  RET

  CLOCK:

  SETB  SCL_76;第9个脉冲

  MOV  C,SDA-76;读SDA状态以判断是否有应答

  CLR   SCL_76

  RET

  T10ms:

  MOV  R7,#064H

  10ms延时

  T10A:

  MOV  R6,#032H

  T10B:

  DJNZ  R6,T10B

  DJNZ  R7,T10A

  RET

 

关键字:密码  循环扫描  IC卡读写器  键盘电路  系列单片机  卡片插入  ACALL  MOV

编辑:ssb 引用地址:http://www.eeworld.com.cn/gykz/2008/0402/article_724.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于CPLD控制的通用视频采集模块
下一篇:二代身份证智能采集器研究与开发

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

智能设备安全测试报告出炉:摄像头最不安全 如何保护隐私

的视频网站账号密码泄露。  另外,路由器和智能音箱在家庭智能设备中的地位在日渐增强,作为入口和中控,他们的安全性将涉及家中的更多设备。  在传统的网络家庭环境中,路由器的作用仅仅是一个网络接入设备,其在安全中的重要性远不如终端设备本身。但在IoT时代,会有越来越多的不同类型,不同功能的设备接入网络,而这些设备与网络相连的入口都是路由器。  同时,智能音箱作为家用智能硬件的“中控台”,地位也尤为重要。一旦“入口”和“中控”被击破,将祸及家庭或公共场景内所有的智能设备。而智能摄像机由于使用场景多、用户基数大,不但涉及用户信息,还涉及声音、画面等用户隐私,也是未来安全预警的重要方面。  360安全大脑建议,产品上市前首先应与专业安全厂商、安全机构
发表于 2018-12-02

警察也破不了!苹果iOS 12完全阻挡美政府密码破解神器

        今年稍早苹果更新了iOS 11.4.1来阻挡美国政府常用的密码破解神器“灰钥匙”(Grey Key),但根据富比士报导,本月稍早的iOS 12补丁让灰钥匙从暴力破解密码的无坚不摧弱化成只能抽出没有加密的部分数据,如档案大小等资讯。        不过目前尚不清楚是从iOS的哪一次更新开始让灰钥匙失效,也不清楚苹果到底做了什么让手机密码变得如此难以破解。在报导中鉴识专家指出,苹果可能是加强了核心防护措施,或者加强了安装软体身份的认证。尽管背后原理尚未确知,但根据明尼苏达州警局透露,要说“苹果阻挡灰钥匙破解更新后的装置”,算是满准确的判断
发表于 2018-10-28

iOS 12封杀破解iPhone密码设备!

之前美国执法部门曾要求苹果留出iPhone的后门,这样方便他们对犯罪分子调查,不过库克严厉的拒绝了,随后一些第三方破解公司把这个工作接手了,而这个工具就是Grayshift。现在外媒给出的确认消息显示,iOS 12发布后,Grayshift就不能使用了,该设备已无法从运行iOS 12以及更高版本的iPhone或者iPad上获取开机密码。整体来说,当破解的iPhone连接Grayshift后,首先要安装一个自制软件,其次机器开始工作对其进行破解,当然解锁的过程比较漫长,最多几天就能搞定,快的几个小时就OK了。对此,苹果也跟随升级,iPhone被锁定一小时之后停用其充电和数据接口。如果想要使用该接口传输数据,必须首先输入手机密码
发表于 2018-10-25
iOS 12封杀破解iPhone密码设备!

揭示华为达芬奇密码:现在就否定寒武纪为时尚早!

   近日,华为2018全连接大会成为业界关注的焦点。在中兴事件和中美贸易战的背景下,华为公布的AI达芬奇计划引发各方关注。达芬奇是什么据悉,华为高管每月都会与员工开会,讨论如何将AI引入从云数据中心到智能手机和监控摄像头等设备之中。据知情人士透露,这一系列工作代号为“达芬奇计划(Project Da Vinci)”,旨在为从终端到云端的众多场景研发AI芯片,支持各种场景和尺度的视频、语音等人工智能任务。华为这次公布的AI芯片,正是达芬奇计划的核心产物。目前,已经面世的昇腾310拥有16T的算力,主要用于数据中心及边缘节点服务器。从某种意义上讲,可以替代英伟达Tesla系列在人工智能运算里的作用。不过,和更早发布
发表于 2018-10-11
揭示华为达芬奇密码:现在就否定寒武纪为时尚早!

为什么手机重启后只能用密码解锁?这篇文章给你答案

        就解锁这一常规动作而言,指纹与人脸都已成为最普遍的认证方式,用起来十分方便。但你是否注意过,大多数手机在重启之后,首次解锁只能通过密码,而不能使用指纹或者人脸识别,这是为什么呢?        日前,一加官方通过微博做了一个简单的科普,解释了为什么手机在重启之后只能通过密码解锁。        原来,指纹信息是独立且只能存放在设备主控芯片一角的一个专门的区域,手机系统并不能够调用。在手机关机之后,存储指纹信息的模块就会被锁定,因此,当我们重启手机之后,需要手动输入密码激活相关模块,接下来手机
发表于 2018-10-10
为什么手机重启后只能用密码解锁?这篇文章给你答案

戴尔易安信助力中医行业数字化转型,80秒破解人体经络密码

随着《“健康中国2030”规划纲要》的发布,“健康中国”战略正式上升为国家战略,健康产业也将成为国民经济支柱性产业。数字化创新作为医疗行业高速增长的主要驱动力,也是推动供给侧改革的根本出路。如何让中国的传统医学接轨科技创新,提升中医诊断的服务质量与工作效率,突出传统医学在维护国民健康方面的优势,决定了中国的传统医学健康产业未来的发展之路。专注于中医诊疗设备的高新技术企业——北京身心康科技有限公司(以下简称“北京身心康科技“)着眼于传统医学健康产业的科技创新,率先引入Dell EMC Embedded Box PC 5000作为中医经络检测仪的运算设备,为数字化“中医CT”构建高效稳定、设计科学的工业级终端计算平台,快速、智能、全面地
发表于 2018-08-17
戴尔易安信助力中医行业数字化转型,80秒破解人体经络密码

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">