设为首页 | 成都一卡通
当前位置: 首页 > 一 卡 通 > 其他一卡通 >
其他一卡通
如何读写接触式IC卡
发布时间:2013-03-18 来源:未知
随着金卡工程的推进,IC卡已经已经十分广泛地应用于包括金融、交通、社保、会员卡等很多领域。
IC卡 (Integrated Circuit Card,集成电路卡)是继磁卡之后出现的又一种新型信息工具。IC卡在有些国家和地区也称智能卡(smart card)、智慧卡(intelligent card)、微电路卡(microcircuit card)或微芯片卡等。它是将一个微电子芯片嵌入符合ISO7816标准的卡基中,做成卡片形式。根据卡中的集成电路的不同,IC卡可以分为三类。
(1)存储卡
主要应用的是卡中的集成电路为EEPROM 。
它仅有数据存储能力,没有数据处理功能。如:
AT24C01A、AT24C02、93C46、AT45D041等。
(2)逻辑加密卡
主要应用的是卡中的集成电路包括具有加密逻辑和EEPROM。如:SLE4442、SLE4428、AT88SC102等。
(3)CPU卡
主要应用的是卡中的集成电路包括CPU 、EEPROM 、RAM 以及固化在ROM 中的COS ( 片内操作系统)。
IC卡读写器是IC卡与应用系统间的桥梁,在ISO较好的标准中称之为接口设备IFD(Interface Device)。IFD内的CPU通过一个接口电路与IC卡相连并进行通信。
本文将以AT24C01存储卡为例,介绍如何利用M051控制接触式IC卡。
一、MuMicro M051概述
N u M i c r o M051系列为ARM C o r t e x - M 0 内核的32位微控制器。Cortex-M0是ARM还不错新的32位嵌入式处理器,拥有可与传统8位单片机匹敌的价格优势。NuMicro M051系列包括M052、M054、M058和M0516。
NuMicro M051内核系列还不错高可运行至50MHz,特别适用于需要高速控制的工业领域,NuMicro M051系列内嵌有8K/16K/32K/64K字节的flash存储器, 4kBflash用于ISP, 及 4kB SRAM。
多种系统级外设功能, 如I/O Port, EBI(外部总线接口)、Timer、UART、SPI、I2C、PWM、ADC、看门狗定时器和欠压检测功能, NuMicro M051系列内建这些功能可以减少系统外围元器件, 节省电路板空间和系统成本,这些功能使NuMicro M051系列适用于广泛应用。
同时, NuMicro M051 内建在线编程功能ISP及在系统编程功能ICP,提供用户多样的编程方式。用户可以直接在电路板上对芯片进行升级。
二、选择M051的理由
1. 宽操作电压
M051系列CPU和其他ARM系列CPU相比支持宽操作电压 (2.5~5.5V),现在市场上大量的IC卡都是5V的,这样就省去了电压转换问题。
2. I/O有准双向功能
GPIO具有准双向功能,兼容8051,操作IC卡的数据I/O口,省去了每次选择方向的问题,简化IC卡的读写程序。
3. 较大的SRAM
和普通8位单片机相比,具有较大的SRAM,我们可以从IC卡上读取比较大的数据块和CPU卡比较大的数据块的处理,数据处理的速度就相应的加快。
三、AT24C01卡介绍
1. 芯片特点
容量为128×8(1KB)、双线串行接口(双线为:时钟线SCL,串行数据线SDA)、双向数据传送协议、支持ISO/IEC7816-3同步协议、高可靠性,擦写次数可达10万个周期,数据保存期达100年。
2. IC卡芯片的触点描述
IC卡芯片各引脚、芯片触电及功能描述见图1与表1。
图1 AT24C01 芯片触点
3. AT24C01卡基本操作
时钟和数据传送:SDA上的数据仅在SCL为高电平时有效,在低电平时允许数据变化见图2。当SCL为高电平时,数据的变化表示“开始”或“停止”两种状态见图3。开始状态和停止状态的定义如下。
图2 有效时序图
图3 开始和停止状态
开始状态:SCL处于高电平时,SDA从高电平转向低电平表示一种操作的开始,所以该状态应在其他命令之前执行。
停止状态:SCL处于高电平时,SDA从低电平转向高电平表示一种操作的结束,将停止所有通信。
确认(ACK):总线数据传送时每成功地传送一个字节数据后,接收器都必须产生一个应答信号,应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据见图4。
图4 数据接收和确认
四、IC卡接口原理图
本系统采用NuMicro M05132位微控制器实现与IC卡的接口,负责卡时钟和数据的存储与读取,预留了其他种类IC卡所需要的RST、FUS、PGM等信号,IC卡的插入与拨出是通过IC卡适配插座上的开关来识别,其硬件接口电路图如图5所示。
图5 硬件接口电路图
五、软件设计
以读命令为例,介绍了AT24C01卡的操作,其C语言程序在电子制作网站下载。
本文采用还不错新ARM Cortex-M0内核的32位微控制器,具有很高的性价比,本方案已在NuTiny-SDKM051开发板验证。