便携式非接触式IC卡读写器的设计
引 言
经过多年的发展和推广,IC卡已经广泛地应用于金融、电信、国防和公共事业等领域。
IC卡按卡与外界数据传送的形式来分,有接触式IC卡和非接触式IC卡两种。当前使用广泛的是接触型IC卡,在这种卡片上,IC芯片有8个触点可与外界接触。非接触式IC卡又称射频卡(Radio Frequencycard),它与读卡设备之间无需接触,采用无线耦合和电磁感应方式与读卡设备之间进行通信。与接触式IC卡和磁卡相比,非接触式IC 卡具有 *** 作方便、读写卡的速度快、防水、防污染、寿命长、能够适应各种恶劣环境等优点。按照工作频率,非接触式IC卡可以分为低频卡和高频卡两类,低频卡的工作频率为125 kHz,高频卡的工作频率为13.56 MHz。兼容ISO14443A的非接触式IC卡的工作频率为13.56 MHz,卡内无需电池,其工作电源由空间电磁感应所产生的感应电池提供。Philips公司的。Mifare系列非接触式IC卡兼容ISO14443A规范,具有高强度加密机制,性能优良,应用广泛。
读写器是所有IC卡应用系统的必须基础设备,目前市场上的绝大多数读写器都要与PC机连接才能正常使用,而且与PC机的接口一般为传统的RS 232接口。在此将讨论采用USB技术的便携式非接触式IC卡读写器的实现方法。
1 便携式USB读写器的硬件原理
这里所设计的便携式带USB接口的IC卡读写器由微控制器(MCU)、射频发射和接收处理单元、USB接口电路、电源电路、液晶显示(LCD)模块、实时时钟以及外部Flash存储器组成。它的结构如图1所示。
读写器以8位单片机AT89S52作为主控制单元。读写器的射频(Radio Frequency)发射和接收处理单元是单片机与非接触式IC卡之间的“桥梁”,它一方面可以将单片机发送给IC卡的指令和数据调制在13.56 MHz的振荡信号上,通过高频天线发射出去;另一方面接收来自IC卡的应答信息,并将其解调成数字信号传送给单片机,实现单片机与IC卡之间的双向通信,它与单片机之间采用并行接口方式连接。
FT245BM是USB接口单元的主要元件,它是单片机与PC机之间的通信“桥梁”,其内部包含一个串行接口引擎(SIE),实现数据的并行转串行和串行转并行过程。
DS12C887为系统提供实时时钟,液晶显示模块HY12864E平时显示时间,读卡时显示所读到的内容。上述元器件以周密的逻辑设计配合,通过程序控制完成对非接触式IC卡的读写。由于内置了锂离子电池及其充电电路,因此读写器可以脱机使用,大大增加了灵活性。脱机使用时,读卡的同时将读卡记录存储在读写器的闪存中。并可以通过USB接口与PC机进行通信,以进行PC机对读写器的控制 *** 作.如发送数据到IC卡、调阅读卡记录等。
2 读写器的硬件电路
2.1 微控制器
微控制器采用AT89S52芯片,该器件使用Atmel公司的高密度非易失性存储器制造技术,可以通过一根并口线方便地进行在系统编程(In System Program-ming)。
2.2 RC500芯片介绍
RC500是Philips公司为Mifare卡设计的专用读卡芯片,它是应用于13.56 MHz非接触式通信中高集成度IC系列中的一员。该系列利用先进的调制和解调概念,完全集成了在13.56 MHz下所有类型的被动非接触式通信方式和协议。
并行微控制器接口自动检测连接的8位并行接口的类型,它包含一个易用的双向FIFO缓冲区和一个可配置的中断输出。这样就为连接各种MCU提供了很大的灵活性。数据处理部分执行数据的并行一串行转换。它支持的帧包括CRC和奇偶校验,以完全透明的方式进行 *** 作,因而支持ISO14443A的所有层。状态和控制部分允许对器件进行配置以适应环境的影响,并使性能调节到最佳状态。当与MIFARE Standard产品和MIFARE产品通信时,使用高速CRYPT01流密码单元和一个可靠的非易失性密钥存储器。模拟电路包含一个具有极低阻抗桥驱动器输出的发送部分。接收器可以检测到并解码非常弱的应答信号。
RC500的工作频率为13.56 MHz,它可以在有效的发射空间内形成一个13.56 MHz的交流电磁场,为处于发射区域的非接触式IC卡提供能量,同时卡或RC500需要传送的数据信息也被调制在这个频率上。RC500与非接触式IC卡之间能量的传递和数据双向传输的过程是初级和次级两个线圈之间的耦合过程,从读写器发射给卡的数据信息在调制前采用米勒(Miller)编码,而从卡到读写器的数据信息采用曼彻斯特(Manchester)编码。
2.3 FT245BM芯片介绍
FT245BM是一种单片的USB到并行的双向接口芯片。它与单片机之间利用8个双向数据线和4个握手协议实现并行接口。其片内的串行接口引擎和USB协议引擎可以完成USB 2.0规范的所有协议和功能。FT245BM工作时需要一个6 MHz外部晶振,通过片内的时钟倍频电路可以为SIE提供一个48 MHz的工作时钟,同时还为片内的微控制器接口单元、串行存储器接口单元提供一个12 MHz的工作时钟。
2.4 硬件电路
带USB接口的非接触式IC卡读写器的硬件电路原理图的主体部分如图3所示。
FT245BM的并行数据总线和AT89S52的P0口相连;它的读写控制信号(RD,WR)分别与AT89S52的P3.0和P3.1相连;TXE为发送缓冲区空信号,与P3.4相连;RXF为接收缓冲区满信号,与P3.5相连。要从读写器发送数据到PC机,只需当TXE为低时将WR由高变低即可将数据写入缓冲区,模块可以自动处理。当PC机通过USB向读写器发送数据时,RXF会变低通知单片机有数据要接收,通过将RD由低变高即可读到数据。单片机可以通过中断方式接收来自FT245BM的数据,由于两个外部中断都被占用,所以用定时/计数器扩展了一个INT接口。FT245BM的外部连接一个串行的 E2PROM(93C46),用于存放USB器件标识码、读写器标识符和说明、设备序列号等信息。
RC500内部包含256个可寻址寄存器,其数据总线与AT89S52的数据总线相连;其复位控制输入信号与AT89S52的P1.6相连,单片机可以控制RC500复位;RC500的输出中断请求与单片机的外部中断INT1相连,以随时接收RC500传过来的数据。
3 软件的实现
3.1 读写器中单片机的软件
读写器内软件的功能包括等待刷卡、接收并处理接收到的PC传来的数据包、存储刷卡记录、LCD显示相关信息等。软件包括主程序、IC卡读写/密码验证等 *** 作、时间显示以及与PC通信中断服务程序。主程序和通信中断服务程序的流程图如图4所示。
3.2 PC端的软件
读写器通过USB接口与PC相连,PC端必须安装并运行FT245.BM的驱动程序和读写器应用程序。通过使用FTDI公司提供的虚拟串口驱动程序,对应用程序,外设看起来如同一个标准的COM口。设置波特率的命令可以忽略,因为无论波特率如何设定,设备总是以它所能达到的最大速度进行传输。同时无需关心 USB接口的枚举、端点、管道、事务和传输方式等复杂的问题。
4 结 语
该系统结构简单实用,在实际运行中具有很高的可靠性,同时具备一定的可扩展性,并可以通过USB接口与计算机相连接,以进行数据通信。由于体积小,重量轻,具有很好的便携性,扩大了其使用范围。在此实现了可脱机使用的便携式的非接触式IC卡读写器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)