基站芯片RC522的14443A读卡器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基站芯片RC522的14443A读卡器设计
理中心上位机,便于建立对卡数据的综合管理系统。
1 硬件系统设计
读卡器硬件框图如图1所示。
单片机PICl6F7x通过SPI总线与RC522和Flash芯片AT45D011相连,同时用简化的ISA总线连接以太网接口芯片C58900,以提供连接到局域网的能力。AT45D0ll存储容量为lMb,可同时存储7400多组MIFARE的E2PROM块和UID号,提供了足够读卡器一天内读取的信息量的存放容量。对于RC522天线部分的设计,Philips公司有专门的手册详细介绍,本文不再赘述。RC522的SPI总线接口有其自身的时序要求。它只能工作于从模式,最高传输速率为10 Mbps,数据与时钟相位关系满足“空闲态时钟为低电平,在时钟上升沿同步接收和发送数据,在下降沿数据转换”的约束关系。PICl6F7x系列单片机的片上外设包括1个SSP模块。该模块可配置为SPI接口使用,通过相应的寄存器可控制SPI接口的数据传输率、数据一时钟相位天系等通信参数。本文中配置SSP模块工作于SPI主模式下,时钟为1/4单片机主频,接收和发送数据都在时钟上升沿发生。
需要注意的是,由于RC522支持的数字接口形式多种多样,因此芯片在每次复位时都会检测外部引脚连接关系。对于SPI接口,RC522的相关引脚必须按照图2所示的连接关系配置。
除了通用的4条SPI信号线(时钟线SCK、输入数据线MOSI、输出数据线MOSO和选通线NSS)以外,RC522要求额外的2个引脚I2C和EA分别固定接低电平和高电平。这2个引脚不参与SPI总线传输,只起设定RC522数字界面采用SPI接口的作用。另外,片选信号必须保证在写入数据流期问为低电平,而在无数据流写入时则为高电平;用户不得为节省PIC单片机引脚资源而一直将NSS置为低电平。
2 软件系统设计
相对于Philips公司生产的其他14443基站芯片(如RC500、RC530等),RC522简化了内部系统结构,去掉了片内E2PROM。从而大大缩减了芯片命令集。另外,对载波调制电路,发送电路和解调、解码电路的控制也相应简化,去掉了校准接收电路I时钟、Q时钟、校准发送与接收时钟相位等繁琐的操作。一般而言,单片机与RC522的通信流程如图3所示。
根据RC522和MIFARE卡问传送的控制流数据的不同,通信过程中可能会出现不同的状态。对各种状态须作不同处理,这正是软件系统开发的难度所在。下面给出RC522命令
集中2个最基本命令(Tranceive和MFAuthe-nt)执行过程中可能遇到的通信状态及处理。这两个命令分别实现向MIFARE卡发送/接收数据和加密认证功能。实际上,通过它们即可完成对MIFARE卡的所有操作,包括Request、Anticollision、Select、READ、WRITE等。
2.1 RC522命令集的实现
RC522主要的状态指示寄存器包括ComIrqReg、Er-rorReg、Status2Reg和FIFOLevelReg等。软件处理的思路:通过ComIrgReg得到RC522内部中断状态;由中断判断RC522与MIFARE卡的通信流程信息,从而决定是否进行下一流程处理;若中断指示有错误发生,则需进一步读取ErrorReg的内容,据此返回错误字。
新一代Mifare射频基站IC MF RC522在水表中的应用
摘要:介绍了Philips公司最新推出的Mifare非接触IC卡读写芯片MF RC522的主要特性、引脚功能和基本指令集;简述以MSP430系列超低功耗16位单片机为内核的水表设计以及与MFRC522的硬件接口电路设计;重点阐述了MSP430对MF RC522的读写控制流程。
关键词:MF RC522 MSP430单片机低功耗水表
非接触式智能卡(射频卡)以其高度安全保密性、通信高速性、使用方便性广泛应用于三表行业,实现预付费功能,使人们生活质量有了很大的提高。射频卡技术应用于水表将是智能水表的一次伟大革命。
MF RC522是Philips公司针对三表最新推出的一款非接触式低功耗读写基站芯片,它是应用于13.5 6MHz非接触式通信中高集成读卡IC系列中的一员。该读卡IC系列利用了先进的调制和解调概念,完全集成了13.56MHz下所有类型的被动非接触式通读方式和协议。MF RC522支持ISO14443A所有的层,传输速度最高达424kbps,具有三种主机接口方式:SPI模式、UART模式、I2C模式。
本设计采用MSP430系列超低功耗16位单片机为主控芯片,系统3.3V供电完全适合MFRC522供电要求,实
现了低功耗的完美结合。
1 系统设计
该系统以TI MSP430F413单片机为核心,工作电压为1.8V~3.6V,内置LCD驱动器24×4段,可以缩小体积、降低成本,在休眠模式下典型电流仅为0.7μA;采用内部Flash保存用水数据、剩余水量和水表状态信息;电源监控采用理光R3111E(可根据设定的门限电压选择相应的型号);水表阈门采用2.5V~6V直流电机,当人为破坏水表或所购买水量低于设定值时,水表报警并及时关掉阀门,同时将数据保存在内部Flash中;采用MFRC522读写芯片读写Mifare 1 S50卡片实现预付费功能。系统框如图1所示。
本设计利用RC522 UART模式与单片机通信,由于MSP430F413没有硬件串口,故需使用TIMERA模拟串口,
如图2所示。
对于MSP430F413而言,P1.0(TimerA捕获/比较输出口)口是UART的TX,P1.1(TimerA捕获/比较输出口)
是UART的RX。
2 MFRC522命令寄存器及基本指令集
2.1 命令寄存器CommandReg(0x01)
MF RC522内部有64个寄存器,共分4页:PAGE0:COMMAND AND STATUS;PAGE1:COMMAND;PAGE2:CFG;
PAGE3:TEST。MF RC522通过内部寄存器的读写控制与Mifare 1 IC卡数据通信。
CommandReg命令控制字如表1所示。
表1 CommandReg命令控制字
commandReg Address 0x01 Reset value 0x20
7 6 5 4 3 2 1 0
Command命令类别如表2所示。
表2 Command命令类型
2.2 基本指令集
MF RC522有14种基本指令集,实现不同方式的数据传输,如表3所示。
表3 14种基本指令集