重庆兴天下科技有限公司

智慧城市网免费17

收藏

非接触式IC卡读卡器设计

时间:2008-08-18      阅读:9712

    

非接触式IC卡读卡器

 

 

 

产品简介
USB接口IC卡读卡器是公司全新开发的真正USB接口的MIFARE1卡读写器。
此款读写器保留了以往机型的优点,性能更稳定、速度更快、功耗更小,使用了更稳定的电脑USB电源, 故障率更低。由于读卡器的电路板、单片机程序、USB接口驱动程序及函数动态库全部由公司自主开发,所以我们能够把复杂的IC卡认证读写过程集成-—转化为更简单的函数调用操作,即使是从未接触过一卡通开发的软件开发人员,写起程序来也毫无困难,一点都不浪费开发时间。一般的记数、扣费操作,只需一个读卡、一个写卡、一个蜂鸣器响声的函数,就能轻松搞定。支持MIFARE one卡,也就是国内便用zui广泛的例如羊城通之类的IC卡。感应距离为50-100mm。
    外形小巧、新潮流畅、尺寸为(长×宽×高)10.8cm×7.8cm×2.8cm。
读写器电路板上自带一个可编程控制的蜂鸣器,可通过本公司提供的动态库函数使其发出任意时间长的声响。
    自带一个电源指示灯和一个USB通讯指示灯。
    读卡器在使用前,只需将本公司提供的USB驱动自动安装程序在电脑上运行一次,然后将读写器的USB头接入电脑即可使用,读写器的驱动将自动安装,是真正的即插即用。
技术参数
1. 真正USB2.0接口,而不是一般的USB口转串口的模式,通讯稳定快速。
2. 由电脑USB接口提供稳定的电源,无需外接电源,并内置电源保护。
3. 独立自主的底层程序,可控性强,读写更可靠。
4. 强大的功能,全面的程序接口,可实现更多的需求。
5. 两个LED指示灯和一个蜂鸣器,可自编程控制。
6. 支持Mifare 1标准,频率:13.56MHz,感应距离为50mm-100mm。
7. 功耗<0.2W、低功耗造就低故障率。
8. 自主的USB驱动程序,简单快捷的函数库,无需了解底层协议,减少了产品           开发时间。
9. 外形小巧,新潮流畅,(尺寸:长×宽×高)
10.8cm×7.8cm×2.8cm

 

 

 

深圳市正荣电子有限公司
375266501
jdpower
http://www.zrykt.com
http://www.szzrdz.com
杨泉华()
地址:深圳市宝安区龙华镇宝华路173

 

 

 

 

1、工作原理

    非接触式IC卡读卡器以射频识别技术为核心,读卡器内主要使用了1片卡的读/写处理芯片——MMM微模块。其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制。内部结构分为射频区和接口区:射频区内含调制解凋器和电源供电电路,直接与天线连接;接口区有与单片机相连的端口,还具有与射频区相连的收/发器、16字节的数据缓冲器、存放64对传输密钥的ROM、存放3套密钥的只写存储器,以及进行3次证实和数据加密的密码机、防碰撞处理的防碰撞模块和控制单元。读卡器工作时,不断地向外发出一组固定频率的电磁波(13.6MHz)。当有卡靠近时,卡片内有一个LC串联谐振电路,其频率与读卡器的发射频率相同,这样在电磁波的激励下,IC谐振电路产生共振,从而使电容充电有了电荷。在这个电容另一端,接有一个单向导电的电子泵,将电容内的电荷送到另一个电容内存储。当电容器充电达到2V时,此电容就作为电源为卡片上的其他电路提供工作电压,将卡内数据发射出去或接收读卡器发出的数据并保存。

    2、硬件组成

    校园一卡通系统结构复杂,非接触IC卡的读卡器至少应包括充值卡机、消费机及自动挂失机等,其硬件组成大体相同。图1为非接触IC卡及其读卡器硬件电路原理,主要由MMM微模块、单片机、键盘、显示器、存储器、天线和监控电路,以及能构成校园一卡通网络系统的CAN总线节点电路等部分组成。

 


非接触IC卡及其读卡器硬件电路原理  

    读卡器采用单片89C52。其片内有8KB的ROM,256字节的RAM以及32个I/O口。P1口与串行器件24C64和显示、报警电路连接。其中的显示模块采用串行方式进行通信,分别采用P1.0、P1.1模拟时钟信号线和数据线。24C64用来存储本消费终端机地址和其他数据信息。P0口分别与MMM微模块及CAN总线控制器SJA1000相连,用作数据线。P3口用于读/写控制和中断。监控电路采用DS1232L芯片。它是个看门狗定时器,其功能是:上电和掉电时给89C52、MMM模块及CAN总线控制器SJA1000产生RESET信号;看门狗对系统进行监控,防止死机。由于单片机的I/0口资源比较紧张,而键盘需要8个I/O口,因此,键盘处理过程是使用一个独立的cPU(89C2051)。这个CPU专门负责键盘处理,从按键扫描码的获得到通过扫描码再查键码表来获得键码。zui后以串行的方式与主CPU进行通信,主CPU获得键码后再做相应的后续处理。

    CAN总线采用一种串行数据通信协议,它是一种多主总线,其数据长度为8字节,不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN协议的一个zui大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,因此非常适合校园一卡通系统中的各终端机及服务器互联从而构成网络系统。

    3、软件设计

    IC卡读卡器在校园一卡通中一般有3种功能:消费终端、充值卡终端及挂失卡终端机等。其中充值卡终端和挂失卡终端分别读出IC卡序列号,交给服务器进行相关数据处理,并保存到服务器数据库中。消费终端机不但要读取IC卡号交给服务器,还要从服务器数据库中下载与此卡号相对应的金额数据并显示,以及对此数据进行消费运算处理,然后传回服务器数据库(为了安全和管理上的考虑,相关信息并不写入IC卡内)。本文主要以消费终端为例,因此程序主要包括Ic卡读操作程序、键盘扫描程序、显示程序、存储器读/写程序和通信程序。

    (1)主程序流程:主程序主要完成系统变量的初始化,检测操作IC卡,通过串口接收键值,与服务器建立通信,从服务器下载与卡号相关的信息并参与运算和显示等,具体流程如图2所示。 

主程序流程图  

    (2)键盘扫描流程:键盘扫描程序可以采用扫描法和反转法两种方式,本系统键盘扫描功能模块是采用反转法实现的。这个方法实现起来比较方便,先置列线为低电平,对行线进行扫描,查看是否有低电平出现。如果有就是有健按下,再反转置行线为低电平,对列线进行扫描,查看是否有键按下。如果列线中有低电平出现,就表示有键按下;否则,就是无键按下。利用这种方法可以得到按键的扫描码,再根据扫描码查找键码表来确定按键的键码值,然后将键值通过串口发送到主控制器。键盘扫描程序的流程如图3所示。

键盘扫描程序的流程图

    (3)显示程序说明:根据图1,在显示电路中,用P1口的3根I/O口线(P1.0、P1.1、P1.2)分别提供时钟信号(CIK)、串行数据(DA)和使能信号(EN)。MC14499每一次可接收20位串行输人数据,前4位用于控制数码管的小数点显示,后16位是4个数码管的BCD码输人数据。在每帧数据传送之前,必须将EN置0,然后传送20位数据。数据传送完后,再将EN置1。

    (4)对Mifare卡的操作流程:本系统采用中断(INT1)工作模式,即MCU利用MifareRC500提供中断信息对其进行控制。另外,根据系统的需要,可以采用查询方式对MifareRCS00进行操作。整个系统的工作由对Mifare卡操作和系统后台处理两大部分组成。由于篇幅有限,本文只介绍对Mifare卡操作流程。Mifare卡的操作可以分为以下几个步骤:

    ①复位请求。当一张Mifare卡片处在卡片读写器天线的工作范围之内时,程序员控制读写器向卡片发出“REQUESTall”(或“REQUESTstd”)命令。卡片的ATR将启动,将卡片Block0中的卡片类型(TagType)号共2字节传送给读写器,建立卡片与读写器的*步通信联络。如果不进行得位请求操作,读写器对卡片的其他操作将不会进行。

    ②反碰撞操作。如果有多张Mifare卡片处在卡片读写器天线的工作范围之内时,读卡芯片将首先与每一张卡片进行通信,取得每一张卡片的系列号。由于每一张Mifare卡片都具有其*的序列号,决不会相同,因此读卡芯片根据卡片的序列号来保证一次只对一张卡操作。该操作得到的返回值为卡的序列号。

    ③卡选择操作。完成了上述2个步骤之后,读卡芯片必须对卡片进行选择操作。执行操作后,返回卡上的SIZE字节。

    ④认证操作。经过上述3个步骤,在确认已经选择了一张卡片时,读卡芯片在对卡进行读/写操作之前,必须对卡片上已经设置的密码进行认证。如果匹配,才允许进一步的读/写操作。

    ⑤读/写操作。对卡的zui后操作是读、写、增值、减值、存储和传送等操作。相关代码如下:

相关代码 

    每调用一个函数,函数执行完毕都返回一个相应的状态代码(status)。如果成功调用,返回值为0;如果返回值不为0,说明该函数未成功执行从而转到其他操作。

    结语

    本文介绍了校园一卡通系统中非接触IC卡读写器的设计。在此读写器的基础上,只要稍加修改就能开发出不同的射频识别应用系统,如考勤系统、门禁系统、公交车收费系统等。这些都是笔者在学习和实践中得来的,相信能对相关工作人员有一定启发。

 

 
上一篇:柳州推出个性IC卡实现用手表刷卡乘公交车 下一篇:“人脸识别技术”门禁系统成为北京奥运开闭幕式*道防线
提示

请选择您要拨打的电话: