智能IC卡收费器的设计.docx
《智能IC卡收费器的设计.docx》由会员分享,可在线阅读,更多相关《智能IC卡收费器的设计.docx(64页珍藏版)》请在冰豆网上搜索。
![智能IC卡收费器的设计.docx](https://file1.bdocx.com/fileroot1/2023-4/18/caad7b06-6cf9-4a4b-bfa5-12033bbb856e/caad7b06-6cf9-4a4b-bfa5-12033bbb856e1.gif)
智能IC卡收费器的设计
智能IC卡收费器的研究与设计
摘 要:
本论文系统是以STC89C52单片机为核心,配合射频读卡模块,显示电路等组成的控制系统。
当IC卡靠近射频RC522模块时,单片机通过SPI通信控制RC522,使其读取IC卡里面的某个地址的数据,然后对数据进行处理后,在通过SPI通信写入到IC卡里,这样就完成了一次读写过程,使数据保存在IC卡里,掉电也不丢失。
该系统具有灵活性强,易于操作,可靠性高等优点,将会有更广阔的开发前景。
关键词:
IC智能卡;单片机;射频读卡模块
中图分类号:
TM93
TheIntelligentICResearchAndDesign
Abstract:
ThesystemisbasedonSTC89C52singlechipmicrocomputerasthecore,combinedwithRFcardreadermodule,displaycircuit,andcontrolcircuit.WhenclosetotheRFRC522ICcardmodule,microcontrollerthroughtheSPIcommunicationcontrolRC522,toreadtheICcardinsideanaddressdata,thencarriesonprocessingtothedata,inwritingtotheCaryICthroughtheSPIcommunication,sothatthecompletionofareadandwriteprocess,sothatthedataisstoredintheICCary,powerdownisnotthelossof.Thissystemhastheflexibility,easyoperation,highreliability,therewillbemorebroaddevelopmentprospects.
Keywords:
ICsmartcard;singlechip;RFcardreadermodule
CLCnumber:
TM93
智能IC卡收费器研究与设计
引言
IC卡的出现和发展,它将进一步推动人类经济活动支付体系的革命性变革,并将成为21世纪人类最重要、最便利、最不可或缺的工具。
当今,IC卡已逐渐广泛地应用于金融、医疗卫生、社会保险、工商税务、电信、交通管理、智能建筑等各类领域。
IC卡读写器是IC卡与应用系统间的桥梁,它连接在IC卡与PC机之间,承担信息识别、传送、处理任务。
随着IC卡在社会经济各领域广泛应用的需求,与各类IC卡适配的IC卡读写器应运而生,发展迅速快。
IC卡按卡与外界数据传送的形式不同,分为接触式IC卡和非接触式IC卡。
接触式IC卡通过8个触点从读写器获取能量和交换数据,非接触式IC卡通过射频感应从读写器获取能量和交换数据,所以非接触式IC卡又叫射频卡。
现在常见的是接触式IC卡,这类卡的读写操作速度较慢,在公交、考勤等需要频繁。
读写卡的场合就很不方便,而且IC卡的触点暴露在外,容易损坏和搞脏而造成接触不良。
非接触式IC卡是根据电磁感应原理产生的,它的读写操作只需卡片放在读写器附近的一定距离之内就能实现数据交换,无需任何接触,使用非常方便、快捷,不易损坏,因此,在公交、门禁、校园、企事业人事管理等方面有广泛的应用前景。
目前,我国引进的射频IC卡主要有PHILIPS公司的Mifare1和ATMEL公司的Temic卡.而PHILIPS公司的Mifare1卡现在是市场的主流产品,应用越来越广.其典型型号为Mifare1S50,它有1K字节E2PROM用于存放数据,分成16个区,每个区都有自己的密码,完善的安全机制使之具有一卡多用性.
本文是以STC89C52单片机为核心设计的智能IC卡收费器。
1绪论
1.1作品的背景
射频识别(RadioFrequencyIdentification,简称RFID)技术是20世纪90年代开始兴起的一种天线的,非接触方式的自动识别技术,是近几年来发展的前沿科技项目。
该技术主要是利用无线射频方式进行非接触式的通信,实现对被识别物体的自动识别。
射频识别技术的显著优点在于非接触性,因此完成识别工作时无需人工干预,能够实现识别自动化且不易损坏;可识别高速运动物体并可同时识别多个射频标签,操作快捷方便;射频标签不怕油渍、灰尘污染等恶劣的环境,且可以穿透非金属物体进行识别,抗干扰能力强。
RFID技术与互联网、通讯等技术相结合,可实现全球范围内物品跟踪与信息共享。
研究RFID产业对提升社会信息化水平、促进经济可持续发展、提高人民生活质量、增强公共安全与国防安全等方面产生深远影响,具有战略性的重大意义。
射频卡又叫非接触式IC卡,诞生于90年代初,是世界上最近几年发展起来的一项新技术,它成功地将射频识技术和IC卡技术结合起来,解决了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。
由于存在着磁卡和接触式IC卡不可比拟的优点,使之一经问世,便立即引起广泛的关注,并以惊人的速度得到推广应用。
射频卡与接触式IC卡相比较,非接触式卡具有以下优点:
可靠性高,操作方便,快速,防冲突〔非接触式卡中有快速防冲突机制,能防止卡片之间出现数据干扰〕,可以适合于多种应用加密性能好。
随着社会的不断向前推移,人们生活水平的不断提高,也就意味着人们的消费水平也有了很大的提高,商家的收费系统也有很大的改进,应用于生活中许多消费控制系统中,如汽车消毒收费系统,公交刷卡,售饭收费系统,门禁,电梯刷卡系统,交通收费,停车收费等。
1.2作品概述
本文作品是以STC89C52单片机为核心,配合射频读卡模块,显示电路、电源电路等组成的控制系统。
当IC卡靠近射频RC522模块时,单片机通过SPI通信控制RC522,使其读取IC卡里面的某个地址的数据,然后对数据进行处理后,在通过SPI通信写入到IC卡里,这样就完成了一次读写过程,使数据保存在IC卡里,掉电也不丢失。
该作品具有灵活性强,易于操作,可靠性高等优点,将会有更广阔的开发前景。
1.3本文主要结构安排
本文是智能IC卡收费器设计,主要结构安排如下:
第一章为绪论,主要介绍了该智能IC卡收费器设计的背景知识,对系统整体作了一个概述,包括实现的功能,设计的关键问题,器件的选取。
第二章是方案论证,主要论证了读写芯片模块的选取和显示电路部分的选取,分别提出了几种方案,经比较分析,选取了一种最优方案。
读卡芯片模块选用MFRC522,显示电路选取的是LCD1602和LED灯。
第三章主要讲述的是系统主要器件的选用与介绍,包括核心部件STC89C52,射频卡IC卡,射频读卡芯片MFRC522,显示器件LCD1602,稳压器AMS117,介绍了它们的工作原理。
第四、五章为本文的核心章节,就本系统的软硬件进行了详尽地介绍,包括各功能模块的硬件电路设计和软件程序流程图,同时在第五章的开头部分,给出了系统程序的总程序流程图。
第六章为调试部分,介绍调试方案,如何一步步实现该系统的功能。
第七章对全文进行了总结和展望,分析了该系统的特点,并指出该文的不足之处和需要完善的地方。
2方案的论证
2.1智能IC卡收费器的总体框图
作品打算是以STC89C52单片机为核心,配合射频读卡模块,显示电路、电源电路等组成的控制系统。
作品的总体框图如图1所示:
图1智能IC卡收费器总体框图
2.2读卡芯片的选取
2.2.1MFRC522
MFRC522是应用于13.56MHz非接触式通信中高集成度读写卡系列芯片中的一员。
是NXP 公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择 。
MFRC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
支持ISO14443A的多层应用。
其内部发送器部分可驱动读写器天线与ISO14443A/MIFARE卡和应答机的通信,无需其它的电路。
接收器部分提供一个坚固而有效的解调和解码电路,用于处理ISO14443A兼容的应答器信号。
数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。
此外,它还支持快速CRYPTO1 加密算法,用于验证MIFARE系列产品。
MFRC522支持MIFARE?
更高速的非接触式通信,双向数据传输速率高达424kbit/s。
2.2.2MFRC500
MFRC500是应用于13.56MHz非接触式通信中高集成读卡IC系列中的一员。
该读卡IC系列利用先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。
MFRC500支持ISO14443A所有的层,内部的发送器部分不需要增加有源电路就能够直接驱动操作近距离的天线(可达100mm);接收器部分提供一个坚固而有效的解调和解码电路,用于ISO14443兼容的应答器信号;数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。
此外,它还支持快速CRYPTOI加密算法,用于验证Mifare系列产品。
方便的并行接口可直接连接到任何8位微处理器,给读卡器/终端的设计提供了极大的灵活性。
MFRC500可方便的用于各种基于ISO/IEC14443A标准并且要求低成本、小尺寸、高性能以及单电源的非接触式通信的应用场合。
MFRC500内部包括并行微控制器接口、双向。
FIFO缓冲区、中断、数据处理单元、状态控制单元、安全和密码控制单元、模拟电路接口及天线接口。
MFRC500的外部接口包括数据总线、地址总线、控制总线(包含读写信号和中断等)和电源等。
MFRC500的并行微控制器接口自动检测连接的8位并行接口的类型。
它包含一个易用的双向FIFO缓冲区和一个可配置的中断输出,为连接各种MCU提供了很大的灵活性。
即使采用成本非常低的器件也能满足高速非接触式通信的要求。
数据处理部分执行数据的并行—串行转换。
支持的帧包括CRC和奇偶校验。
MFRC500以完全透明的模式进行操作.因而支
持IS014443A的所有层。
状态和控制部分允许对器件进行配置以适应环境的影响,并将性能调节到最佳状态。
当与MifareStandard和Mifare通信时,使用高速CRYPTOI流密码单元和一个可靠的非易失性密匙存储器。
模拟电路包含一个具有阻抗非常低的桥驱动器输出的发送部分。
这使得最大操作距离可达100mm,接收器可以检测到并解码非常弱的应答信号。
2.2.3MFRC530
MFRC530是应用在13.56MHz的高集成度非接触式读写芯片,集成13.56MHz下的各种被动非接触式通信方法和协议,支持ISO/IEC14443的多层应用。
其发送部分可直接驱动天线,工作距离100mm;接收部分拥有坚固而有效的解调和解码电路,以实现对ISO/IEC14443标准信号的预处理。
其数据处理部分可以处理符合ISO/IEC14443协议的数据帧和错误检测(CRC和奇偶校验),支持快速CRYPTO1加密算法,用于Mifare经典产品的安全认证。
方便的并行接口可以直接连接到任何8位微处理器,这样给读卡器/终端的设计提供类极大的灵活性。
比较以上三种类型读卡芯片,MFRC522具有明显的优点,因此本设计的读卡芯片最终采用MFRC522。
2.3显示屏的选取
2.3.1LCD1602
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602液晶显示器是基于其体积小、功耗低、显示操作简单、编程相对简单的特点。
2.3.2LCD128X64
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4
行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
比较以上两种类型显示屏,LCD1602具有便宜、性价比高的优点,因此本设计的显示屏最终采用LCD1602。
2.4指示灯的选取
2.4.1用蜂鸣器作指示灯
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。
当IC卡靠近射频RC522模块时,单片机通过SPI通信控制RC522,使其读取IC卡里面的某个地址的数据,然后对数据进行处理后,在通过SPI通信写入到IC卡里,这时蜂鸣器响一下。
2.4.2用LED灯作指示灯
发光二极管简称为LED。
由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。
当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。
在电路及仪器中作为指示灯,或者组成文字或数字显示。
砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,氮化镓二极管发蓝光。
因化学性质又分有机发光二极管OLED和无机发光二极管LED。
当IC卡靠近射频RC522模块时,单片机通过SPI通信控制RC522,使其读取IC卡里面的某个地址的数据,然后对数据进行处理后,在通过SPI通信写入到IC卡里,这时LED灯闪一下。
对比以上两种方案,用蜂鸣器噪声有点大,性价比不高,因此用LED灯比较好一些。
3系统主要器件选用与介绍
3.1主控器件STC89C52
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
3.1.1STC89C52的标准功能
图2STC89C52的引脚图
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
3.1.2STC89C52的主要特性
STC89C52RC单片机:
8K字节程序存储空间;
512字节数据存储空间;
内带4K字节EEPROM存储空间;
可直接使用串口下载;
AT89S52单片机:
8K字节程序存储空间;
256字节数据存储空间;
自带2KB的EEPROM存储空间;
3.1.3STC89C52的器件参数
(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.[2]
(2)工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
(4)用户应用程序空间为8K字节
(5)片上集成512字节RAM
(6)通用I/O口(32个),复位后为:
P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
(8)具有EEPROM功能
(9)共3个16位定时器/计数器。
即定时器T0、T1、T2
(10)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
(11)通用异步串行口(UART),还可用定时器软件实现多个UART
(12)工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
(13)PDIP封装
3.2智能IC卡
IC卡 (IntegratedCircuitCard,集成电路卡),也称智能卡(Smartcard)、智慧卡(Intelligentcard)、微电路卡(Microcircuitcard)或微芯片卡等。
它是将一个微电子芯片嵌入
符合ISO7816标准的卡基中,做成卡片形式。
3.2.1IC卡的主要指标
IC卡与读写器之间的通讯方式可以是接触式,也可以是非接触式。
根据通讯接口把IC卡分成接触式IC卡、非接触式IC和双界面卡(同时具备接触式与非接触式通讯接口)。
IC卡的主要指标:
容量为8K位EEPROM
分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位
每个扇区有独立的一组密码及访问控制
每张卡有唯一序列号,为32位
具有防冲突机制,支持多卡操作
无电源,自带天线,内含加密控制逻辑和通讯逻辑电路
数据保存期为10年,可改写10万次,读无限次
工作温度:
-20℃~50℃(湿度为90%)
工作频率:
13.56MHZ
通信速率:
106KBPS
读写距离:
10cm以内(与读写器有关)
3.2.2IC卡的结构
M1卡片的存储容量为8192bitX1位字长(即1KX8位字长),采用EEPROM作为存储介质,整个结构划分为16个扇区,编为扇区0—15。
每个扇区有4个块(Block),分别为块0,块1,块2和块3。
每个块有16个字节。
一个扇区共有16ByteX4=64Byte。
每个扇区的块3(即第四块)包含了该扇区的密码A(6个字节)、存取控制(4个字节)、密码B(6个字节),是一个特殊的块,称为控制块,。
其余三个块是一般的数据块。
数据块有两种应用方法,一种是用作一般的数据保存用,直接读写。
另一种用法是用作数值块,可以进行初始化值、加值、减值、读值的运算。
系统配用相应的函数完成相应的功能。
但扇区0的块0是特殊的,是厂商代码,已固化,不可改写。
扇区存储结构
M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构如表1所示:
表1存储结构
绝对地址存放厂商代码已固化
密码A存取控制密码B
密码A存取控制密码B
密码A存取控制密码B
块0数据块0
扇区0块1数据块1
块2数据块2
块3控制块3
块0数据块4
扇区1块1数据块5
块2数据块6块3控制块7
块0数据块60
扇区15块1数据块61
块2数据块62
块3控制块63
数据块可作两种应用:
用作一般的数据保存,可以进行读、写操作。
用作数据值,可以进行初始化值、加值、减值、读值操作。
每个扇区的块3为控制块,包括了密码A(6字节)、存取控制(4字节)、密码B(6字节)具体结构如图3:
A0A1A2A3A4A5(密码A)FF078069(存取控制)B0B1B2B3B4B5(密码B)
图3扇区结构
每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。
存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如表2:
块0:
C10
C20
C30
块1:
C11
C21
C31
块2:
C12
C22
C32
块3:
C13
C23
C33
表2控制位定义
三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如
进行减值操作必须验证KEYA,进行加值操作必须验证KEYB,等等)。
***块0、1、2的存取控制与块3的存取控制不同
(a)数据块(块0、块1、块2)的存取控制如下:
表3数据块存取控制
控制位(X=0,1,2)
访问条件(对数据块0,1,2)
C1X
C2X
C3X
Read
Write
Increment
Decrement,transfer,Restore
0
0
0
KeyA∣B
KeyA∣B
KeyA∣B
KeyA∣B
0
1
0
KeyA∣B
Never
Never
Never
1
0
0
KeyA∣B
KeyB
Never
Never
1
1
0
KeyA∣B
KeyB
KeyB
KeyA∣B
0
0
1
KeyA∣B
Never
Never
KeyA∣B
0
1
1
KeyB
KeyB
Never
Never
1
0
1
KeyB
Never
Never
Never
1
1
1
Never
Never
Never
Never
(b)控制块块3的存取控制与数据块(块0、1、2)不同,它的存取控制如下
表4控制块块3的存取结构
密码A
存取控制
密码B
C13
C23
C33
Read
Write
Read
Write
Read
Write
0
0
0
Never
KeyA∣B
KeyA∣B
Never
KeyA∣B
KeyA∣B
0
1
0
Never
Never
KeyA∣B
Never
KeyA∣B
Never
1
0
0
Never
KeyB
KeyA∣B
Never
Never
KeyB
1
1
0
Never
Never
KeyA∣B
Never
Never
Never
0
0
1
Never
KeyA∣B
KeyA∣B
KeyA∣B
KeyA∣B
KeyA∣B
0
1
1
Never