非接触式ic卡读卡器_第1页
非接触式ic卡读卡器_第2页
非接触式ic卡读卡器_第3页
非接触式ic卡读卡器_第4页
非接触式ic卡读卡器_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北经贸大学毕业论文河北经贸大学毕业论文非接触式IC卡读卡器25摘要当今世界微电子技术和IT 技术的发展日新月异, 信息技术已广泛地渗透到社会生活的各个领域,在经济和社会发展中发挥着越来越重要的作用。作为信息技术领域发展的分支智能卡即IC卡的出现, 就以其超小的体积、先进的集成电路芯片技术以及特殊的保密措施和无法被破译及仿造的特点, 颇受人们的青睐。本论文以非接触式IC卡的发展背景和趋势介绍了非接触式IC卡读卡器的工作原理,并进行设计制作。着重介绍了阐述了读卡器部分的设计思路和硬件和软件功能的实现,同时简单的介绍了IC卡的设计,从而使整个系统更加完善。首先从硬件的选择上进行了筛选,系统以AT8

2、9S52单片机作为微控制器,基于MFRC500模块设计非接触式IC卡读写器,采用I²C总线的PCF8583作为系统时钟,以多片X5045作为不掉电存储器,采用大屏幕点阵LCD显示,并以RS232接口和计算机通信,采用系统的多种通信接口方式,包括二线制通信模式,模块设计有用户高级读写指令,极大地简化了应用系统对射频卡的操作,应用系统和模块的通信基于二次握手的通信协议,保证了通信的稳定性和可靠性。本设计的提出将在身份识别、金融、证券、电子货币、公共交通、铁路、电信、医疗、商业、工商管理、技术监督、企业管理、智能楼宇、小区物业、社会保障、教育管理、仓储运输等诸多领域独领风骚。关键词 单片机

3、;射频IC卡;射频识别;二线制通信方式;C语言AbstractIn today's world microelectronics technology and IT technology have been developing rapidly,and information technology has been widely permeates every field of social life in economic and social development,plays a more and more important role. As the field of info

4、rmation technology development branch - smart card namely IC card to occur,with its super small volume,advanced IC chip technology and special security measures and cannot be interpreted and counterfeit characteristics,popular with the favour of people.In this paper the development of contactless IC

5、 card is introduced the background and trend contactless IC card reader and the working principle, design production. Introduces emphatically expounds the design ideas and card reader part of the realization of the function of hardware and software,and simple introduced the design of IC card, so tha

6、t the entire system to be more perfect. Begin from hardware choice on the screening, system to AT89S52 SCM as micro controller,RC500 module design based on MF - contactless IC card literacy regulator,with the I²C bus PCF8583 as system clock,with more pieces of X5045 as not to drop,the big scree

7、n electric storage and dot matrix LCD display and computer communication additional RS232 port,using a variety of communication interface way system,including two wire communication mode, module design customers have senior literacy instruction,greatly simplifies application system, the operation of

8、 rfid card application system and module of communication based on quadratic handshake communication protocol, guarantee the stability and reliability of the communication. The design of the proposed to identification,finance,securities,electronic currency,public transportation,railway,telecommunica

9、tion,medical,commercial and business management,technical supervision,enterprise management,intelligent building,residential property,social security,education management,warehousing, transportation and so on many domains dominate.Keywords MCU; Frequency IC card; Rfid; Two wire communication mode; C

10、 language河北经贸大学毕业论文目录1绪论11.1非接触式IC卡读卡器的发展背景11.2非接触式IC卡技术的发展趋势12系统概述33非接触式IC卡的硬件设计43.1工作原理43.2IC卡的结构与组成44非接触式IC卡读卡器的硬件设计64.1MF-RC500射频卡读写模块64.2MCU部分74.3显示和键盘单元电路84.4时钟芯片模块94.5存储器扩展模块104.6天线部分114.7通信部分115系统软件设计125.1卡操作模块软件设计125.2通信接口及通信协议的软件设计135.3线制通信模式145.4两次握手通信协议156非接触式IC卡读写器的软件实现177结论21致谢22参考文献23

11、非接触式IC卡读卡器1 绪论1.1 非接触式IC卡读卡器的发展背景非接触式IC卡是IC卡领域的一项新兴技术,它是射频识别技术和IC卡技术相结合的产物。由于非接触式IC卡具有操作快捷、抗干扰性强、工作距离远、安全性高、便于“一卡多用”等特点,在自动收费、身份识别、和电子钱包等领域具有接触式IC卡无法比拟的优越性,具有广阔的市场前景。非接触式IC卡读卡器是非接触式IC卡应用的项目的关键设备之一。非接触式 IC卡读卡器是根据射频电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。因此,在公交、门禁、校园、企事业等人事管

12、理、娱乐场所等方面有广泛的应用前景。目前我国引进的射频 IC卡主要有PHILIPS公司的Mifare和ATMEL公司的Temic卡。1.2 非接触式IC卡技术的发展趋势目前市场上最常见的非接触式IC卡是非接触式逻辑加密卡,这类IC卡凭借其良好的性能和较高的性价比得到了广大用户的青睐,并已被广泛应用于公交、医疗、校园一卡通,门禁等领域。由于非接触式逻辑加密卡芯片采用的是流密码技术,密钥长度也不是很长(比较典型的密码长度是Mifare的48 bit),因此逻辑加密卡芯片普遍存在着一定的安全隐患,有被黑客破解的可能。在金融、身份识别、电子护照等对安全要求比较高的领域目前更倾向于使用内嵌微处理器的非接

13、触式CPU卡芯片。CPU卡芯片内部都有双重安全机制,第一重是芯片本身集成的加密算法模块,芯片设计公司通常都会将经实践检验最安全的几种加密算法集成入芯片,目前比较常见的安全算法有RSA,3-DES等。国内芯片设计公司还会引入国密算法(SSF33,SCB2,SM2,SM3等)来加强芯片的安全性。国密算法是不对外公开的,因此国密算法一般比其他公开算法的加密算法具有更高的安全性。第二重保护则是CPU卡芯片特有的COS(Card Operation System)系统,COS可以为芯片设立多个相互独立的密码,密钥以目录为单位存放,每个目录下的密钥相互之间独立,并且有防火墙功能(不同目录下密钥不会互相影响

14、)。同时COS内部还设立密码最大重试次数以防止恶意攻击。由此可见,非接触式CPU卡比非接触式逻辑加密卡具有更高的安全性。2 系统概述本IC卡读写器以MCS5l系列微处理机的AT89S52单片机(ATMEL公司)作为微控制器,采用MF-RC500芯片作为射频卡读卡模块,采用I²C总线的PCF8583作为系统时钟,以多片X5045作为不掉电存储器,采用大屏幕点阵LCD显示,并以RS232接口和计算机通信,组成一套功能齐全的非接触IC卡读写系统。当IC卡在天线区域经过时,单片机自动对IC卡进行读写,再把读卡的时间一起存到存储器里边,计算机可以通过RS232串口把相关读卡信息读到计算机上,再

15、进行统计、报表和打印输出等。系统框图如图2-1所示。图2-1 IC卡读写器系统框图3 非接触式IC卡的硬件设计3.1 工作原理射频卡的电气部分由天线、1个高速(106 KB 波特率)的RF 接口、1个控制单元和1个8K位EEP2ROM组成。其工作原理如下:读写器向射频卡发一组固定频率的电磁波,卡片内有1个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有1个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可作为电源为其他电路提供工作电压,将卡内数据发射出去或接收读写器的数据

16、。3.2 IC卡的结构与组成每张卡有唯一的32位序列号,其工作频率为13.56 MHz,存储量为1 KB,分为16个扇区,每扇区一组密码,各扇区的存储区域相互独立,每区可作为不同用途(第0区一般不用) ,实现一卡多用。Mifare卡可擦写10万次以上,其密码验证机制严密,可保证存储存信息的安全可靠;同时该卡具有防冲突机制,可支持多卡同时操作。Mifare one卡有16个扇区,每个扇区又分为4块(块0、块1、块2和块3),每块16个字节,以块为存取单位。除第0扇区的块0(即绝对地址0块) 已经固化,用于存放厂商代码,不可更改之外,其余每个扇区的块0、块1、块2为数据块,可用于存贮数据,块3为控

17、制块,包括密码A(6字节)、存取控制(4字节)和密码B(6字节),其结构如图3-1所示。Mifare one卡每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制,存取控制决定各块的读写权限与密码验证。16 扇区中的每块(包括数据块和控制块) 的存取条件是由密码和存取控制共同决定的。图3-1 Mifare one卡内部结构4 非接触式IC卡读卡器的硬件设计4.1 MF-RC500射频卡读写模块嵌入式读写芯片MF-RC500是与非接触IC卡实现无线通信的核心模块,也是读写器读写非接触IC卡的关键接口芯片。MF-RC500是应用于1356 MHz接触式通信中高集成读卡IC系

18、列中的一员、该读卡IC系列利用了先进的调制和解调概念,完全集成了在1356 MHz下所有类型的被动非接触式通信方式和协议。MF-RC500支持不同的微控制器接口。本IC卡读写器中,单片机主要完成数据采集、处理、存储及控制,MF-RC500与CPU的数据地址线采用总线复用连接;MF-RC500的NWR和NRD与CPU的WR和RD相连;MF-RC500的IRQ与CPU的INT0相连,以接受中断处理;MF-RC500的TX1和TX2通过MAX232与CPU的RXD和TXD相连,以提供与上层主控界面的通信。具体电路见图4-1。图4-1 FRC500与CPU的连接图4.2 MCU部分单片机选用低功耗、高

19、性能和支持ISP(in - systemprogrammable) 功能的CMOS AT89S52,该单片机与MCS-51系列兼容,同时片内带有防死锁的WATCH2 DOG,确保系统稳定运行。MCU单元的复位电路选用芯片X5045,带SPI接口的内部FLASH ,能存储该读写模块的配置信息与模块ID。图4-2 MF-RC500读写模块原理图4.3 显示和键盘单元电路显示模块采用点阵式LCD液晶显示,使用户自定义输入变得非常方便。液晶显示屏(LCD)轻薄短小、低耗电量、平面直角显示影像稳定,并且可视面积大、画面效果好、分辨率高、抗干扰能力强,能够满足本系统显示信息量多的需求。LCD自带字符库,不

20、必利用控制芯片创建字符库,利用LCD的字符库进行编程,可以实现各信息的显示,既节约了资源,又省去了大量编程任务。键盘用于实现向单片机输入数据、传送命令等功能,是简单的人机界面。显示和键盘模块电路图见图4-3。图4-3 显示和键盘模块电路图本系统采用矩阵式键盘,当读写器不联计算机独立工作时,完成读卡、写卡、加值、减值等控制。在系统中软件实现时,可以采用中断方式,也可以采用查询方式,本系统采用查询方式。4.4 时钟芯片模块PCF8583是PHILIPS公司生产的8管脚具有IC总线接口功能的RCT芯片,数据的写入读出通过两根线串行传输,使用中可以节省与微控制器之间的引脚,简化了硬件接口和硬件空间,满

21、足设计中的实时显示的需求。PCF8583是将时钟和RAM集于一体的专用芯片,其内部具有256字节CMOSRAM,可供用户存储适量数据作为存储器件,与扩展EEPROM等相比,PCF8583数据传输速度快、耗时短、功耗较小、可重复写入。该芯片体积小、可靠性高,可节省空间和附加资源,很好地满足了设计功能需求。图4-4 PCF8583电路图4.5 存储器扩展模块X5045是一种集看门狗、电压监控和串行EEPROM三种功能于一身的可编程电路,这种组合设计减少了电路对电路板空间的需求。X5045中的看门狗对系统提供了保护功能,当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET向CPU做出反应,

22、它的电压监控功能还可以保护系统免受低电压的影响;X5045的存储器是带块锁保护的CMOS串行EEPROM 阵列,其内部8位,它与CPU 通过串行通信方式接口,共有4 096个位,可以按512×8个字节来放置数据。X5045具有串行外围接口(SPI)和软件协议的特点,允许工作在简单的四总线。X5045主要是通过一个8位的指令寄存器来控制器件的工作,其指令代码通过SI输入端(MSB在前)写入寄存器。其电路图如下:图4-5 X5045电路图4.6 天线部分天线设计中,最重要的是计算出天线线圈的电感值,从而确定天线旁路电容和电阻值。对天线线圈电感量一般采用经验公式进行估算,若天线设计成常用的

23、环形或矩形,则经验公式为:L=2I1n(ID-KN1.8式中I为导体环一圈的长度;D 为导线的直径或者PCB导体的宽度;K为天线形状因素(对环形天线K=107,对矩形天线K=147);N 为圈数。计算后选电感:L=1µH4.7 通信部分为了使所设计的射频卡读写模块能方便地嵌入到各种应用系统中(如门禁、公交收费、考勤) ,该读写模块可通过3 种方式通信:RS232、TTL 串口和自定义两线制通信模式。通信方式的选择,可在模块中通过RC500的通用跳线来实现。当连接跳线1时,可选择的通信方式为TTL电平串口和二线制通信方式。当采用TTL电平串口方式时,读写模块的串口与外面应用系统串口直接

24、相连;而当采用二线制通信方式时,读写模块内单片机的串口当作普通I/ O 口使用,方便与应用系统I/ O 口连接,以实现二线制通信方式,该通信模式主要用于外接应用系统串口被占用的情况。在连接跳线2 时,所选择的是RS232 串口通信方式,此时,读写模块可直接与PC 通信,电路中MAX232 芯片的作用是实现RS232 电平到TTL 电平之间的转换。5 系统软件设计5.1 卡操作模块软件设计图5-1为卡操作的流程图图5-1 基本流程图复位应答(Answer to request) :M1 射频卡的通讯协议和通讯波特率预先定义好,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该

25、卡是否为M1 射频卡,即验证卡片的卡型。防冲突机制(Anticollision Loop) :当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式,等待下一次选卡,该过程会返回被选卡的序列号。选择卡片(Select Tag) :选择被选中的卡的序列号,并同时返回卡的容量代码。三次互相确认(3 Pass Authentication) :选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在3次相互认证之后就可以通过加密流进行通讯。为实现基于RC500 芯片的IC卡操作的基本操作,需要对RC500 芯片内部64个字节的寄存器进行复杂

26、的配置,并对90个寄存器标志位进行分析和判断。为方便用户对IC 卡产品的开发应用,该读/ 写模块设计对用户屏蔽了复杂的RC500的编程和配置,用户的应用接口是3类简单的高级读/ 写命令,用户通过这些简单的命令操作该读写模块,容易实现对卡的操作。三类读写操作命令包括:模块操作命令、基础命令集、高级命令。模块操作命令集提供了对模块本身的操作,如模块初始化、读取模块设备号、读取模块控制软件版本号、控制模块指示灯及蜂鸣器动作。基础命令集提供了对Mifare卡的最基本底层读写和控制操作,如卡呼叫、读取卡片序列号、卡激活、卡认证、读/ 写卡数据块、加电子钱包、减电子钱包和卡睡眠。高级命令是基础命令的集成,

27、它是为方便用户系统使用特别提供的。用高级命令可极大地提高用户系统的开发速度。该类命令包括读卡类型、读卡序列号、密码认证方式、加载密码A、加载密码B、修改卡片密码、读/写数据块、读/写电子钱包内容和加/减电子钱包内容。以读卡为例说明所提供指令的基本操作格式,该命令用于读取某序列号的卡片中的1个数据块中的数据,指令格式如下:表5-1 指令格式0ACH读卡片数据块表5-2 命令序列命令码命令块长度命令块异或校验码A0ACH05H数据块号,4 字节卡序列号表5-3 正确返回数据数列返回码数据块长度数据块异或校验码B00H10H16字节数据5.2 通信接口及通信协议的软件设计目前可以实现各种嵌入应用模块

28、的接口技术很多,如I²C 总线和串口通信等。该读写模块设计除提供基本的串口通信方式外,还包括一种不占用应用系统串口资源的二线制通信方式。实际应用证明:这种自定义的二线制通信方式占用系统资源少,通信快速可靠,可应用于应用系统中串口已被占用的情况下。5.3 线制通信模式使用二线制通信,用户可以利用应用系统中MCU的任意2根I/ O 线与该读/ 写模块进行通信,将2条通信线分别定义为时钟线SCK和数据SDA,在通信过程中,用户设备为主控方。在通信空闲时,主控方将SCK和SDA 置成高电平;通信开始时,主控方将SDA置低,先发送起始位,接着发送8 位数据,最后发送停止位,数据在SCK的下降沿

29、被发送;读/ 写模块在通信过程中始终查询SDA的状态,若检测到低电平,则开始接收数据。主控方发送完毕后,将SCK和SDA 上拉成高电平。在发送起始位时,SCK的低电平宽度为55s ,在发送其他位时,时钟低电平宽度为16s ,高电平宽度典型值为40s ,模块和应用系统通信的典型时序见图5-2,参数说明见表5-4。图5-2 通信时序图表5-4 时序图中的参数说明参数说明最小值典型值最大值T0SDA 起始位领先时1016800T1起始位时SCK低电平时间4055800T2SCK高电平时间2540800T3SCK低电平时间1015800T4SDA 建立时间1027800T5SDA 保持时间102780

30、05.4 两次握手通信协议应用系统和该射频卡读/写模块的通信可采用标准RS232 或自定义二线制通信模式,系统设计为该2种通信模式设计了基于两次握手的通信协议,该协议简单,可靠性高。假定A代表主控板或应用系统,B代表读/ 写模块,通讯字符为16进制,图5-3出了设计的基于两次握手通信协议流程,其关键点描述如下:A 方与B方通过握手字符进行连接,在发送命令和接收数据时设计有两次握手。第1 次的握手字符分别是23H和45H,即A方在发送命令序列前,先发送23H;B方接收到23H 后对A方应答45H,A方接收到45H认为第一次握手成功,然后给B方发送命令序列;第二次的握手字符分别为67H和89H,即

31、B方接收完A方的命令序列并进行相应的处理,将结果数据发送给A 方前,B方先发送67H,A方接收到67H后给B方回应的89H,B方接收到89H 认为是第2次握手成功,然后给A方发送数据序列。图5-3 握手的通信协议表5-5 A方发送的命令序列的格式为命令码命令块长度命令块异或校验码A1字节1字节若干字节1字节表5-6 B方发送的数据序列的格式为返回码数据块长度数据块异或校验码B1字节1字节若干字节1字节其中:数据块长等于数据块中字节的个数,校验码B是返回码、数据块长度和数据块中的所有字节进行异或而生成的校验码。6 非接触式IC卡读写器的软件实现读写器软件编程采用C语言完成,主要包括IC卡操作流程

32、和主监控程序流程,具体流程图参见图6-1、图6-2。图6-1 IC操作流程图图6-2 主监控程序流程图从图6-1、图6-2中可以看出,读卡是程序中相当重要的必不可少的一部分。以读卡为例,对程序进行说明。在每一次读写IC卡数据时,必须按顺序先执行寻卡、防重叠(碰撞)、选卡片、密码认证等指令,然后才能执行读数据和写数据指令,具体程序如下:char M500PiccRead(unsigned char addr,unsignedchar一data)char idata status = MIOK;char idata tmp = 0:FlushFIFO();M500PcdSetTmo(3);Writ

33、eIO(RegChannelRedundaney,OxOF);ResetInfo(Mlnfo);SerBufer0=PICCREAD;SerBufer1=addr;MlnfonBytesToSend = 2;status = M500PcdCmd(PCDTRANSCEIVE,SerBufer,&MInfo);初始化if(status!= MIOK)if(status! =MINOTAGERR )if(MInfonBitsReceived =4)SerBufer0&=0x0f;if(SerBufer0&OxOa)=0)status = MI_NOTAUTHERR ;els

34、estatus = MI_CODEERR ;memcpy(_data,“000000000000000000”,16)条件满足,处理else Response Processingif(MInfonBytesReceived! =16)status = MIBYTECOUNTERR:memcpy(_data,“000000000000000000”,16)elsememcpy(_data,SerBufer,16);M500PcdSetTmo(1);return status;7 结论本论文介绍了PHILIPS公司的MFICS50非接触式IC卡的内部结构和工作原理,给出了基于MF-RC500的嵌入式读写模块的软硬件设计方法。该设计的主要特点如下:(1)可以通过3种通信方式,包括二线通信模式和应用系统接口,方便嵌入到应用系统中;(2)该模块为用户提供了简单高级读/ 写指令,极大地简化了应用系统对射频卡的操作;(3)应用系统和读/ 写模块的通信是基于二次握手的通信协议,保证了通信可靠性。通用读/写模块设计完成后,使复杂的IC卡技术变得非常简单,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论