APP下载

基于PN532的接触式和非接触式读卡器设计

2010-06-03陈俊杰朱志杰温耀军

电子技术应用 2010年5期
关键词:智能卡读卡器IC卡

陈俊杰,朱志杰,温耀军

(湖南大学 电气与信息工程学院,湖南 长沙 410082)

智能卡(Smart Card)是将一个专用的集成电路芯片镶嵌于符合ISO7816标准或者ISO14443标准的PVC(或ABS等)塑料基片中,封装成外形与磁卡类似的卡片。智能卡已在众多领域获得广泛应用,并取得了初步的社会效益和经济效益。

市面上的智能卡(Smart Card)可以分成接触式智能卡ICC(Integrated Circuit Cards)和非接触式智能卡PICC(Proximity Card),与之对应的读卡器则分成接触式和非接触式两类[1]。

巨大的智能卡市场更加速了与之相配套的读卡器产业的发展。一般读卡器仅支持接触式智能卡ICC或非接触式智能卡PICC其中的一种,这无形中增加了读卡器的成本。在此背景下,本文探讨了一款能兼容接触式和非接触式两种智能卡的读卡器。

1 多功能读卡器的系统组成

该多功能读卡器主要由Sitronix的主控芯片ST2211[2]和NXP的射频芯片PN532组成。ST2211芯片内部集成接触式智能卡控制模块,该模块支持符合ISO7816标准和EMV模块的接触式智能卡。射频芯片PN532内部具有输出驱动缓存器,能读写符合ISO14443 TypeA和TypeB的非接触式智能卡。ST2211与PN532之间采用标准SPI通信。ST2211有两个16位的专用于SPI通信的输入输出寄存器,其具体使用的位数由BC[3:0]确定。SPI速率是ST2211系统时钟的分频,分频数由SCK[2:0]确定。

图1 多功能读卡器组成框图

多功能读卡器的组成结构如图1所示。主控芯片ST2211通过串口或USB与上位机相连,串口速率支持9 600 b/s和115 200 b/s,USB则支持2.0全速通信。在接触式方面,ST2211通过标准的ISO7806智能卡接口与接触式插座相连。对于非接触式卡,ST2211通过频率为1 MHz的SPI接口与PN532相连,其中输入、输出寄存器均设置为8位,且选择模式0——时钟信号高电平有效,数据信号在时钟信号第一个上升沿采样。

2 多功能读卡器的硬件设计和实现

读卡器的硬件设计主要包括接主控芯片ST2211电路设计、射频芯片PN532外围电路设计和电源设计三方面。

2.1 主控芯片ST2211外围硬件电路设计

芯片 ST2211引脚数为 118, 有 PA、PB、PC、PD 4组通用I/O口,共28个,其中PD口仅为4个引脚。其中PD 4个引脚均可接入外部中断,片内32 KB的ROM,最大可外扩到32 MB,内部包含USB2.0控制模块(最高速度支持12 MB)、看门狗模块和智能卡控制模块。

ST2211的主要外围硬件电路如图2所示。主控芯片扩展了8MB的外部Flash——EN29LV800B,其结构为1024 K×8 bit,需要 23 根地址线(A0~A22)和 8 根数据线(D0~D7),并与ST2211相应引脚相连。片选信号/CE通过三针引脚与主控芯片引脚MMD/CS0相连。当MMD/CS0接地,芯片复位后首先访问内部的32 KB ROM,反之当MMD/CS0与EN29LV800B的片选引脚/CE相连,则复位后从外部的8 MB Flash处开始运行。

接触式智能卡控制模块的连接方式如图2所示,其中“SC_RST,SC_CLK,SC_IO”分别为接触式 IC卡的复位、时钟和IO数据引脚,而电源引脚通过三引脚插针与SC_VCC或 SC_VDD相连,如图 2中“J2”所示。SC_VDD经过MOS管后接至SC_VCC。ST2211的用户手册推荐使用SC_VCC与IC卡的电源引脚相连,但实际中电压经过MOS管后有0.4 V压降,所以是将SC_VDD与IC卡的电源引脚相连。

2.2 射频芯片PN532主要外围硬件电路

PN532是NXP公司推出的应用于13.56 MHz非接触式通信的高集成度IC卡读写芯片,支持ISO14443 TypeA&TpyeB的所有层协议[3],其内部的发送器模块具有输出驱动缓存器,读写距离达100 mm。接收器模块接收天线传来的信号,对该信号进行解调和解码形成相关数据。数字模块负责按ISO14443规定帧格式处理该数据,并使用奇偶校验和CRC校验进行错误检测,其硬件结构如图3所示。

(1)总线类型设计

PN532内部有三种总线类型:HUS(全双工串行总线)、I2C(双线式串行总线)和 SPI(串行总线)。 因为 PN532与主控芯片ST2211之间采用SPI模式进行通信,所以16和 17号引脚分别接“0”和“1”实现 SPI模式通信,图3中的24号引脚接高电平表示选择 SPI通信模式“0”,即时钟信号高电平有效,数据信号是在时钟信号第一个上升沿采样。因为PN532每处理完ST2211一个命令后引脚“IRQ”会产生中断,所以要与 ST2211的具有外部中断的引脚“PD1”相连。

(2)天线设计

该读卡器系统属于电感耦合射频系统,PN532外接天线产生磁通用于向非接触式智能卡提供电源并在读卡器和非接触式智能卡之间传送信号[4]。因此,读卡器天线的构造有两个基本要求:①使天线线圈的电流最大,用于产生最大的磁通量;②足够的带宽,以无失真地传送数据调制和载波信号。

根据频率范围的不同,使用不同的方法将天线线圈接到读卡器发送器的输出端,通过功率匹配将天线线圈直接连接到功率输出级。

由于PN532是低功耗设计,因此智能卡和天线之间的耦合系数不能低于0.3。天线的直径要求介于0.5~1.5 mm之间。该读卡器天线采用总面积为65 mm×54 mm、天线导体宽度为1 mm、圈数为3圈的方形天线。

2.3 读卡器电源设计

主控芯片ST2211输入电压为5.0~6.8 V,正常情况下有两种供电方式:直流DC供电和USB供电。具体的硬件结构如图4所示。

当仅有USB接入时,USBVBUS电源电压经过集成电路IC(RT9285)由5 V升为7 V。同时ST2211内部特殊寄存器“Usb_on_flag”被置位,表示 USB被识别,调节器 1被使能,将 5 V降为 3.3 V并经过引脚“VU5_3”接至引脚“VCC”给ST2211内部MCU供电。同时调节器2被禁止,调节器3被使能,将7 V降至5 V,经过引脚“VBT6_5” 与 引 脚 “SV_VDD” 相 连 , 其 中 寄 存 器“SCVCC_EN”通过 MOS管可以控制接触式 IC卡的电源 引脚“SC_VCC”。

同理,当ST2211与上位机通信仅使用串口时,需外接直流DC,将220 V交流转换成7 V直流。此时调节器2和调节器3被使能,调节器1被禁止。调节器2将7 V直流降至3.3 V,给内部MCU供电。如果USB和串口同时被接入,则在驱动层面串口通信被禁止,仅使用USB接口。

如图 4所示,“SWITCH”是常开开关,与智能 IC卡的卡座机械相连,仅当IC卡插入卡座时才闭合。“SC_DET”为智能 IC卡检测引脚,当 IC卡插入时,开关“SWITCH”闭合,则寄存器SCSB被置位。

图4中LVD模块为低电压检测模块 (Low Voltage Detector),电压检测值可由引脚“VIN”读出。按图4中连接方式,当 R3为 300 kΩ,R4为 100 kΩ 时,可以由式(1)计算得到检测电压为5 V。

当低电压控制寄存器LVDEN被置位时,LVD被使能,引脚“VIN”上的数值经过 30 μs后处于稳定状态,即可以进行读取。因为LVD模块消耗电流,所以当低电压检测完成后,应将LVDEN清零。

射频芯片PN532基于80C51内核,内部包含工作载波为13.56 MHz的非接触式通信模块。整个芯片工作电压为3.3 V,其供电结构如图5所示。

图5中的“VBTIN”网络结点如图4中所示,为USBVBUS经过RT9285升压后与7 V直流DC的连接处。由图5可知VBTIN经过U5稳压成3.3 V后供电给PN532,同时在VBTIN与U5之间加入了一个绝缘栅型增强型P沟道的场效应管来控制电路的通断,如果直接用ST2211的PC5引脚(普通GPIO)来驱动G极,无法将场效应管完全关断,所以为了增大驱动能力,在PC5外还加了NPN的三极管。当读卡器通过USB与上位机相连后,如果主机休眠则可以选择性地通过PC5关闭PN532供电,减少USB的电流消耗。

3 多功能读卡器系统软件架构与设计

该读卡器系统采用了USB和串口两种与上位机通信方式,需经过自定义的驱动层将两种通信接口的数据进行打包成符合微软标准CCID的格式。软件架构如图6所示。其中接触式IC卡的识别是通过卡片插入时相应的开关被闭合来识别的,而非接触式智能卡则是通过每秒4次轮询磁场中是否有卡片来进行识别的。

图6 多功能读卡器的软件架构

读卡器上的主要流程如图7所示,每次重新启动后,处理各种中断,并初始化相关寄存器,然后进入程序主循环。ST2211检测与上位机通信接口是否已经建立,如果有USB中断或者串口中断发生则将数据按标准CCID格式进行打包并继续向下处理,否则仍然在主程序处循环。

图7 多功能读卡器主程序流程图

本文对兼容接触式和非接触式卡片的多功能读卡器的硬件设计进行了较为详细的论述,同时对读卡器系统的软件架构和总体流程作了简介,对于文中涉及的芯片的开发使用有具体指导意义。

[1]李翔.智能卡研发技术与工程实践[M].北京:人民邮电出版社,2003.

[2]Sitronix.ST2211 User’s Manual.Version 0.2 October 2006.

[3]Philips Co Ltd.PN532 datasheet.Rev.3.0-15,2006.

[4]Philips Co Ltd.PN532 User’s Manual.Rev.06-07.2006.

猜你喜欢

智能卡读卡器IC卡
工商业IC卡控制器改造为物联网控制器实践
与淘汰命运抗争 看懂笔记本的读卡器
东方磁卡李晓东:进击的智能卡研发巨子
在用电梯加装外接式IC卡运行控制系统设计改进
基于STC89 单片机的非接触智能卡读写机设计
基于EMV非接通信规范的非接触读卡器设计
为二维码识别的献礼之作——评测平治二维码门禁读卡器
临沂机顶盒智能卡升级方案介绍
MATLAB实现组态王中TCP/IP读卡器监控方法
长春开通公交IC卡充值平