基于RC的非接触式IC卡读卡器设计含程序文档格式.docx

上传人:b****7 文档编号:22626220 上传时间:2023-02-04 格式:DOCX 页数:78 大小:1.80MB
下载 相关 举报
基于RC的非接触式IC卡读卡器设计含程序文档格式.docx_第1页
第1页 / 共78页
基于RC的非接触式IC卡读卡器设计含程序文档格式.docx_第2页
第2页 / 共78页
基于RC的非接触式IC卡读卡器设计含程序文档格式.docx_第3页
第3页 / 共78页
基于RC的非接触式IC卡读卡器设计含程序文档格式.docx_第4页
第4页 / 共78页
基于RC的非接触式IC卡读卡器设计含程序文档格式.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

基于RC的非接触式IC卡读卡器设计含程序文档格式.docx

《基于RC的非接触式IC卡读卡器设计含程序文档格式.docx》由会员分享,可在线阅读,更多相关《基于RC的非接触式IC卡读卡器设计含程序文档格式.docx(78页珍藏版)》请在冰豆网上搜索。

基于RC的非接触式IC卡读卡器设计含程序文档格式.docx

读写前射频卡与读写系统要进行三次应答认证,并且通信过程会产生随机数和加密的数据,防止各种破解和篡改,卡内每个存储区的访问密码和条件都不同。

1.2.3非接触式IC卡的发展趋势

随着非接触式IC卡的广泛应用与迅速发展,从目前看来,非接触式IC卡主要有以下几个发展趋势:

(1)大容量

“一卡多用”的新功能处于新的阶段,这种功能使得目前卡内16K的存储容量远远不能满足要求。

将来用户只用带着的一张具有多个功能IC卡,既能成为身份证和护照,又可以当做电子钱包、工作证,能存储个人简历,因此,研发更大卡内存储器的容量变得重要。

除了目前已经广泛使用的E2PROM存储器,一些新的存储器技术也正在开发,列如Flash+技术和铁电技术,未来IC卡行业使用的主要存储器极大可能是铁电存储器(FeRAM)[4]。

(2)更强的处理能力

IC卡在日常生活的普及,相关技术迅速发展,我们需要一张具有更强的处理能力的IC卡,有两种增强处理能力的方法:

其一是增加具有多样寻址方式的汇编指令,它能加快寻找有效数据的地址的速率,减少指令译码的工作量;

二是增加数据总线位数到32位,同时还可以提高内部时钟频率从5MHz到10MHz。

(3)低功耗

无论非接触式IC卡的是有源还是无源,低压低功耗设计对卡内芯片都是非常重要。

可以使用新型低功耗电池,达到增加电源提供给IC卡的时间,相当于增加了卡的使用时间;

可以增加无源非接触式IC卡的工作距离,远距离卡在通信效率和快捷性上都超过了近距离卡,远距离低功耗成为非接触式IC卡发展的必然趋势[4]。

(4)发展复合式IC卡

复合式卡的意思是双界面卡,接触式和非接触式的通信工作方式集成在一张卡上,也就是一卡两用,所以在结构上既有天线也有触点,使用起来更加灵活多变。

如今大多数国际大企业都成功开发并开始使用复合式卡。

1.3非接触式IC卡读卡器发展状况

现在,由于应用的场合不同,国内外出现大同小异的非接触式IC卡读卡器,有读卡器模块、便携式读卡器、高低频读卡器、双频标签读卡器、微波读卡器等各种各样的产品[5]。

这些产品有适合读写的距离大大不同。

但都有一个共同的特征,各种产品之间的区别不大,同质化严重,性能也相似,结构上都是读卡器芯片结合单片机,而并没有核心技术,缺乏成套技术的自主产权。

国外公司手中拥有读卡器的读卡器芯片的核心技术的控制权,在整个读卡器市场的利润,国外公司如TI、NXP等芯片厂商占绝大部分。

随着市场的发展,这些国外公司又同时在加强对整个非接触式IC卡技术的掌控,却有新的实力雄厚的ST(意法半导体)公司加入这一行,许多公司也觊觎这一迅速发展的市场。

TI和NXP公司牢牢控制着市场的主动权,提供从读卡模块、读卡器、读卡芯片及系统应用等一整套设备及服务。

令人欣慰的是,我国在这项技术的研究方面发展迅猛,在IC卡身份识别技术研究及产品研发方面,我国已经能够独立开发微波、低频和高频波的电子标签,拥有系统集成能力及读写器的技术。

1.4课题的设计内容

非接触近距离识别技术主要研究基于射频原理的非接触IC卡识别技术,具有操作快捷便利、可靠性高、安全性好、寿命长、防伪性好、抗干扰能力强等优点,被广泛应用于各种身份识别、收费系统中。

本次研究将掌握非接触式IC卡读卡器的原理,实现对非接触式IC卡的读写,能够正确读取IC卡的序列号及读卡用户信息,并通过计算机将信息显示出来。

 

2非接触式IC卡Mifare1S50技术支持

2.1Mifare1S50简介

MIFARE1s50是非接触智能IC卡。

其通信协议符合ISO/IEC14443A,通讯层(MIFARERF接口)符合ISO/IEC14443A标准的第2和第3部分。

其安全层支持域检验的CRYPTO1数据流加密。

在MIFARE卡结构中,芯片与一个几匝的天线线圈相连接,并封装到塑料中,制作了一个无源的近距离卡,不需要电池。

当卡接近读写器天线时,进入带有能量的电磁场,高速的RF通讯接口将以106kBit/s的速率传输数据[6]。

图2.1Mifare1s50卡

2.1.1Mifare1S50的特性

(1)MIFARERF接口(ISO/IEC14443A)

∙非接触数据通信并提供能量(无需电源)

∙通信距离:

大约100mm(取决于天线尺寸匝数)

∙工作频率:

13.56MHz

∙数据传输速率:

106kbit/s

∙高度数据安全性:

16位CRC,奇偶校验,位编码,位计数

∙多卡防冲撞

∙典型票务交易:

<

100ms

(2)EEPROM

∙1Kbyte,分为16个区,每区4个块,每块16字节。

∙用户自定义存储块的读写条件

∙数据可存储长达10年

∙可重复写入10万次

(3)安全性

安全的重点是防盗窃。

相互随机数和应答认证、数据加密和报文鉴别检查和,防止各种破解和篡改,使其更适于票务应用。

不可更改的序列号,保证了每张卡的唯一性[7]。

∙相互三轮应答认证(ISO/IECDIS9798-2)

∙射频通道数据加密

∙每个区的尾块有两个密钥,按应用场合不同密钥分级

∙每张卡的序列号唯一

∙在通信过程中以发送密钥保护对存储区的访问权

2.1.2结构功能说明

图2.2Mifare卡内部结构

图2.3Mifare卡的功能说明

RF接口:

∙调制解调器

∙检波器

∙时钟发生器

∙上电复位

∙稳压器

防冲突:

一一选定通信范围内的几张卡,然后先后操作。

认证:

在对任意存储器的存储块进行读写操作之前得先通过认证,必须各个存储区指定的密钥相匹配才能获得访问资格。

控制和算术逻辑单元:

写入特定的冗余格式的数据,可以读写、加减。

EEPROM接口

加密单元:

每次数据交换的CRYPTO1数据流都进行加密,防止数据被非法盗窃。

EEPROM:

1KB,分16区,每区4块。

每一块有16字节。

2.1.3存储区结构

1024x8bitEEPROM存储器分为16区,每区4块,每块16字节。

在擦处后的状态下,EEPROM的单元读为逻辑“0”,写后的状态下读为“1”。

表2.1存储区扇区结构

块内字节编号

扇区

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

说明

15

KEYA

控制位

KEYB

扇区15尾块

数据

14

扇区14尾块

:

扇区1尾块

扇区0尾块

制造商占用块

(1)制造商占用块

第1个区的第1个块(块0)。

它含有卡的序列号、检查字节和制造商数据。

由于安全和系统要求,此块只能由制造商在生产过程进行一次编程。

用户对块0只能进行只读,前4个字节是卡的序列号,此值唯一。

图2.4块0的存储结构

(2)数据块

各区均有3个16字节的块用于存储数据,除区0只有两个数据块以及一个只读的厂商代码块。

数据块可以通过读写控制位设置为:

读写块,比如用于非接触门禁系统,存储用户资料。

数值块,可以加减,可作电子钱包的用途。

在进行任一数据块操作之前,必须先通过认证环节。

此次研究我只使用读写块功能,用于存储用户的信息,我将自己的名字存储到0区的块1中。

(3)尾块

各区都有一个尾块,存有:

密钥A和B(可选),读块时返回逻辑“0”。

该区四个块的读写条件,存储在字节6至9。

读写控制位也指定了数据块的类型(读写块或数值块)。

每张卡的密钥A的默认密码是6个字节的“FF”。

如果不需要密钥B,块3的最后6字节可以用作数据字节,尾块的字节9可用于用户数据,因为此字节享有与字节6、7、8相同的读写权限[7]。

表2.2尾块的存储结构

字节号

10

11

12

13

密钥A

读写条件

密钥B(可选)

2.2通信原理

图2.5通信流程图

读写器发出或根据commandReg寄存器里得到的命令,按照对应区访问条件,再由数字控制单元来处理。

2.2.1寻卡(REQUEST)

读卡器向所有在天线范围内未进入休眠状态的卡发出的请求(0x26)命令,进入电磁场的卡被唤醒后,发送请求应答码(ATQA符合ISO/IEC14443A)。

2.2.2防冲突循环(ANTICOLL)

在防冲突过程中,读回一张卡的序列号。

若在读卡器的通信范围内同时有几张卡,这过程可以通过唯一序列号一一选定,并进行下一步操作。

没被选定的卡转入待命状态,等待新的请求命令。

2.2.3选卡(SELECTCARD)

然后选定卡片,得到校验码,将2个字节的卡片类型、4个字节的序列号和1字节的校验码进行CRC计算,将其发送给卡片,通信成功,则返回SAK(选择确认)SAK1字节+2字节CRC校验(0x18(24)共3个字节)。

2.2.4三轮认证(3PASSAUTHENTICATION)

选卡后,读写器指定后续读写的存储器位置,并用相应密钥进行三轮认证[8]。

认证成功后,所有的存储器操作都是加密的。

图2.6三轮认证的流程图

认证过程:

A环:

卡片向读卡器发送一个随机数据RB;

B环:

读卡器发出一组携带随机数据RA的令牌数据TOKENAB;

C环:

当卡片收到令牌数据TOKENAB后,对TOKENAB进行解密并得到RB,校验得到的RB与A环中发出的RB是否相同;

D环:

若校验得到的RB与A环中发出的RB相同,则卡片再次向读卡器发出令牌数据TOKENBA;

E环:

读卡器收到令牌数据TOKENBA后,对TOKENBA进行解密并得到RA;

校验得到的RA与B环中发出的RA是否相同。

如果以上的每一个环节都能顺利进行,每次校验结果都相同,则整个的认证过程将成功。

2.3存储器读写

在此强调,必须先依次通过防冲突和密钥认证过程,才能进行存储器操作。

先把该区的访问条件设置好了,区块才会执行相对应的操作。

表2.3存储器操作说明

存储器操作

操作

使用块型

读存储器块

读写、数值和尾块

写存储器块

增值

增加块的内容,并将结果存入内部寄存器

数值

减值

减少块的内容,并将结果存入内部寄存器

转存

将内部寄存器内容写入块中

恢复

将块中内容写入内部寄存器

2.3.1读写条件

对该区块是读是写需要设置3个控制位,并以原码和反码格式存放在每个区的尾块中。

这3个读写控制位还控制密钥A和B的访问权限。

如果知道正确的密钥,并且对应读写条件许可,读写条件是可以修改的[9]。

表2.4控制位对块的影响

读写控制位

有效命令

C13C23C33

read,write

尾块

C12C22C32

read,write,increment,decrement,transfer,restore

数据块

C11C21C31

C10C20C30

在表2.4中访问条件的每一位都用符号来表示,其中C13,C23,C33用来控制本区块3的访问条件;

C1X,C2X,C3X(X=0-2)用来控制本区块0-块2的访问条件[8]。

在每一次读写存储区时,存储条件必须正确。

如果发现是错误的,会锁死这个区块。

2.3.2尾块的读写条件

对密钥和控制位的读写取决于尾块(块3)的访问控制位,分为“禁止”、“KEYA”、“KEYB”和“KEYA|B”(KEYA或KEYB)[9]。

图2.7访问条件的组成

为了安全起见,访问条件的每一位即用原码又用反码存储,相当于存放了两遍。

特定的数据存放于访问条件的最后一个字节(9)。

表2.5块3的访问条件

访问控制位

所控制的访问对象

注释

C1

C2

C3

禁止

KeyA

KeyB

KeyB可读

KeyA|B

传输配置状态

附注2.1灰色行为keyB可读并可用于存储数据的访问控制条件。

如果C1、C2、C3=000,则keyA不能读,而持卡人在正确输入keyA后,可以改写keyA,读访问条件和读写keyB。

KeyA在任一条件下都禁止读出,但达到特定条件下可以修改。

KeyB作为密钥使用时,也是不能读出,但达到一定条件(输入正确的keyA)下能读出时,这时存放在keyB位置的内容为数据而不是密钥[9]。

尾块和keyA被预定义为传输配置状态。

因为在传输配置状态下keyB可读,新卡必须用keyA认证。

因为访问控制位本身也可以禁止访问,所以个人化时应当特别小心[8]。

2.3.3数据块的访问控制条件

不同的控制位的设置,相关的用途也不同。

∙读写块:

可读、写。

∙数值块:

运行另外的数值操作——加值、减值、转存和恢复。

在用于非充值卡的一种情况(‘001’)下,只能够读和减值。

在另一种情况(‘110’)下,可以用keyB充值。

∙制造厂商块:

只读,不受访位控制位设置的影响!

∙密钥管理:

在传输配置状态下,必须用keyA认证。

表2.6数据分组的访问条件

所控制的访问操作

用途

加值

keyA|B1

keyB1

读写块

数值块

3MFRC522射频芯片

3.1概述

MFRC522是具有高集成度读写卡芯片,也是一款常用的非接触式通信芯片,工作于13.56MHz的时钟频率。

也是NXP公司针对"

三表"

应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择[10]。

MFRC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议[11]。

支持ISO14443A的多层应用。

其芯片的TX1和TX2引脚可驱动读写器天线,发送经过调试的13.56MHz载波能量信号,该信号上就有我们需要的数据。

接收到的载波信号会通过接收器解调成有效信号,有效信号再经过A/D转换器转换成数字信号,该信号会依照ISO14443A协议处理,先进行错误检测(奇偶&

CRC)。

另外,它也能对数据进行算法加密,MFRC522支持MIFARE系列的卡,可验证该系列产品。

相比于其他芯片,它具有更快的近距离双向数据传输速率通信,高达424kbit/s。

MFRC522与MFRC500和MFRC530相比,即相似点也有很多差异。

它与微控制器间的数据交换可用SPI串行通信,也能根据应用场合功能不用,采用I2C或串行UART(类似RS232)模式。

当然,SPI通信连线更少,制作的PCB板体积更小,降低成本。

3.2特性

∙高集成度的调制解调电路;

∙可将发送器控制的TX管脚直接驱动天线;

∙支持ISO/IEC14443TypeA通信协议;

∙读写器模式中的ISO14443A协议的工作距离高达60mm,与天线的长度和匝数有关。

∙支持ISO14443212kbit/s和424kbit/s的更高传输速率的通信。

∙支持MIFARE&

reg;

Classic加密;

∙支持的主机接口:

-10Mbit/s的SPI接口

-I2C接口,快速模式的速率为400kbit/s,高速模式的速率为3400kbit/s

-串行UART,传输速率高达1228.8kbit/s,帧取决于RS232接口,电压电平取决于提供的管脚电压

∙64字节的发送和接收FIFO缓冲区;

∙灵活的中断模式;

∙可编程定时器。

∙具备软、硬件掉电和发送器掉电3种节电模式,其中"

发送器掉电"

则是关闭内部天线驱动器,即关闭电磁场;

∙内置温度传感器,以便在芯片温度过高时自动停止RF发射;

∙采用相互独立的多组电源供电,以避免模块间的相互干扰,提高工作的稳定性;

∙具备CRC和奇偶校验功能,CRC协处理器的16位长CRC计算多项式固定为:

x16+x12+x5+1,符合ISO/1EC14443和CCTITT协议[12];

∙内部振荡器,连接27.12MHz的晶体;

∙2.5~3.3V的低电压低功耗设计;

∙工作温度范围-30~+85℃;

∙5mm×

5mm×

0.85mm的超小体积。

3.3功能结构

3.3.1简化的MFRC522框图

图3.1简化MFRC522框图

模拟接口用来处理模

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1