当前位置:文档之家› 基于单片机的非接触式IC卡读卡器设计

基于单片机的非接触式IC卡读卡器设计

白城师范学院本科毕业论文

学校代码:

学生学号:

基于单片机的非接触式IC卡读卡器设计Non-contact IC card reader design based

on single chip microcomputer

学生姓名:

指导教师:

学科专业:电子信息工程

所在单位:

2014年X月

摘要

非接触式IC卡是一种新技术领域的IC卡,这是射频技术和IC卡技术的结合。由于非接触式IC卡快、抗干扰强、安全性高、容易“一卡多用”等特点,在诸如自动充电,识别和电子钱包去具有无可比拟的优越性,以非接触IC卡,它具有广阔的市场前景。非接触式IC卡读卡器是非接触式IC卡应用系统的关键设备之一。本论文介绍了非接触式IC卡其特点、种类、国际标准、关键技术、典型应用和发展趋势,重点介绍了ARM技术,对ARM 进行了全面的阐述;在此基础上,论文详细地阐述了非接触式IC卡读卡器的硬件和软件设计,给出了每一部分的实际电路图和应用程序。读卡器的硬件设计包括ARM技术、蜂鸣器控制电路、MFRC500电路设计。

关键词:IC卡、非接触式、ARM技术、读卡器

Abstract

Non-contact IC Card is one kind of new technology in the field of IC card, which is the combination of RF technology and IC card technology. Because non-contact IC card has some advantages over common IC card such as its high working speed,good anti -jamming quality, there will be a good prospect for it in many fields such as automatic pricing,identity distinguishing,electric wallet and so on. The non-contact IC card reader is one of the key devices of a non-contact IC card system. At first this paper generally introduces the IC card, including its feature, type international standard, key technology and typical usage. Focus on the ARM technology, the ARM are comprehensively described. Based on these, the paper discusses the design of the non-contact IC card reader in detail, including the circuit design and software design. Card reader hardware design include the ARM technology, buzzer control circuit, MFRC500 circuit design.

Keywords:IC Card, non-contact, The ARM technology, Card reader

目录

摘要 ............................................................................................................ I Abstract . (1)

目录 (2)

1 绪论 (3)

2 RFID技术及理论 (4)

2.1 RFID系统结构 (4)

2.2 RFID系统的电子标签—读卡器间能量传输 (4)

2.3 RFID系统的电子标签——读卡器间信息传输 (5)

2.4本章小结 (9)

3 ARM技术 (10)

3.1 ARM处理器概述 (10)

3.2 ARM处理器系列 (10)

3.3 ARM的体系结构 (11)

3.4 ARM/Thumb指令系统 (11)

3.5 ARM处理器的选择 (12)

3.6 LPC2292微处理器 (12)

3.7 本章小结 (12)

4 读卡器的硬件电路设计 (13)

4.1 功能结构图 (13)

4.2射频芯片接口电路设计 (13)

4.3读卡器的核心电路板 (15)

5 系统软件的构建 (16)

5.1 软件结构框架 (16)

5.2 嵌入式操作系统 (16)

5.3 读卡器读写模块软件设计 (16)

5.4 系统初始化及运行 (18)

5.5本章小结 (19)

致谢 (20)

参考文献 (21)

1 绪论

非接触式IC(CICC---Contactless Integrated Circuit Card)也被叫做无触点集成电路卡、射频卡后者非接触式智能卡。早在1968年,德国的Jurgen Dethloff 和Helmut Grotrupp就提出了将集成电路怎么装进身份识别卡中大胆的想法,并在同一年获得了专利权利。1969年12月,日本人Kunitaka Arimura提出了一种可以制造非常靠谱的信用卡方法,并于1970年他获得了专利权利,可结果却被叫识别卡或ID卡(Identification Card)。但是,在当时,他们只是提出了怎么把把集成电路芯片成功装入卡中的想法,并没有做出具体的行动方案。直到1974年,法国的罗兰.莫雷诺(Roland Moreno)工程师才提出了将集成电路芯片嵌在一块塑料基片上组成一张叫做存储卡的正确想法,按照这种方式他做出了全球上的第一张IC卡。1977年6月,CII-Honeywell bull公司才成功将4Kbit的MOS 存储器装进芯片,完成了存储类IC卡的初始模型。1978年,第一张运用Siemens SIKART集成电路芯片的IC卡身份验证和交易卡(identification and transaction card)诞生了。

世界上第一张内部拥有CPU的IC卡(cardiac pacemaker user identity card)诞生于1980年11月,IC卡中嵌着CP8微处理器,制造于CII-Honeywell Bull 公司。1984年,法国的PPT(Posts,Telegrath and Telephones)把IC卡应用到电话卡中,因为IC卡的良好的安全可靠性,所以获得了成功。

2 RFID技术及理论

RFID是“Radio Frequency Identification”的缩写,中文意思是“无限射频识别系统”,是一种以无线电波存取资料的技术,通过无线结合资料,最后和资料库系统链接,组成连接在一起的庞大系统。

由于射频识别技术的飞速发展,并运用到了IC芯片上,推动了非接触式IC 卡的生成和迅速发展。本章将简略第说明和介绍一下射频识别技术,方便清楚非接触式IC卡的基本信息。

2.1 RFID系统结构

RFID技术是一种非接触式的自动识别技术,它的原理是通过电磁传播的特性。RFID系统由三部分组成:计算机通信网络、电子标签、读写器,RFID系统的结构框图如图2.1所示:

图2.1 RFID系统的结构框图

电子标签通常放在需要区分的物品上,因为它内部存放着识别物品所独有的信息,这些信息通过非接触方式读/写来获取。

2.2 RFID系统的电子标签—读卡器间能量传输

电子标签—读卡器有两种信号传输,分别是能量传输和数据传输。能量传输是单向的,只能由读写器到电子标签;数据传输是双向的,可以“写”和“读”双向操作。首先先介绍能量传输。

读写器的L1(天线线圈)与Ci(电容)组成的LC并联谐振回路,它的谐

振频率和发射频率相符,通过加强读写器的天线电流,来提高磁场强度,加强和改善电子标签与读卡器之间的耦合效果。

电子标签的L2(天线线圈)与C1(电容)组成相同的振荡回路,此回路同时有利于改善提高传输效率。

2.3 RFID系统的电子标签——读卡器间信息传输

读写器和电子标签之间的传输信息是建立在数字通信技术理论和技术上的电感耦合式半双工数字数据通信。它的数字通信系统模型如图2.2所示:

图2.2 数字通信系统模型

信源就是传输的原始数据,也就是基带数据;信宿是信息传输的末端,和信源相对应。这两个就是非接触式IC卡中电子标签与读卡器的存储区。

信道为信息传输的渠道和空间,对于标准非接触IC卡系统,它只能通过电磁波作为媒介的无线通信渠道。

信源编码也就是压缩编码,它的作用就是二进制数“1”和“0”来体现模拟信号数字化。它的基本要求:在确保数据传输正确的前提下,使用最少的数字脉冲,来提升信号传输的高效性。

信道编码也就是纠错编码,它的作用就是以一定规则来增加纠错信息,形成新的完整的输出信息编码,以确保接收端能按上述来发现信道传输中的错误可以及时发现和纠正,确保通信的安全可靠性。

接收端和发送端一切对应的反变换。

一、编码类型

数字通信系统有两类编码:信源编码、信道编码。信源编码的目标是提高数字传输的有效性;信道编码的作用是加强提高安全可靠性。在发送端加入纠错码接收端根据规则接受正确的信息。显然,安全可靠性提高了,但传输的有效性就降低了。现在来对二类编码进行介绍:

1.信源编码

数字通信是通过二进制数“0”和“1”来传输信息的,在发送前,通常先进

行信源编码,以此来完成相对应正确的传输码。因为传输信道的场合不同,所以对传输指标也有不同的需求,二进制数“0”和“1”的所表示的也通常不同。通常大家用的数字信号编码有曼彻斯特编码、不归零编码、米勒编码。

2.信道编码

信道编码是数字通信差错控制理论和技术的核心;专门用来克服信息在传输的过程中,因系统特性的不理想和一些信道噪声而引起的错误。

(1)数据传输错误类型和差错控制方式分类

数据传输错误可被分为:随机错误、突发错误。随机错误也被叫做独立错误,它们出错码彼此独立,相对的信道被叫做随机信道;但是突发错误的前一个码元错误很可能影响下一个码元的正确性,以至于误码的大量的密集出现,与它相对应的信道又被称之为突发信道。数字通信系统的差错控制有四种基本类型,如图2.3所示:

发方可以纠正错误的码收方一.FEC

能够发现错误的码

二.ARQ

应答信号

可以纠正和发现错误的码

三.HEC

数据信息

四.IRQ

数据信息

图2.3差错控制基本类型

A 检错重发(Automatic Repeat Request,ARQ)

又称判别反馈和反馈纠错。发送端对其数据进行分组编码,让所有的编码都具备一些检错能力。接收端判别有无错误,然后由反馈信道把判别结果发送回发送端。发送端重新发认为有错误的信息,直到接收端反馈无误。

B 前向纠错(Forward Error Correcting,FEC)

发送端在发送前对数据进行编码,让编码都具备一定的纠错能力。这样接收端就可以按编码规则自己自动的来检测出相应的错误位置并纠正过来。

C 混合差错控制(Hybrid Error Control,HEC)

它是ARQ和FEC的优点结合体。由发送方发送和错误检测码的纠错功能代码的修正能力的传播在接收端将自校正,如果超出纠错能力的代码,它将re-ARQ 方法根据请求。以确保及时和适当的沟通减少妥协选择解码设备复杂性和成本。

D 信息反馈(Information Repeat Request,IRD)

也叫回报检查,是一种无关的信道编码差错控制方式。接收器将接收所有的数据序列返回给发送者通过从发送者的反馈信道来发送数据和反馈数据的比较,以确定错误与否,重发所识别的数据错误,直到发现错误不再。因此,仅适用于传输速率和信道误码率是低的系统。

(2) 奇偶校验码

奇偶校验码(奇偶校验码)是一种最为简单且最广泛使用的检测码,其编码和验证规则如下:发送方发送数据序列为第一组,然后在每个等待太久数据集增加一个奇偶校验位。例如,IC卡系统中的每个字节(8位)为一组,生成是个奇偶校验位和连接的字节和发送每个字节后(实际发送的九位)。

校验位值的规则是:当奇校验,如果包含有奇数个数据集“1”,把校验位“0”;或采取“1”。当我检查,如果包含有奇数个数据集“1”,把校验位“1”;否则,以“0”。即使所有群体,包括含有数字“1”的时候,奇校验总是奇数,当我检查始终是一个偶数校验位;

这种方法优点就是容易实现;缺点是只能检测误差数为奇数,为偶数个的错误是无效的,不能确定位错的位置,以致可以检查不能纠错。由于随机误差概率大于偶数随机故障数为奇数的出现,然后计算机通信系统中的方法,优先考虑与随机故障具有更多的应用,但在信道更意外的错误,不应该单独使用。

(3) 纵向冗余校验

LRC(纵向冗余校验,LRC英格兰也被称为XOR(逻辑异- 或操作)检查或积累和验证,是一种主要用于数据传输检错编码,操作被称为:发送方拟转让的所有数据字节为按位异或逻辑(XOR),随着收入检查并连接到传输数据后;接收信息序列相同的逻辑异或运算的所有字节(包括数据和校验),如果传输是正确的,新的校验和接收器应00 h如果它不是00小时,现有的传输错误该方法具有方法的优点是简单,只需使用微控制器最常见的“异或”指令可以简单,快速的实现;。缺点是在字节交换错误的序列传送是无效的,而不能检查出偶数的同样的错误字节。

(4) 循环码

循环码(Cyclic Codes)),也被称为CRC码,即循环冗余校验(Cyclic Redundancy Check,CRC)短代码,是基于一种线性分组码的现代代数理论。在数据发送端,根据CRC算法的原理,发送CRC值计算,此值发送到到CRC

字段;在接收端,根据从CRC值接收到的发送相比,所接收到的数据帧计算CRC 值,并将计算出的值。如果这两个值,数据的准确性;如果数据是不同的,该数据的错误。以这种方式,经CRC补救可以实现错误检测。循环码的算法比较简单切能力强,因此更适合非接触式IC卡使用的存储空间是有限的。

二、数字信号的调制与解调

电磁波的幅度,频率,相位的三个特征,它们可以改变,以产生各种信号波形的,即在调制过程。称为载波不变的电磁波。由于电磁波有三个特点,所以变化幅度调制方法称为振幅调制幅度调制为短;变化的频率调制方法称为频率调制或FM;改变了相位调制称为相位调制或相位调制。使用调制方法的RFID系统是ASK(幅移键控),FSK(频移键控)和PSK(相移键控),其中ASK的使用最广泛的,读卡器使用该调制方法。

(1)振幅键控(ASK)

实现幅移键控调制方法是比较简单的,当你需要表示二进制1,使载波1的振幅,当需要改变载波调制出二进制0的振幅为零,所以一串二进制代码对应载波幅度对应于1或0。

(2)频移键控(FSK)

这要根据不同码0或1让他们到两个频率调节0频率f,波形信号的调制频率变化后的1至2楼一堆编码的频率变,这种方法的特点是良好的抗干扰性,但会占用更多的带宽比ASK。

(3)相移键控(PSK)

相移根据编码载波信号的相位,如流动相的数据的值键控调制可以被上述的1,180度和不流动相为0,所以经调制编码将成为波形信号的相位变化的字符串作为数据值。

三、读写器—电子标签信息传输

一种射频识别系统来完成数据的传输有两部分:

1.将信号需要读取的数据进行编码,由天线编码调制后转换包含数据载波信号被发出。

2.一个电子标签后收到的载波信号到信号解调,得到的编码数据,然后传输的原始数据是由解码处理所得到。仅仅是信号解码,调制和解调,通过该过程,然后被发送至电子标签的过程数据进行解码。

四、电子标签—读写器信息传输

在RFID系统中,从电子标签返回到读卡器中的数据采用负载调制方法,即所谓的负载调制是通过改变负载电阻的大小,在该电子标签的方式改变信号幅度调制。

副载波中的负载调制,在操作频率的副载波的距离的两侧的第1,以产生两行,然后让子载波的调制信息编码的数据流传输到2副负载的频谱线的边带。这种方式的调制和调制从读卡器到电子标签数据传输模式的,也可以选择频率调制,幅度调制和相位调制方法。副载波频率通常是在工作频率分频器,这很容易实现对射频识别系统中,常用频率为16,32,或64点。所以847 kHz频率(16),424 kHz频率(32),212 kHz频率(64分)的13.56 MHz的RFID系统副载波频率。

2.4本章小结

本章主要是RFID系统的简要概述,然后将RFID系统常见的编解码器和调制方式做出了总结和比较,说明能量传输和信息传输的RFID系统的工作原理。

3 ARM技术

3.1 ARM处理器概述

ARM(“advanced RISC machine Ltd”)公司成立在1990年11月,主要做设计芯片技术然后转让其授权。苹果电脑公司是它的第一个客户,它需要向苹果提供高速、低耗的RISC处理器。但是ARM公司仅仅有有技术,在资金上比较短缺,无法购买昂贵的设备,所以无法制造芯片、测试设备和封装,所以有了伙伴公司,它授权伙伴公司VLSL Technology生产,所有技术由它提供支持,正式这种合作,它取得了初步的成功,也为后来ARM公司的发展打下了坚实的基础。

目前,使ARM技术的支持产权的微处理器,被称为ARM的CPU,从V3版本发展到V6版本,已经在工业控制,通信系统,网络系统,无线系统产品的市场份额,ARM技术在一点一点渗透进人们生活中。

ARM的设计师通常用一种可扩展、移动、集成方便的处理器。采用的ARM 的CPU通常具有以下特点,的如表3.1所示:

表3.1 ARM CPU的主要参数

序号特点

1 体积较小、消耗功率低、低成本、性能高

2 支持Thumb(16位)/ARM(32位)双指令集,能兼容8位/16位器件

3 多数用寄存器,执行指令速度加快

4 数据大多数操作都完成在寄存器中

5 寻找地址方式简单灵活

6 指令的长度相对固定

3.2 ARM处理器系列

因为ARM的处理器的串联结构,除了ARM的特点是一类结构,其它系列的ARM的微处理器都具备自己的特点和使用领域。Securcore系列专为高安全要求的应用程序。此外,还有的是英特尔ARMV4T类别5行的StrongARM的结构和XScale不完全的处理器。简单的介绍ARM微处理器的特点和每个系列的使用领域。

(1)ARM7微处理器系列

ARM微处理器系列为低功耗的32位RISC处理器,采用ARMV4T(纽曼)结构,3级流水线,平均功率消耗为0.6 mW/ MHz的,为66 MHz的时钟速度,对于在价格上更高的要求最合适的和消费应用的功耗。

(2)ARM9微处理器系列

ARM9系列,主要包括ARM9TDMI,ARM920T和ARM940T与缓存宏处

理器单元。全系列ARM9处理器已经Thumb指令集以及基于嵌入式ICEJTAG 软件调试模式。与ARM7系列ARM9系列兼容,并为比ARM7的设计更加灵活。

(3)ARM9E微处理器系列

ARM9E系列集成处理器,其中包括ARM926EJ-S,ARM966E和ARM946E 的- 小- 小,使用单一的处理器内核,提供了一个微控制器,DSP,Java应用系统解决方案,因此用来同时使用DSP和微控制器的场合。这一系列加强数字信号处理的功能,可应用于需要使用DSP结合微控制器,拇指的技术和DSP扩展到ARM指令集,并已嵌入式ICE - RT逻辑,更好地适应发展需要的实时系统。

(4)ARM10E微处理器系列

ARM10E系列包括ARM1020E,ARM1022E和ARM1026EJ-S。该系列处理器具有高性能和低功耗的特点,通过了新宪法结构,具有ARM9相比,其性能有很大的提高。

(5)ARM11微处理器系列

ARM11系列包括ARM1156T2-S和ARM1136J(F)- S,ARM1156T2和ARM1176JZ(F)- S(F)-基于ARMV6指令集架构S. ARM1156T2F-S内核,是首批含ARMThumb产品- 2内核技术,可以使伙伴进一步减少与存储系统相关的生产成本。两个新的内核主要用于多种深嵌入式存储器,总线网络和成像应用,提供了更高的性能和吞吐量,CPU和增加了许多特殊的功能,可以解决的新一代器件的设计问题。

3.3 ARM的体系结构

一、ARM处理器核的结构

ARM处理器内核组成部件有ALU,一般栈堆,桶式移位寄存器,乘法器和指令译码器控制部件。

二、ARM的两种工作状态

在ARM体系结构中,ARM处理器支持3种数据类型:字节、半字和字,其中它们的长度为8位的字节,16位的半字,32位的字。ARM处理器通常情况下有两种工作状态,而且可以随意切换。

(1)ARM状态。(2)Tbumb状态。

三、ARM处理器的寄存器

ARM处理器的37个寄存器分成组,有31个通用寄存器,6个状态寄存器都是32位的。

3.4 ARM/Thumb指令系统

ARM有两种指令,分别为ARM/Thumb指令集,ARM的指令集效率很高,

缺点代码密度比较低;而Thumb指令集具有很好的代码密度,并保留了ARM指令集应有的优势。

ARM处理器寻址方式可分为寄存器寻址、立即寻址、寄存器偏移寻址、基址寻址、多寄存器寻址、快复制寻址和相对寻址。

Thumb指令集没有协处理器指令、信号量指令,指令的第一和第二的操作数都受到一定限制。

3.5 ARM处理器的选择

因为ARM微处理器的内核结构有很多种,生产芯片的厂家也很多,还有各种配置组合,所以在做系统时,如何选择ARM芯片就该重点考虑以下因素:(1)系统的工作频率

(2)晶片内部存储体的容量

(3)晶片内部周围电路选择

除了以上三个方面来描述的标准,还有很多其他因素需要考虑,比如价格,所有诸如兼容性,可根据需要选择合适的ARM处理器系统的设计是非常重要的。

3.6 LPC2292微处理器

主要特性:

1. 2个互连的CAN接口,带有先进的验收滤波器。多个串行接口,包括2个UART(16C550)、高速IIC接口(400kbit/s)和2个SPI接口。

2. 8路10位A心转换器,转换时间低于2.44us。

3. 2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗。

4. 向量中断控制器,可以配置向量地址。

5. 通过存储器接口能把存储器配置编成4组,每组的容量都可达到16MB,数据的宽度分别为8/16/32位。

6. 共有112个通用I/O口(可承受5V电压),公有9个边沿。

7. 通过片内PLL可实现最大为60MHz的CPU操作频率,设置时间为100us。

3.7 本章小结

本章重点介绍了ARM微处理器技术,首先描述ARM微处理器,简单的介绍了一下微处理器的特点和ARM指令系统,然后对如何选择ARM处理器进行了讲解,最后列出了LPC2292微处理器的主要特征。

4 读卡器的硬件电路设计

4.1 功能结构图

本读卡器有天线部分、射频读卡芯片及其接口、ARM7核心板、LED及矩阵键盘接口、通信接口,共一个核心加四个模块组成,如图4.1所示:

图4.1功能结构图

本设计当中使用的中央处理器是PHILIPS公司生产制造的LPC2292型ARM7处理器。系统中处理器同时控制了通信模块,人机交互模块以及存储模块。

4.2射频芯片接口电路设计

射频芯片部分电路由射频芯片,电源滤波部分,模拟信号滤波部分以及相应的外围电路组成,是整个读卡器电路中的核心部分,起着中央处理单元与电子标签之间的桥梁作用。

一、射频卡读写芯片MF RC500的使用概述

系统选用Philips公司的MF RC500作为射频卡读写核心模块,该模块是应用于13.56MHz的非接触式通信中高集成读写芯片系列中的一员,它利用了先进的调制和解调概念完成了在13.56MHz下所有类型的被动非接触通信方式和协议;MF RC500支持ISO/IEC1443A的所有层;MF RC500的主要特性如下:(1)高集成度的模拟电路适用于卡应答;

(2)缓冲输出的驱动器能过用最少的外部元件来连接带天线;

(3)可近距离使用(100mm);

(4)满足ISO/IEC1443A协议的-1~-4部分协议;

(5)引脚能和MF RC530,MF RC632兼容;

(6)带有内部地址的锁存功能的微处理器接口以及一个IRQ中断申请线;

MF RC500的管脚定义如图4.2所示:

图4.2 MF RC500的管脚定义

MF RC500各个管脚的功能如下:

(1)电源组成共分三部分,这样数字、模拟和发射模块就都会有单独的电源为它供电。

(2)数字接口部分:

NCS,芯片选择(低电平可以),这是选择也是激活微处理器的接口;

NWR,写选通信号(低电平可以),控制数据分别将D0~D7口填进MF RC500内部寄存器;

NRD,度选通信号(低电平可以),把MF RC500内部的数据送至D0~D7引脚;

D0~D7,8位双向数据总线;

ALE,地址锁存;

A0~A2,接口类型选择或独立的地址总线。

(3)RF部分:

RX和RF接收口;

TX1和TX2,RF发射口1和口2。

(4)其他:

AUX,辅助输出,此引脚能过输出模拟信号,这些信号都经过TestAnaOutSe 寄存器来设置并选择;

IRQ,请求输出;

MFIN,Mifare接口输入,而接收端的串行数据流则要符合ISO14443A协议;

二、MF RC500的匹配电路设计

匹配电路包含一个EMC低通滤波器,一个接收电路,天线匹配电路以及天线。

(1)低通滤波器的组成部分有LO和CO,下表4.1给出了它们的取值,但我们为了能得到更满意的效果,通常选用超过了表4.1给出的标准。

(2)接收电路

MF RC500的接收电路是通过卡的反馈信号,因为在副载波两侧边带上都具有调制作用来进行完成的。我们通常通过芯片内部所产生的信号VMID来确定RX管脚的输入信号的位置。为了能保证VMID管脚的输出正确信号,我们必须把一个C4电容安放在VMID和地中间。而接收电路则要安放一个分压电路在RX和VMID之间。接收电路由四部分组成,分别为:R1、R2、C3和C4,其值如表4.1所示:

表4.1EMC滤波器和接受电路元件值

元件值备注

L0 2.2uH+-10% 屏蔽磁场

C0 47pF+-2% NP0材料

R1 820+-5%

R2 2.7+-5%

C3 15pf+-2% NP0材料

C4 100nF+-2% NP0材料

(3)天线电感

射频卡所使用的电是由读卡器天线互感而来,而根据距离来得到相应的能量,所以就引入L互感系数作为重要参数来描述能量。

(4)直接匹配天线的阻抗匹配

为设计直接匹配天线的阻抗匹配,多使用下表使用的电路,C1和C2的值依据天线电气特性和环境影响而定。

4.3读卡器的核心电路板

一、电源电路和复位电路

本设计中,LPC2200应用到两组电源,I/O口电源3.3V,内核电源为1.8V。首先先输入12V的直流电源,二极管D7用来防止电源接错接反,经过C44河C43来完成滤波,然后经LM2940将电源稳定在电压为5V,最后使用LDO芯片来确保达到3.3V和1.8V电压。

二、通信接口电路

RF系统的读写器和上边机台进行传输数据时,如果传输距离比较近,则使用RS232串口和RS485串口总线传输,本设计中的RS232串口主要是用于ISP (在线系统编程)。而RS485是作为若用于短距离传输时可采用的传输方式。

5 系统软件的构建

5.1 软件结构框架

该读卡系统软件采用的uC / OS - Ⅱ操作系统和系统应用软件的结构。主要包括操作系统的uC / OS - Ⅱ的移植,读卡器的说、读与写任务程序,中断服务程序,负责和键盘处理家庭互动模块,程序的接口部分。软件框架结构如图5.1所示:

图5.1 软件框架结构

5.2 嵌入式操作系统

通常我们在做简单的项目时我们通常编写一个无限循环的程序,在程序中来完成每项要求。单片机和个借口的初始化的操作,中端处理和实时处理都要包括在程序中包。这样的处理方法很多优点,列如更实时性,简单,占用空间小等。

现在,嵌入式操作系统的出现,使得在硬件平台上的开发变得相对简单了。这些运行在嵌入式硬件平台的,对整个系统及其部件、装置等资源进行统一协调、指挥和控制的系统软件就叫做嵌入式操作系统。

5.3 读卡器读写模块软件设计

一、MFRC500的PCD和PICC指令集

MFRC500只能执行一部分指令,它将能执行的指令都传送到TYPEA电子标签上,这样就能和卡片连接然后彼此交换数据。

1. PCD指令集

决定MFRC500的行为是一个内部状态机,它能执行特定的指令集,我们通常称之为PCD指令集。这些特定指令在执行时通常都带一些参数,方便处理命

令,主要由FIFO缓存器来进行数据交换。

MFRC500指令的一般规则如下:

(1)把数据字节流规定为输入的命令,能够直接有效的处理FIFO缓存器中的数据;

(2)对相应改变数量的命令,只有在通过FIFO缓存器种提取出正确的变量时,才可以重新启动并执行;

(3)当一个新命令执行时,FIFO缓存器并不清楚,所以我们需要先将数据字节输入到FIFO缓存器中,再启动命令;

(4)每条指令我们都可以由新指令码给打断。

各指令集特点简述如表5.3所示:

表5.3 PCD指令集

命令指令代码功能通过FIFO传递的参数和数据

StartUp 3F 复位以及初始化

Idle 00 无动作,中止当前执行命令

Transmit 1A 把FIFO缓存器中的数据发

送到卡片中

数据流

Receive 16 重新启动接收电路

Transceive 1E 发送FIFO中的数据,接收

器会自动激活

数据流

WrlteE2 01 把FIFO缓存器中的一些数

据填写到片内EEPROM

起始地址LSB和MSB

数据流

ReadE2 03 将片内EEPROM中的数据读

入到FIFO缓存器中

起始地址LSB和MSB

字节数

LoadKeyE2 0B 从EEPROM拷贝一密钥至密

钥缓存器

起始地址LSB

起始地址MSB

LoadKey 19 从FIFO缓存器读一密钥至

密钥缓存器

Byte0

Byte11

Authcntl 0C 执行Cryptol算法的认证过

程的第一

卡认证命令

卡的块地址

卡的序列号

卡序列号MSB

Authent2 14 执行Cryptol算法的认证过程的第二步

LoadConfig 07 从EEPROM读取数据并初始

化MF RC500的寄存器

起始地址LSB

起始地址MSB

CalcCRC 12 激活CRC协处理器数据字节流

2. PICC指令集。与PCD指令集的不同之处是,这组卡的兼容性根号,不只是RC500芯片能用其他芯片也能用。它完成的方式与PCD指令也不同,PICC

指令可以把指令代码和所需数据、参数等都填入FIFO缓存中去,然后程序来完成。PICC的基本指令集如表5.4所示:

表5.4 PICC指令集

指令功能指令代码

Request std 连续性的读卡指令26

Request all 非连续性的读卡指令52

AntiCollision 防重叠指令93

Select Tag 选择卡片操作93

Auth_1a 认证操作1 60

Auth_1b 认证操作2 61

Read 读指令操作30

Write 写指令操作A0

Increment 增值C1

Decrement 减值C0

Restore 重储C2

Transfer 传送指令B0

Half 停机指令50

二、读卡模块软件

因为MFRC500射频读卡芯片经过了ISO/144434认证,所以解决了事先需要考虑问题。最后需要定义的只是个人的通信协议。电子标签与读卡器所采用的通信方式是半双工的通信方式。

RFID读卡程序流程如下:

char Pcdreset0;/*复位*/

char PcdConfig0;/*配置*/

char Init_reg0;/*初始化寄存器*/

char RC500PiccRequest(IDLE,ATQ);/*对处于IDLE状态下的卡发送请求命令*/ char RC500PiccAnticoll(bcnt,snr);/*防冲突,获取卡的标识号snr位4个字节*/ char RC500PiccSelect(snr,sak);/*选卡,使标识号为snr的卡处于激活状态*/

char RC500PiccAuthkey(unsugned char date block,unsugned char date secret_key);/*认证,使用12字节Keys认证,bloke为所要访问的块的符号*/ char RC500PiccRead(unsugned char date addr,unsugned char datedatsum);/*读数据*/

char RC500PiccWrite(unsugned char date sddr,unsugned char date content);/*写数据*/

5.4 系统初始化及运行

ARM 系统通常使用系统引导程序(BootLoader)来启动系统操作的,它

的作用和PC机上的BIOS差不多。由如何分配存储器的地址空间,还有串口

1的初始化,来控制它的输入。这个阶段继续运行初始化工作,包括中断初始

相关主题
文本预览
相关文档 最新文档