基于单片机的非接触式ic卡读写器电气自动化本科学位论文.docx
- 文档编号:24438579
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:47
- 大小:424.61KB
基于单片机的非接触式ic卡读写器电气自动化本科学位论文.docx
《基于单片机的非接触式ic卡读写器电气自动化本科学位论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的非接触式ic卡读写器电气自动化本科学位论文.docx(47页珍藏版)》请在冰豆网上搜索。
基于单片机的非接触式ic卡读写器电气自动化本科学位论文
学科类:
工科学号:
学校代码:
密级:
公开
2015届本科生毕业论文
基于单片机的非接触式IC卡读写器
院系:
电子与信息学院
专业:
电气工程及其自动化
姓名:
指导教师:
答辩日期:
二〇一四年月
毕业论文诚信声明
本人郑重声明:
所呈交的毕业论文《基于单片机的非接触式IC卡读写器》是本人在指导老师的指导下,独立研究、写作的成果。
论文中所引用是他人的无论以何种方式发布的文字、研究成果,均在论文中以明确方式标明。
本声明的法律结果由本人独自承担。
作者签名:
易凌辉
指导教师签名:
年月日
摘要
非接触式IC卡已广泛应用于各个领域,它是射频识别技术和IC卡技术相结合的产物。
基于单片机控制非接触式IC卡读写器的设计已成为IC卡未来发展趋势之一。
课题论文首先介绍了非接触式IC卡其特点、种类、关键技术、典型应用和发展趋势,重点介绍了Philips公司的MIFARE技术,对非接触式IC卡的读写组件MFRC500进行了全面的阐述;在此基础上,论文详细地阐述了非接触式IC卡读卡器的硬件和软件系统设计,并绘制了每一部分电气原理图及接线图。
读卡器的硬件设计包括数码管及LED状态显示电路、蜂鸣器驱动电路、MCU的连接、ZLG500AT读卡模块等几部分的设计,软件设计分为ZLG500AT模块的应用程序的设计和显示部分。
【关键词】IC卡、非接触式、ZLG500AT读卡模块、读卡器
Abstract
ContactlessICcardhasbeenwidelyappliedtovariousfieldwhichisthecombinationofRFtechnologyandICcardtechnology.BasedonsinglechipmicrocomputercontrolthedesignofthecontactlessICcardreadandwritedevicehasbecomeoneofthetrendsforthefuturedevelopmentofICcard.AtfirstthispapergenerallyintroducestheICcardincludingitsfeaturetypekeytechnologyandtypicalusage.AfterthattheMIFAREtechnologydevelopedbyPHILIPSSemiconductorsisintroducedindetail.Basedonthese,thepaperdiscussesthedesignofthecontactlessICcardreaderindetail,includingthecircuitdesignandsoftwaredesign.Thereader'scircuitismadeupofpowersupplycircuitLEDanddisplaycircuitbuzzerdrivecircuitMCUinterfacecircuit,ZLG500ATread-writemoduleandsoon.ThesoftwaredesignincludesprogrammingofZLG500ATmoduleandprogrammingofmainprogram.
【KEYWORDS】ICCard,Contactless,ZLG500ATread-writemodule,Cardreader
目录
一、引言1
1.1研究背景与问题概述1
1.2IC卡的分类1
1.3非接触式IC卡2
1.3.1非接触式IC卡的分类:
2
1.3.2非接触式IC卡的关键技术2
1.4IC卡的国际标准3
二、MIFARE技术4
2.1MIFARE卡概述4
2.2MIFARE1卡的工作原理4
2.2.1MIFARE1卡应用框图4
2.2.2MIFARE1卡功能框图5
2.3MFRC500读写芯片简介6
三、硬件电路设计8
3.1系统总体设计8
3.2单片机最小系统介绍8
3.2.1AT89S52简介8
3.2.2单片机复位电路9
3.3MAX7219及数码管显示9
3.3.1MAX7219简介9
3.3.2MAX7219与单片接口电路11
3.4WBL500UG模块11
3.4.1概述11
3.4.2基本参数11
3.4.3引脚定义12
3.4.4编程说明12
3.4.5通讯命令13
3.5蜂鸣器、工作状态指示灯与单片机接口14
3.5.1蜂鸣器驱动电路14
3.5.2工作状态指示灯电路14
3.6串口通信14
3.6.1MAX232芯片简介14
3.6.2硬件连接图15
四、软件设计16
4.1非接触式IC卡处理子程序流程图16
4.2显示子程序16
4.3读写卡的实现18
五、系统调试20
5.1串口通信20
5.2硬件系统调试20
5.3软件调试20
参考文献21
致谢22
附录23
一、引言
1.1研究背景与问题概述
IC卡(IntegratedCircuitCard,集成电路卡),也叫作智能卡(Smartcard)、智慧卡(Intelligentcard)、微电路卡(Microcircuitcard)或微芯片卡等。
它将一个微电子芯片嵌入符合ISO7816标准的卡基中,行成卡片形式。
IC卡与读写器之间的通讯方式有接触式与非接触式两种。
依据通讯接口把IC卡分成三类接触式IC卡、非接触式IC和双界面卡(同时拥有接触式与非接触式通讯接口)。
单片机的应用,体现在我们生活的方方面面。
单片机后期处理与显示,实现了数据处理功能强大,显示直观、界面友好、性价比高、应用广泛的特点,可广泛应用于工业控制仪器、仪表、机电一体化,智能家居等诸多领域。
单片机控制接触式IC卡读写器的设计就是其中之一的应用。
IC卡具有防磁、防静电、抗破坏性和耐用性强、防伪性好、存储数据安全性高(可加密)、数据存储容量大、应用设备及系统网络环境成本低、品种型号齐全、技术规范成熟等特点。
正是由于IC卡具备诸多无可比拟的优点,因此在金融、税务、公安、交通、邮电、通讯、服务、医疗、保险等各个领域都得到了广泛的重视和应用。
今年来,我国的发卡量年增长率达到百分之40,已成为世界智能卡应用发展最快的国家之一。
1.2IC卡的分类
IC卡可按照多种方法进行划分,依据卡中所镶嵌的集成电路的不同分为以下三类:
(1)存储器卡
(2)逻辑加密卡
(3)CPU卡
严格意义上讲,只有CPU卡才是真正的智能卡。
1.3非接触式IC卡
1.3.1非接触式IC卡的分类:
非接触式IC卡又划分为:
1).射频加密式(RFID)通常称为ID卡。
射频卡的信息存取是通过无线电波来完成的。
主机和射频之间没有机械接触点。
如HID,INDARA,TI,EM等。
例如大多数学校使用的饭卡(厚度比较大的),门禁卡,属于ID卡。
2).射频储存卡(RFIC)通常称为非接触IC卡。
射频储存卡也是通过无线电来存取信息。
它是在存储卡基础上增加了射频收发电路。
比如MIFAREONE。
一些城市早期使用的公交卡,部分学校使用的饭卡,热水卡,属于射频存储卡。
3).射频CPU卡(RFCPU)通常称为有源卡,是在CPU卡的基础上增加了射频收发电路。
CPU卡拥有自己的操作系统COS,才称得上是真正的智能卡。
大城市的公交卡,金融IC卡,极少数学校的饭卡,属于射频CPU卡。
1.3.2非接触式IC卡的关键技术
集各种优点于一身的非接触式IC卡却在设计和制造的过程中存在一些技术难点,主要集中在芯片制造和卡片封装上,这些关键技术是:
(1)射频技术
非接触式IC卡是射频技术和IC卡技术相结合产物,非接触式IC卡的射频技术有以下特殊要求:
因为IC卡的大小的限制,使绝大部分非接触式IC卡的内部不带电池,需通过读写设备无线方式供电,再由卡内的稳定电路产生芯片工作所需的直流电压。
其内部构造如图1-1:
图1-1非接触式IC卡内部结构
(2)低功效技术
对于内置电池和无电池的非接触式IC卡来说通过降低芯片功耗来增加卡片寿命和保证一定的工作距离都至关重要。
卡内芯片通常采取低压低功耗COMS工艺制造,并在电路设计中采用“休眠模式”等技术来降低功耗。
封装技术
又因为非接触式IC卡中内置封装天线、芯片和片外电容等部件,为保证卡片的大小、厚度、柔韧性,需要特殊的封装要求。
(3)安全技术
非接触式IC卡通过芯片的物理安全技术、卡片制作的安全技术与卡的通讯安全技术三方面内容组成其强大的安全技术。
1.4IC卡的国际标准
非接触式IC卡表面无触点,所以接口设备与非接触式卡的通信方式与接触式卡存在区别,提供电源的方式也存在差别,因此ISO/IEC根据接口设备与IC卡作用的距离不同而制定了三个国际标准,如图表1-1所示:
标准
卡类型
作用距离
ISO/IEC10536
密耦合
0﹋10MM
ISO/IEC14443
近耦合
0﹋100MM
ISO/IEC15693
疏耦合
0﹋1000MM
表1-1非接触式IC卡的国际标准
其中ISO/IEC14443有分为TypeA和TypeB两个标准。
本课题开发的非接触式IC卡读写设备即是基于ISO/IEC14443TypeA标准的。
二、MIFARE技术
2.1MIFARE卡概述
NXP半导体(由PHILIPS创建)是世界上第一批研制非接触式IC卡芯片的公司,曾占有全世界同类产品的60%的份额,可谓是对非接触式IC卡引导和推动在全世界的推广使用起着不可替换的作用。
其名下产品有:
内置1K/4K字节EEPROM的逻辑加密卡芯片MifareStandard、384位/64字节EEPROM的缩减型逻辑加密卡芯片MifareLight与MifareUltraLight、4K字节EEPROM的CPU卡MifareDESFire,以及双界面卡芯片MifarePLUS、MifarePRO系列、MifareProx系列和SmartMX系列。
在此着重介绍在全球影响最大、应用最广泛的MifareStandard中的Mifare1S50卡芯片。
以下简称为Mfiare1卡。
Mifare1卡主要特征:
符合国际标准ISO/IEC14443TypeA;
工作频率:
13.56MHz;
数据传输率:
106kbps;
高度安全性:
数据流加密传输,其通过3次互相认证的双向验证机制更是世界唯一的32位4字节)卡号;
一次典型完整处理时间<0.1S;
卡内1K字节EEPROM划分为16个扇区,每区4块,每块16字节,各个扇区通过独立采取多种形式的密钥保护,实现一卡多用和一卡通。
2.2MIFARE1卡的工作原理
2.2.1MIFARE1卡应用框图
一个MIFARE1卡应用系统,至少包括三个部分:
读写器(读写模块)、控制器和MIFARE1卡,如图2-1所示。
图2-1MIFARE1卡应用系统框图
上图中,三个部分分工合作,缺一不可,各部分作用分述如下:
Mifare1卡:
存储数据,如购水量、购电量等。
TX500系列MIFARE卡读写模块:
卡片所需的工作所需能量由射频电波,并与卡片进行通信,实现密钥验证、读卡、写卡等低级操作;同时,TX500为后台计算机或者主控器提供读写卡片的高级接口,封装了读写卡片的复杂性。
后台计算机(或主控器):
可以是PC或者单片机80C51等,由串口或者SPI等与TX500系列MIFARE卡读写模块通信,控制其对卡片进行读写操作,可以把购水量、购电量等写入卡中,或者从卡中扣除购水量等,因此完成整个系统的其他功能。
2.2.2MIFARE1卡功能框图
我们将卡片的PVC膜剥开,可看出它的内部构造,如图2-2所示。
图2-2卡片内部结构
由图可知,卡片里面由一个天线线圈和一个IC芯片构成,然而这个芯片正是我们将要详述的Mifare1S50智能卡芯片。
Mifare1卡芯片的内部功能如图2-3所示。
图2-3Mifare1卡芯片功能框图
上图中,射频接口靠射频电波获得工作所需能量,并与TX500系列MIFARE卡读写模块通信;数字控制单元实现加密、认证与存取控制等功能,是整个IC的核心;存储器保存着各种应用数据和相应的密钥。
2.3MFRC500读写芯片简介
MFRC500属于13.56MHz非接触式通信中高度集成读卡IC系列中的一员。
该读卡IC系列使用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
MFRC500是Philips公司生产的高集成度TYPEA读写器芯片.其主要性能如下:
载波频率为13.56MHz;
集成了编码调制和解调解码的收发电路;
天线驱动电路仅需很少的外围元件,有效距离可达10cm;
内部集成有并行接口控制电路,可自动检测外部微控制器(MCU)的接口类型;
具有内部地址锁存和IRQ线,可以很方便地与MCU接口.
集成有64字节的收发FIFO缓存器;
内部寄存器,命令集,加密算法可支持TYPEA标准的各项功能,同时支持MIFARE类卡的有关协议.数字,模拟,发送电路都有各自独立的供电电源。
三、硬件电路设计
3.1系统总体设计
非接触式IC卡读写器系统的硬件有单片机、数码显示管、非接触式IC卡读写模块、电源、rs232串口通信模块等结构构成(见图3-1)。
图3-1非接触式IC卡读写器系统的硬件框图
3.2单片机最小系统介绍
3.2.1AT89S52简介
AT89S52具有以下特点:
1、与MCS-51单片机产品兼容;
2、8K字节在系统可编程Flash存储器;
3、1000次擦写周期;
4、全静态操作:
0Hz-33MHz;
5、三级加密程序存储器;
6、32个可编程I/O口线;
7、三个16位定时器/计数器;
8、8个中断源;
9、全双工UART串行通道;
10、低功耗空闲和掉电模式;
11、掉电后中断可唤醒;
12、看门狗定时器;
13、双数据指针;
14、掉电标识符。
3.2.2单片机复位电路
单片机的复位都由外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟震荡脉冲(2个机器周期)以上的高电平,单片机就能实现初始化状态复位。
为了保证应用系统可靠的复位,在设计复位电路时,通常使RST引脚保持10ms以上的高电平。
只要RST保持高电平,则AT89S52就可以复位。
当RST从高电平变成低电平以后,单片机从主程序开始执行程序。
3.3MAX7219及数码管显示
3.3.1MAX7219简介
MAX7219是双列直插式芯片,其中SEGA-SEGF是7段驱动输出端,直接驱动LED对应的7个段(SEDDP为小数点去的那个输出端)。
DIG7-DIG0分别接8个共阴显示器的阴极。
参考MAX7219工作时序图:
DIN是待显示信息的数据输入端,以串行方式移入内部的16位寄存器寄存。
CLK是时钟脉冲输入端,在每个CLK脉冲上升沿的作用下,DIN端的1位数据被移入内部寄存器。
LOAD端是装载数据输入端,在DIN端输入数据时,它应保持高电平。
当一组数据被移入内部寄存器后,由LOAD脉冲的上升沿锁定16为数据,最高位(D15)位首先被移入,然后按顺序移入,直至D0位移入。
图3-2输入一组数据的工作时序图
图3-3MAX7219引脚图
MAX7219的所有功能与多样化操作模式都是通过内部寄存器的设定来实现的其内部14个可寻址寄存器的功能及地址如表3-1所示:
功能
地 址
16进制
编码
D15-D12
D11
D10
D9
D8
空操作
X
0
0
0
0
X0
Dig0
X
0
0
0
1
X1
Dig1
X
0
0
1
0
X2
Dig2
X
0
0
1
1
X3
Dig3
X
0
1
0
0
X4
Dig4
X
0
1
0
1
X5
Dig5
X
0
1
1
0
X6
Dig6
X
0
1
1
1
X7
Dig7
X
1
0
0
0
X8
译码模式
X
1
0
0
1
X9
显示亮度
X
1
0
1
0
XA
扫描界限
X
1
0
1
1
XB
停机
X
1
1
0
0
XC
显示测试
X
1
1
1
1
XF
表3-1MAX7219内部寄存器及地址
各内部寄存器含义如下:
1)空操作寄存器(地址XOH)。
用于多片MAX7219级联,在不改变现实或不影响任意功能寄存器的条件下,它允许数据从DIN传送到DOUT。
2)译码模式寄存器(地址X9H)。
该寄存器的8位二进制的各位分别控制8个LED显示器的译码模式。
当高电平时,选择硬件译码模式(BCD-B码译码),当低电平时选择软件译码模式(即送来数据为字形码)。
3)显示亮度寄存器(地址XAH)。
显示亮度可以用硬件和软件2中方法调节。
通过对亮度寄存器中D3-D0位写入不同数值可实现LED显示亮度的控制,从X0H到XFH共16级可调。
4)扫描届限寄存器(地址XBH)。
用于设置LED显示器的实际扫描个数,由该寄存器的D2-D0位设定,当设定值为000B-111B时,表示显示器动态扫描个数为1-8。
5)停机寄存器(地址XCH)。
当D0=1时,MAX7219处于停机状态,所有显示器消隐,寄存器数据保持不变,当D0=1时,处于正常工作状态。
6)显示测试寄存器(地址XFH)。
当D0=0时,正常工作;当D0=1时,处于测试状态,在该状态下不管MAX7219处于扫描模式,全部LED将按最大亮度显示,内部R址X1H-X8H分别对应于DIG0-DIG7。
3.3.2MAX7219与单片接口电路
MAX7219在驱动8位以下LED显示器时,它的DIN、CLK、LOAD端分别接单片机P0-P3口中的任意三条口线,注意在三条线上对地应接几十至几百PF电容。
在P0口作DIN、CLK、LOAD信号线时还应接10KU左右的上拉电容,在显示器与微处理器连接线较长时还应考虑干扰的影响。
MAX7219和单片机的连接如图3-4所式。
图3-4MAX219与单片机连接图
3.4WBL500UG模块
3.4.1概述
射频读写模块是采用MIFARE技术的微型嵌入式非接触式IC卡读写模块。
内嵌ISO14443TYPEA协议解释器,并具有射频驱动和接受功能。
可以简单实现对MIFARE卡的读写操作,读写距离可达100MM,
只要通过PC机发送相应通讯指令就可以实现对应的操作,对应的操作指令3.4.5。
3.4.2基本参数
工作电压:
5vDC
工作电流:
<100mA
通讯接口:
rs232接口TTL电平
适用卡型:
MIFAREONE
数据通讯:
106KBPS
射频频率:
13.56MHz
操作距离:
<100mm
工作温度:
-20---65度
3.4.3引脚定义
该模块尺寸为标准DIP32封装,天线配合模块一起使用,如图3-5所示:
天线模块:
图3-5WBL500模块引脚图
3.4.4编程说明
在一次卡片的操作流程一定要按一下顺序执行:
寻卡、密码校验、读或写卡、关闭卡片,如果任何一个操作出现错误,就应该立即关闭卡片。
寻卡模式(00或者01),如果00模式,在执行了关闭指令之后,卡片必须离开感应区再进入感应区才能寻卡成功,如果01模式,那么在执行了停机指令之后,即时卡片未离开感应区也能感应成功:
对卡片控制区的读写与数据读写相同,只是控制方式不同,同时要注意一定不要写错或者记住所写内容,否则有可能无法再对该区进行操作:
在每一个命令执行后在执行下一个命令前应该有15ms的延时;
在刚开始编程时,为了不写错卡片造成不能读写的环区,在对卡片密码区进行读写之前要将密码区的16个字节先写入一个数据块,再读出,如果写入正确,说明写入操作正确,就可以对密码区进行写操作了;
命令延时最好10ms至20ms。
3.4.5通讯命令
(1)通讯测试:
下传命令:
3C0400600000BCC0D(BCC为58)
成功返回:
3C0101BCC0D(BCC为3C)
错误返回:
3C0100BCC0D
(2)寻卡
下传命令:
3C04017000(寻卡模式00或者01)00BCCOD
成功返回:
3C05四字节卡号00BCC0D
错误返回:
3C01FFBCC0D
(3)密码验证
下传命令:
3C0E016C六字节密码认证模式绝对块号四字节卡号校验位0D
成功返回:
3C020000BCC0D
错误返回:
3C01FFC20D
(4)读卡:
3C0401660000BCCOD
成功返回:
3C1100DATA0---DATA15BCC0D
错误返回:
3C01FFBCC0D
(5)写卡:
3C13016700DATA0--DATA15BCC0D
成功返回:
3C020000BCC0D
错误返回:
3C01FFBCC0D
(6)发光管亮一次:
3C03016D55BCC0D
(7)蜂鸣器响一声:
3C03016B55BCC0D
(8)关闭卡片:
3C0401680000510D
正确返回:
3C02003E0D
错误无返回。
3.5蜂鸣器、工作状态指示灯与单片机接口
3.5.1蜂鸣器驱动电路
由于单片机的I/O口驱动能力有限,一般不能直接驱动压电式蜂鸣器,因此选用NPN型晶体管组成晶体管驱动电路。
蜂鸣器驱动电路如图3-6所示:
图3-6蜂鸣器驱动电路
3.5.2工作状态指示灯电路
要是指示灯亮只需要送低电平。
指示灯电路如图3-7所示
图3-7蜂鸣器驱动电路
3.6串口通信
3.6.1MAX232芯片简介
该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片[14]。
主要特点[15]:
单5V电源工作
LinBiCMOSTM工艺技术
两个驱动器及两个接收器
±30V输入电平
低电源电流:
典型值是8mA
符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28
ESD保护大于MIL-STD-883(方法3015)标准的2000V
图3-8max
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 接触 ic 读写 电气 自动化 本科 学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)