高集成度TYPE A读写器芯片MF RC500及其应用
文章出处:http://www.nexussmartsolutions.com 作者:语馨 收编 人气: 发表时间:2011年10月23日
1 引言
MF RC500是Philips公司生产的高集成度TYPE A读写器芯片。其主要性能如下:
●载波频率为13.56MHz;
●集成了编码调制和解调解码的收发电路;
●天线驱动电路仅需很少的外围元件,有效距离可达10cm;
●内部集成有并行接口控制电路,可自动检测外部微控制器(MCU)的接口类型;
●具有内部地址锁存和IRQ线,可以很方便地与MCU接口。
●集成有64字节的收发FIFO缓存器;
●内部寄存器、命令集、加密算法可支持TYPE A标准的各项功能,同时支持MIFARE类卡的有关协议。
●数字、模拟、发送电路都有各自独立的供电电源。
基于以上特点,用MF RC500极易设计TYPE A型卡的读写器,可广泛用于非接触式公共电话、仪器仪表、非接触式手持终端等领域。
2 引脚功能
MF RC500为32脚SO封装,需说明的是:某些引脚(带*号)依据其所用MCU(微控制器)的接口情况具有不同功能。
3 工作原理
MF RC500的内部电路框图如图1所示,它由并行接口及控制电路、密钥存贮及加密算法Cypto1、状态机与寄存器、数据处理电路、模拟电路调制、解调及输出驱动电路等组成。
3.1 MF RC500寄存器设置
MF RC500芯片的内部寄存器按页分配,并通过相应寻址方法获得地址。内部寄存器共分8页,每页有8个寄存器,每页的第一个寄存器称为页寄存器,用于选择该寄存器页。每个寄存器由8位组成,其位特性有四种:读/写(r/w)、只读(r)、仅写(w)和动态(dy)。其中dy属性位可由微控制器读写,也可以在执行实际命令后自动由内部状态机改变位值。
微控制器MCU通过对内部寄存器的写和读,可以预置和读出系统运行状况。寄存器在芯片复位状态为其预置初始值。了解内部寄存器的设置对于软件编程至关重要.
3.2 并行接口
MFRC500芯片可直接支持各种微控制器(MCU),也可直接和PC机的增强型并行接口(EPP)相连接,每次上电(PON)或硬启动(Reset)后,芯片会复原其并行接口模式并检测当前的MCU接口类型,通常用检测控制引脚逻辑电平的方法来识别MCU接口,并利用固定引脚连接和初始化相结合的方法实现正确的接口。图2给出了相应的连接接线图。
3.3 E2PROM存贮器
MFRC500的E2PROM共有32块,每块16字节。E2PROM存贮区分为四部分:第一部分为块0,属性为只读,用于保存产品的有关信息;第二部分为块1和块2,它们具有读/写属性,用于存放寄存器初始化启动文件;第三部分从块3至块7,用于存放寄存器初始化文件,属性为读/写;第四部分从块8至块31,属性为只写,用于存放加密运算的密钥,存放一个密钥需要12字节,E2PROM密钥存放区共可存放32个密钥,实际密钥长度为6字节,存放在紧邻的12个E2PROM字节地址中。一个密钥字节的8位必须分开存放,若设密钥8位为K7,K6,……K0,则存放在两个相邻字节时为k7k6k5k4K7K6K5K4和k3k2k1k0K3K2K1K0,例如密钥字节为A0H时,则存放内容为5AH、F0H两个字节。
3.4 FIFO缓存
8×64位的FIFO用于缓存微控制器与芯片之间的输入/输出数据流。可处理数据流长度达64字节。FIFOData寄存器作为输入/输出数据流的并/并转换口;FIFOLength寄存器用于指示FIFO缓冲器的字节存储量、写时增量、读时减量;FIFO缓冲器的状态如空、溢出等可由寄存器PrimaryStatus、FIFOLev-el的相关位指示;对FIFO的访问则可通过微控制器送出有效命令来实现。
3.5 中断请求
芯片的中断请求有定时设置到、发送请求、接收请求、一个命令执行完、FIFO满、FIFO空等六种。0页寄存器InterruptEn的相应位读/写属性用于相应中断请求使能设置;InterruptRq的相应位dy属性用于指示使能情况下的相应中断出现。任何允许中断产生时,0页寄存器PrimaryStatus的IRQ位r属性可用于指示中断的产生,同时可由引脚IRQ和微控制器进行连接以产生中断请求信号。
3.6 定时器
MF RC500内有定时器,其时钟源于13.56MHz晶振信号,13.56MHz信号由晶振电路外接石英晶体产生。微处理器可借助于定时器完成有关定时任务的管理。定时器可用于定时输出计数、看门狗计数、停止监测、定时触发等工作。
3.7 模拟电路
a. 发送电路:RF信号从引脚TX1和TX2输出可直接驱动天线线圈。调制信号及TX1、TX2输出的射频信号类型已调或无调制载波均可由寄存器TxControl控制。
b. 接收电路:载波解调采用正交解调电路,正交解调所需的I和Q时钟两者相差为90°可在芯片内产生。解调后由所得副载波调制信号要经放大、滤波相关器、判决电路进行副载波解调,其中放大电路的增益可由寄存器RxControl的设置来控制。
3.8 串行信号开关
串行信号开关用于桥接芯片数字电路和模拟电路两部分,两部分电路的输入/输出和外部应用所需的输入/输出可以灵活组合。这种组合可借助MFIN和MFOUT引脚和相关寄存器来控制实现。
MFIN可输入曼彻斯特码、带副载波的曼彻斯特码,并由寄存器RxControl2的设置选择送至解码器。若输入的是修正密勒码,则由寄存器TxControl设置选择送至发送通道的调制器。
MFOUT引脚上可输出曼彻斯特码、带副载波的曼彻斯特码、NRZ码、修正密勒码以及测试信号,具体可通过寄存器MFOUTSelect的不同设置来选择。
3.9 命令设置
MC RF500的性能由内部状态机保证,状态机可以完成命令功能。寄存器Command的相应位存贮R 命令码属性为dy可用于启动或停止命令执行。命令大多可由写入相应命令码至Command寄存器实现,其所需变量和数据主要由FIFO缓冲器交换。
3.10 认证与加密
Mifare类产品中加密算法的实现被称之为CRYPT01,它是一种密钥长度为48bit的流密码。要访问一个Mifare类卡的数据,首先要完成认证,Mi-fare卡的认证采用三次认证的过程若需了解三次认证过程,请参阅参考文献,这个过程可由自动执行Authbent1和Authbent2命令来实现。
4 典型应用
MF RC500的典型应用电路如图3所示。这里仅介绍其天线回路。图3中,L0C0为低通滤波器,用于滤除13.56MHz的谐波分量,L0可选2.2mH,C0可选47pF。L是天线线圈,C1、C2a、C2b则组成匹配电路。典型参数值为:
L=1μH,C1=27pF,C2a=270pF,C2b=270pF。
C315pF主要用于耦合卡负载调制信号,R1、R2为分压器,VMID引脚的电压可为Rx引脚提供一个参考电位。R1阻值为10kΩ,R2为820Ω。