世界动态:单片机IC卡读写器怎么设计?单片机IC卡读写器有哪些特性?
(相关资料图)
最近小编看到大家都在讨论单片机IC卡读写器设计相关的事情,对此呢小编也是非常的感应兴趣,那么这件事究竟是怎么发生的呢?具体又是怎么回事呢?下面就是小编搜索到的关于单片机IC卡读写器设计事件的相关信息,我们一起来看一下吧!
1 概述
C卡是集成电路卡(Integrated Circuit Card)的简称,有些国家和地区称之为微芯片卡(Microchip Card)或微电路卡(Microcircuit Card)。IC卡的大小和磁卡相同,它把集成电路镶在塑料卡片上,芯片一般是数据不易丢失的存储器(ROM, EPROM.EPROM), 保护逻辑电路,或者CPU。IC卡最初是为了解决金融交易中的安全性问题而设计的,它带来全新的交易概念与巨大的优势。很快,这一优势也为其他应用部门所看中,使之广泛应用于电话、医疗保健、路禁控制和门锁控制等等系统中。随着时间的推移,应用范围还在不断扩大,使用IC卡的数量呈几何级数增长。同时,为了不同应用场合的需求,IC卡制造商们仍在不断地向市场推出新的IC卡,IC卡的价格将随着使用量的增加而逐年下降,所有这些,无疑又会大大推进IC卡在各个领域的普及。无线SOC开发平台499元 S3C44B0 ARM7开发板378元 S3C2410 ARM9开发板780元 AT91SAM7S64 ARM7 按照IC卡与读写器的数据交换方式,IC卡可分为接触型IC卡和非接触型IC卡。接触型IC卡就是在使用时,通过有形的电极触点将卡的集成电路与外部接口设备直接接触连接来进行数据交换的IC卡。非接触型IC卡是通过无线电波或电磁场感应的方式,将卡中集成电路内的数据与外部设备接口设备通信,卡片不用直接接触接口设备的电极就可以进行数据读写。按照IC卡的功能和结构又可以把IC卡分为存储型IC卡和智能型IC卡。存储型IC卡是属于被动型,它只能实现数据的各种输入/输出。这种类型IC卡内部电路可分为两大功能部分,数据存储部分和数据加密操作控制部分。而且不是所有IC卡都必须具有这两大功能。我们把只有数据存储功能的IC卡称为非加密型存储卡 (Memory Card)。把具有数据存储功能和数据加密操作控制的IC卡称为加密型存储卡(Memory Card with Security Logic), 它们有暂时或永久的数据存储能力,其内容可供处理或判断之用。智能型IC卡就是在IC卡的集成电路中带有微处理器电路的IC卡。它是一种主动型IC卡,不仅能够管理各种数据的I/O操作,校验来自接口设备的个人密码,而且能够根据应用系统的要求主动识别与之连接的接口设备。因此,在智能型IC卡中能够建立各种应用系统的授权,存放多个应用系统的相关数据,并实现对数据信息存储的高可靠性、高安全性控制,可以进行复杂的信息处理和计算通用存贮器IC卡是由通用存贮器芯片封装而成的,由于它的结构和功能简单,生产成本低,使用方便,因此在各领域都得到了广泛的应用。目前用于IC卡的通用存贮器芯片多为E2PROM,其常用的协议主要有两线串行连接协议(I2C)和三线串行链接协议,其中比较常用的是ATMEL公司生产的AT24系列芯片。以该系列中的AT24C01为例,它具有1k的存贮容量,适用于2V~5V的低电压/标准电压的操作,具有低功耗和高可靠性等优点。而AT89C2051 虽是ATMEL公司89系列单片机的低档型,但它具有2k的FLASH ROM(可重编闪速存贮器)、128×8位内部RAM及全静态操作方式,同样也具有低功耗和较强的功能。下面以AT24C2051为例,对通用存贮器IC 卡的工作原理及基本电路连线作一介绍,该线路简单,使用灵活,能可靠地对通用存贮器IC卡进行读写。由于IC卡使用具有流动性与全球性,建立相应的国际标准和国家标准就显得特别重要。在信息技术领域,ISO(国际标准化组织)和IEC(国际电子技术委员会)共同建立了一个技术委员会ISO/IEC JTC1以制定相应国际标准。在IC卡应用系统的设计中,读写设备对IC卡的读写控制的每一个环节都应当遵照相应的国际标准,才能保证数据的正确读取。这是IC卡读写器终端设计的基础。
设计标准而在这些标准当中,对芯片和电气特征的定义和操作时序的要求又显得尤为重要。此处以同步卡的电气特征和时序为例进行介绍。使用这种卡时,接口设备将所有线置于状态L,然后VCC加电,Vpp处于空闲状态,CLK、RST和FCB处于状态L,接口设备的I/O置于接收模式。时钟脉冲在VCC上升沿之后相隔t20后提供,时钟脉冲的持续时间为t25。在时钟脉冲上升沿之后至少相隔t22时间FCB仍维持状态L。在I/O线上得到的第1位数据可视为应答,此时CLK处于状态L,并在CLK下降沿t27之后有效。当FCB置于状态H时,每一个时钟脉冲用于读出I/O线上的下个数据位。在复位应答时,第一个时钟脉冲在FCB上升沿之后t24时间给出。时钟脉冲状态H的持续时间为t25,状态L的持续时间为1us(t26)。第二个及其随后的数据位在时钟为低和CLK下降沿之后t27时间给出。数据位依次用时钟脉冲的上升沿采样。
2 硬件特性
2.1 AT24系列存贮器的特性
AT24系列存贮器芯片采用CMOS工艺制造,内置有高压泵,可在单电压供电条件下工作。其标准封装为8脚DIP封装形式,各引脚的功能说明如下:
SCL:串行时钟。在该脚的上升沿时,系统将数据输入到每个EEPROM器件,在下降沿时输出。
SDA:串行数据。该引脚为开漏极驱动,可双向传送数据。
A0、A1、A2:器件/页面寻址。为器件地址输入端。在AT24C01/02中,该引脚被硬连接。
Vcc:一般输入+5V的工作电压。
图1是符合ISO7816-2标准的IC卡的触点图。对于AT24系列通用存贮器IC卡来说,通常只需使用四个触点。AT24C01的内部组态为128个8位字节,而对随机字寻址则需要一个7位地址。
2.2 总线状态及时序
A24C01的SCL及SDA两总线可通过一个电阻上拉为高电平,SDA上的数据仅在SCL为低电平时周期才能改变。当SCL为高电平时,SDA的改变表示“开始”和“停止”状态。此时,所有地址和数据字都以8位串行码方式输入输出EEPROM。
开始状态:SCL为高电平时,SDA由高电平转入低电平。该命令必须在其它命令前执行。
停止状态:SCL为高电平时,SDA由低电平转入高电平。该命令可终止所有通讯。
确认:相同总线上的设备在收到数据后,以置SDA为低电平的方式对其进行确认。
2.3 器件寻址
AT24系列EEPROM在开始状态后需紧接一个8位器件地址,以进行应读写操作。设备寻址码的高4位为1、0、1、0,对于AT24C01/02,寻址码高4位后面的三位是器件寻址码,与它们的硬连线管脚相对应。最低应是读写选择位,置0时可激发读操作。
具体的格式如下:
1 | 0 | 1 | 0 | A2 | A1 | A0 | R/W |
2.4 AT89C2051芯片
AT89C2051 是MCS-51产品的兼容型,它具有2k的FLASH ROM、128字节ROM,15根I/O引线、两个16位定时/计数器、一个五向量两级中断结构、一个全双工串行口、一个精密模拟比较器以及片内振荡电路和时钟电路。它的P1口和P3口是双向I/O口,其中P1.2~P1.7、P3.0~P3.5和P3.7带有内部上拉电阻。在AT89C2051用作输入端时,将首先向引脚写“1”而使内部MOS管截止以便引脚处于悬浮状态,从而可获得高阻抗输入。
图2为通用存贮器IC卡的基本电路连接图。
3 读写操作软件
当系统采用6MHz晶体振荡器时所定义的I/O口线及器件地址如下:
SCL BIT P1.7
SDA BIT P1.6
DEVICEAD_W DATA 10100000B ;写卡器件地址
DEVICEAD_R DATA 10100001B ;读卡器件地址
3.1 开始条件(START_IC)
在开始条件下,当SCL为高电平时,SDA由高转为低。程序如下:
START_IC:CLR SCL;SCL低电平时才允许SDA更改
NOP ;加入空指令延时以确保信号可靠
NOP
SETB SDA
NOP
NOP
SETB SCL
NOP
NOP
CLR SDA
NOP
NOP
CLR SCL
NOP
RET