当前位置:首页 > 新闻资讯 >公司新闻 > 单片机实例分享,RFID卡读写器的设计

单片机实例分享,RFID卡读写器的设计

时间:2020-12-23  浏览量:1606

RFID(Radio Frequency Identification,射频识别)技术是一种非接触自动辨识科技,利用射频讯号通过空间耦合(电感或电磁耦合)实现无接触信息传递,并借助所释放的信息超过识别目的。

RFID卡技术成功地融合RFID技术跟IC卡技术,解决了无源(卡中无电源)和免接触的问题,是电子信息技术领域的一大突破。由于RFID卡方便、耐用,且能高速通信、多卡操作,在门禁安防、身份识别、公共交通等诸多领域正逐步替代传统的接触式IC卡,在行业上所占的总量越来越大,应用逐渐广泛。高速公路、停车场、加油站收费,智能卡水表、电表、煤气表等应用,也能使用RFID卡。从长远角度看,RFID卡将会更换如今广泛使用的接触式IC卡。

RFID 卡的突出特点

与接触式IC卡相比,RFID卡具有以下特点。

(1)高可靠性:由于无触点,可最大限度地减少由接触读写而形成的各类故障,提高了防静电和抗环境污染能力,因此增加了使用的可靠性,延长了读写设备跟卡片的使用寿命。

(2)易用性:操作便捷、快捷,无需插拔卡,完成一次操作只需0.1~0.3s。使用时,卡片可以任意方向掠过读写设备表面。

(3)高安全性:序列号是中国唯一的,出厂后不可更改。卡与读写设备之间采取单向互认验证制度,即读写器验证卡的合法性,同时卡验证读写器的合法性。通信过程中所有的数据都加密,卡片上不同分区的数据可用不同的密码和访问条件进行保护。

(4)高抗干扰性:对有防冲突电路的RFID卡,在多卡同时开启读写范围内时,读写设备能一一对卡进行处理,抗干扰性高。

(5)一卡多用:卡片上的数据分区管理,可以很方便地推动一卡多用。

(6)多种工作距离:作用距离从几厘米到几米,适应不同的应用场合。

RFID 卡读写器工作原理

RFID卡的结构如图15.1所示。

单片机实例分享,RFID卡读写器的设计

图15.1 RFID 卡的结构

RFID卡读写器是联结RFID卡与应用平台间的桥梁,RFID卡读写器的基本任务就是启动RFID卡,与RFID卡建立通信,在应用平台跟卡片间释放数据。

RFID卡读写器将要发送的信息编码后读取到一固定速率的载波上,当RFID卡(卡片内有一个谐振电路,其速率与读写器发送的扩频频率同样)进入读写器的工作区域后,谐振电路发生耦合并形成电荷累积,当电荷积累到一定数值时,就能为RFID卡内的电路提供工作电流,使卡内的芯片开始正常工作,处理读写器发送的数据信息。RFID卡平台的建模如图15.2所示。

一个完整的RFID卡读写器应包含下列几个部分(见图15.3):单片机、射频处理组件、天线、与PC的通讯接口或者键盘、显示等部件。

单片机实例分享,RFID卡读写器的设计

图15.2 RFID卡系统模型图

单片机实例分享,RFID卡读写器的设计

图15.3 系统设计框图

单片机是读写设备的数据处理控制核心。它除了应控制射频处理组件完成对RFID卡的读写,还要负责通过通讯接口与PC进行通信,并对键盘、显示仪器等其它外部设备进行控制。

射频处理组件负责射频信号的处理和数据的传输,完成对RFID卡的读写。

天线的作用有两个:一是造成电磁能量,为卡片提供电源;二是在读写设备跟卡片之间传送信息。天线的有效电磁场范围就是系统的工作区域。

与PC的通讯接口或者键盘、显示等组件主要推动与PC的通信,以及操作时的人机界面。

根据RFID卡与读写器之间可可靠交换数据的距离,RFID卡天线和读写器之间的串扰可以分为3类:密耦合系统、遥耦合系统跟远距离系统。

密耦合系统的典型作用距离范围是0~1cm。在实际应用中,必须把卡插入阅读器中以及放置至阅读器的天线表面。密耦合系统的卡与阅读器之间是电阻耦合,其工作温度通常在30MHz以下。密耦合系统适合于安全规定较高,但不要求作用距离的应用平台,如电子门锁等。

遥耦合系统的典型作用距离可以超过1m。遥耦合系统既可以细分为近耦合系统和疏耦合系统,前者的典型作用距离为15cm,后者为1m。所有遥耦合系统在卡跟阅读器之间都是电感耦合,典型工作频率为13.56MHz,也有其它频率,如6.75MHz、27.125MHz或者135kHz以下。

远距离系统的典型作用距离是1~10m,个别平台还有最远的作用距离。所有的远距离系统的卡跟阅读器之间都是电磁反向散射耦合,在光波范围内用电磁波工作,发送速率一般为2.45GHz,也有平台使用5.8GHz和24.125GHz的频率。

强盛科技的Mifare 卡

强盛科技是世界上最早研发RFID卡的公司之一,其Mifare技术尚未被定为IS0/IEC14443 TYPE A国际标准。使用Mifare芯片的RFID卡占全球范围内同类智能卡销量的60%以上。这里简单介绍一下Mifare standard卡:MF 1 IC S50(简称Mifare 1卡)。

Mifare 1卡除了小型IC芯片及一个高效率天线外,无任何其它元器件。卡片电路不用任何电源供电,工作时的能量由读写器天线发送速率为13.56MHz无线电载波讯号,以非接触模式耦合到卡片天线上形成电能,电压一般可达2V以上。标准操作距离可达10cm,卡与读写器之间的通信速度高达106kbit/s。芯片设计有增/减值的专项数学运算电路,适合公共交通、地铁站台等产业的进站/收费平台,其典型交易时间最长不少于100ms。

Mifare 1卡芯片内含1KB的EEPROM存储器,其空间被界定为能由用户单独使用的16个扇区。数据的擦写次数达到10万次,数据保存期大于10年,抗静电保护能力达2kV。

Mifare 1卡的芯片在生产时带有中国唯一的序列号,具有先进的数据通讯加密和单向密码验证功能,还带有防冲突功能,可以在同一时间处理重叠在读写器天线有效工作距离内的多张卡片。

Mifare 1芯片内部构架较为复杂,可界定为射频接口、数字处理单元、EEPROM这3大部分,其中数字处理单元既分为若干小部份,如图15.4所示。

◆射频接口:在RF射频接口电路中,含有波形转化模块。它能接收读写器上的13.56MHz的无线电调制速率,一方面送调制/解调模块,另一方面进行波形转化,然后对其整流、滤波,接着对电阻进行稳压等进一步处理,最终输出供给卡上的电路工作。

单片机实例分享,RFID卡读写器的设计

图15.4 Mifare 1 卡逻辑框图

◆防冲突模块:如有多张Mifare 1卡处在读写器的天线的工作范围之内时,防冲突模块的防冲突功能将被开启,根据卡片的序列号来指定一张卡片。被选中的卡片将直接与读写器进行数据交换RFID读写器,未被选中的卡片处于等待状态。

◆认证模块:在选中一张卡片后,任何对卡片上存储区的操作都需要经过认证,只有经过密码校验,才能对数据块进行访问。Mifare 1卡片上有16个扇区,每个扇区都能分别设定各自的密码,互不干涉。因此每个扇区能独立地应用于一个应用场合,整个卡片可以设计成“一卡通”形式来应用。

◆控制跟算术运算单元:这一单元是整个卡片的控制中心,它主要对整个卡片的各个单位进行微操作控制,协调卡片的各个方法,同时还对各类收/发的数据进行算术运算处理、CRC运算处理等。

◆EEPROM接口:连接至EEPROM。

◆加密单元:Mifare的CRYPTOL数据流加密算法将确保卡片与读写器通信时的数据安全。

单片机实例分享,RFID卡读写器的设计

表15.1 Mifare 1卡的存储器组织结构

◆EEPROM:容量为1KB,分16个扇区,每扇区有4个块,每块16字节。其组织结构如表15.1所示。每个扇区的块3也堪称尾块,是扇区的控制块,其结构如表15.2所示。前6个字节为密码A(KeyA),永远不能被读出,但在满足一定条件下,可被改写;后6个字节为密码B(KeyB),当密钥使用时是不可读的,但拿来存储数据时则是可读的;中间4个字节为权限位,存放本扇区的4个数据块的访问条件。控制块使用两个密码,是为了帮客户提供多重控制方法。例如,用户可以用一个密码控制对数据块的读操作,用另一个密码控制对数据块的写操作。其余3个块是通常的数据块。扇区0中是特殊的块,包含了厂家代码信息,在制造卡片时写入,不可改写。其中第0~4字节为卡片的序列号,第5个字节为序列号的校验码,第6字节为卡片的容量“SIZE”字节,第7~8字节为卡片的类型号(Tagtype)字节,其他字节由厂商另加定义。

表15.2中,C1、C2、C3三个数据位表达各块的详细访问权限,下标0、1、2、3分别表示在扇区内的块号。“C13、C23、C33”即为扇区第3块(尾块)的访问权限。为了可靠,访问条件的每一位都同时用原码和异或存储,共存储了两遍。尾块的读写权限的含义如表15.3所示。

单片机实例分享,RFID卡读写器的设计

表15.2 尾块组成及访问权限字节结构

单片机实例分享,RFID卡读写器的设计

表15.3 尾块的权限代码与访问权限

(注:N表示不能,A表示KeyA,B表示KeyB,A/B表示KeyA或者KeyB)

在空卡状态下,每个扇区的尾块数据(16 进制)为:“0x 0 FF078069 FFFFFFFFFFFF”。空卡时的密码A跟密码 B 均为“0x FFFFFF”,由于密码A 不可读,读出的数据显示为“0x 000000”。在空卡默认读写权限下可以借助密码A对所有块进行读写操作,以及修改各块的读写权限,但不可以运用密码B进行读写操作(此时密码B可读)。

权限位为:“0x FF078069”,由表15.2,得:

C13=0C12=0C11=0C10=0

C23=0C22=0C21=0C20=0

C33=1C32=0C31=0C30=0

C13C23C33=001,根据表15.3,密码A不可读,但通过密码A校验后,可改写密码A,权限字节及密钥B的读写权限均可用密码A读写。

另外,由表15.3可知尾块的下述属性:密码A永远不可读,因此即使设定就需要记住,不过在000、100、001、011几种情况下可以改写;访问权限字节仅在001、011、101三种状态下能写;密码B在000、100、001、011四种状态下能写,在000、010、001三种状态下可读(此时密码B的6个字节用于储存数据,不再作为密钥)。

数据块的读写权限如表15.4所示。对数据块的增值、减值操作,仅在状况“110”和“001”下能进行。而第0块(厂商数据块)虽然也属于数据块,但是它不受权限字节影响,永远只读。在空卡情况下,数据块的读写权限代码C1iC2iC3i=000,密码A和密钥B的读写访问权均为“A/B”,表示可用密码A以及是密码B对各数据块进行读写,但实际上由于在空卡默认状态下密码B是可读的,所以不可用密码B读写数据。

单片机实例分享,RFID卡读写器的设计

表15.4 数据块(i=0、1、2)的权限代码与访问权限

电路设计

RFID卡读写器主板的电路原理图如图15.5所示,由单片机、与PC的通讯接口、键盘、LCD显示等部分构成。RFID卡读写器射频处理组件及天线等的电路图如图15.6所示。

单片机实例分享,RFID卡读写器的设计

图15.5 RFID 卡读写器主板电路原理图

单片机实例分享,RFID卡读写器的设计

图15.6 RFID 卡读写器射频处理组件及天线电路图

射频处理组件(也称为射频基站模块)是射频卡读写器的关键组件,RFID卡读写器通过该组件与射频卡进行数据通讯。射频处理组件的主要零件就是射频基站芯片,这里我们选择强盛科技的MFRC522。它是13.56MHz非接触式通信中高集成读卡IC系列中的一员,利用先进的调制和解调概念,完全融合了在13.56MHz下任何类型的被动非接触式通信手段和协议。它外部包括微控制器接口单元、模拟信号处理单元、IS014443A规定的协议处理单元,以及Mifare卡特殊的Cryptol安全密钥存储单元,可以与所有兼容Intel或Motorola总线的微控制器直接连结,其外部还带有64个字节的先入先出(FIFO)队列,可以和微控制器实现高速存储数据。

MFRC522内部的发送器部分无需增加有源电路就能够直接驱动近操作距离的天线(可达10cm),接收器部分提供一个高效的解调和解码电路,数字部分处理ISO14443A帧和出错检测。

天线个别主要包含低通滤波器、接收电路、天线匹配电路和天线导线,天线拾取的讯号经过天线匹配电路送到RX脚,MFRC522的外部接收器对讯号进行测试和译码,并按照寄存器的设置进行处理。然后数据被发送至并行接口,由单片机进行写入。制作完成的试验样机如图15.7所示。

单片机实例分享,RFID卡读写器的设计

图15.7 制作完成的试验样机

软件设计及使用

程序采取结构化模块形式设计,条理清晰、结构加强,便于整个程序的装配。限于文章的篇幅,本文不对程序作具体介绍,这里只对相关的读写过程作简单介绍。

读写卡是一个非常复杂的程序执行过程,要执行一系列的操作指令,调用多个子函数,包括装载密码、询卡、防冲突、选卡、验证密码、读写卡、停卡等。这一系列的操作需要按固定的次序进行。在没有Mifare 1卡片进入射频天线有效范围时,LCD显示“欢迎光临”;当有Mifare 1卡片进入至射频天线的有效范围时,读写器验证卡及密钥成功后,将密码、消费总额、充值金额跟余额等数据成为一条记录存入EEPROM存储器中,并同时在LCD上显示出来。

1. 写(设置)RFID 卡

读卡器对卡进行数据的读写、密码的管理跟功能的检测,可以进行寻卡、防冲突、选择跟终止等功能。可对RFID卡的16个扇区进行密钥的下载及A、B组密码的选取。可对每个扇区3个块的数据进行读写。块值操作比如初始化、读值、加值、减值、密码的更改等。

2. 读 RFID 卡

首先寻卡,进入卡处理程序,紧接着防冲突,成功以后,加载密码,之后便能对卡进行数据的抓取和操作。完成以后等待卡的拿开,确保每天只读一次数据。

3. 读写器与射频通信程序

RFID卡与读写器间的通信流程如图15.8所示RFID读写器,各功能定义如下。

单片机实例分享,RFID卡读写器的设计

图15.8 RFID 卡与读写器间的通信流程

(1)复位应答:射频卡的通讯协议和通信波特率是定义好的,当有射频卡开启读写器的操作范围时,读写器以特定的协议与它通信,验证卡片的卡型。

(2)防冲突模式:当有多张卡开启读写器操作范围时,防冲突模式会从其中选取一张进行操作,未选中的则进入空闲模式,等待下一次选卡,该过程会返回被选卡的序列号。

(3)选择卡片:选择被选中的卡的序列号,同时返回卡的容量代码。

(4)3次互相确定:选定要处理的卡片之后,读写器就确认要访问的扇区号,并对该扇区密码进行密钥校验。在3次相互认证随后,就可以借助加密流进行通信。当选取另一扇区时,则需要进行另一次密码校验。

(5)对数据块的操作:读一个块、写一个块、对数值块进行加值、对数值块进行减值、将卡置于暂停工作状况。

进入等待状态时,RFID卡读写器的屏幕上显示“欢迎光临”(见图15.9)。图15.5中按键S1~S4的作用如下:按动S1后,读写器进入消费工作方式(见图15.10);按动S2后,读写器进入充值方式(见图15.11);按动S3后,读写器进入注册方式(见图15.12);按动S4后,读写器进入读卡工作方式(见图15.13)。

单片机实例分享,RFID卡读写器的设计

图15.9 进入等待状态

单片机实例分享,RFID卡读写器的设计

图15.10 消费工作模式

单片机实例分享,RFID卡读写器的设计

图15.11 充值模式

单片机实例分享,RFID卡读写器的设计

图15.12 注册模式照片

单片机实例分享,RFID卡读写器的设计

图15.13 读卡工作模式

上一篇: RapidNFC推出防篡改标签
copyright 2010 广州强盛智能科技有限公司 版权所有 备案:粤ICP备18068841号
电话:15992422229 销售一、13640293427 销售二、13660366684 销售三
邮箱:congseng@hotmail.com
地址:中国广东省广州市番禺区番禺大道北555号天安科技园总部中心14号楼二楼
技术支持:搜浪网络
声明:如果本站有使用不当的极限词汇,并非本站之意愿,本站郑重声明所有极限词汇全部作废