读写mfrc500寄存器步骤教学提纲.ppt
读写MFRC500寄存器步骤18.1.1关于智能卡关于智能卡根据读写方法把根据读写方法把IC卡分为:接触式卡分为:接触式IC卡和非接触式卡和非接触式IC卡。两种卡的卡。两种卡的集成电路均密封在塑料卡基片内部,可防水,防尘,防磁。集成电路均密封在塑料卡基片内部,可防水,防尘,防磁。接触式接触式IC卡:表面可以看到一个方型镀金接口,共有八个或六个镀卡:表面可以看到一个方型镀金接口,共有八个或六个镀金触点,用于与读写器接触,通过电流信号完成读写。金触点,用于与读写器接触,通过电流信号完成读写。非接触式非接触式IC卡:卡内除包含前述三种卡:卡内除包含前述三种IC卡电路,还有射频收发电路卡电路,还有射频收发电路及相关电路。及相关电路。IC卡在一定距离内即可收发读写器的信号,实现非接触读卡在一定距离内即可收发读写器的信号,实现非接触读写。因而称这种写。因而称这种IC卡为非接触式,或者感应式卡为非接触式,或者感应式IC卡,或者射频识别卡,或者射频识别(RadioFrequencyIdentification,简称简称RFID)卡。卡。18.1 智能卡基本知识概要18.1.2智能卡的接口设备智能卡的接口设备智能卡接口设备智能卡接口设备IFD(interfacedevice),通常也称作,通常也称作IC卡读写卡读写设备设备/读写器。读写设备按运行方式可分为单机型和联机型两大类。读写器。读写设备按运行方式可分为单机型和联机型两大类。单机型读写设备:可独立存储和工作,无需和主机相连就可完成数单机型读写设备:可独立存储和工作,无需和主机相连就可完成数据读写,可与应用设备结合或单独工作。有着系统规模小、适应范围广、据读写,可与应用设备结合或单独工作。有着系统规模小、适应范围广、不需要联接微机、输出直接控制终端执行机构不需要联接微机、输出直接控制终端执行机构(例如电控锁、闸门等例如电控锁、闸门等)以以及安装简单、使用方便等诸多优点。典型应用有及安装简单、使用方便等诸多优点。典型应用有IC卡电表、水表,公交卡电表、水表,公交车票刷卡机等。车票刷卡机等。联机型读写设备:通过并行或串行口与联机型读写设备:通过并行或串行口与PC机或应用系统网络连接,机或应用系统网络连接,组成不同的应用系统。联机型读写设备一般应用于金融和商品交易部门,组成不同的应用系统。联机型读写设备一般应用于金融和商品交易部门,适合大型系统或金融支付系统使用。适合大型系统或金融支付系统使用。18.1 智能卡基本知识概要18.1.3智能卡的国际标准智能卡的国际标准(1)接触式)接触式IC卡的国际标准卡的国际标准ISO/IEC7816是是IC卡遵循的主要国际标准,对卡遵循的主要国际标准,对IC卡的物理特性、卡的物理特性、触点的尺寸和位置、电信号和传输协议、交换用行业命令、生物个触点的尺寸和位置、电信号和传输协议、交换用行业命令、生物个人认证方法、密码信息应用等做出了详细规定。人认证方法、密码信息应用等做出了详细规定。(2)非接触式)非接触式IC卡的国际标准卡的国际标准标准卡类型作用距离(约)ISO 10536密耦合密耦合01cmISO 14443近耦合近耦合010cmISO 15693疏耦合疏耦合01m(3)测试标准)测试标准对各种卡进行测试的国际标准是对各种卡进行测试的国际标准是ISO/IEC10373。返回返回18.1 智能卡基本知识概要18.2非接触式非接触式IC卡卡18.2.1非接触式非接触式IC卡卡非接触式非接触式IC卡卡ContactlessSmartCard(CSS),也称作感应卡、),也称作感应卡、射频卡,由射频卡,由IC芯片、感应天线组成,并完全密封在一个标准芯片、感应天线组成,并完全密封在一个标准PVC卡片中,卡片中,无外露部分,其结构示意图如下。无外露部分,其结构示意图如下。外壳外壳芯片芯片天线天线18.2 非接触式IC卡非接触非接触IC卡工作原理图卡工作原理图 PC读写器读写器(内置芯片、天线)(内置芯片、天线)天线天线非接触非接触IC卡卡能能 量量数数 据据时时 序序18.2 非接触式IC卡非接触非接触IC卡的优点:卡的优点:(1)高可靠性)高可靠性:无触点,避免了由接触读写产生的各种故障。提高:无触点,避免了由接触读写产生的各种故障。提高了抗静电和环境污染能力,因此提高了可靠性及使用寿命。了抗静电和环境污染能力,因此提高了可靠性及使用寿命。(2)易用性)易用性:操作方便、快捷,无需插拔卡,完成:操作方便、快捷,无需插拔卡,完成次操作只需次操作只需0.10.3秒。秒。(3)高安全性)高安全性:序列号全球唯一。卡与读写设备之间采用双向互认:序列号全球唯一。卡与读写设备之间采用双向互认验证机制。所有数据都加密,不同分区的数据用不同的密码和访问验证机制。所有数据都加密,不同分区的数据用不同的密码和访问条件进行保护。条件进行保护。(4)高抗干扰性)高抗干扰性:对有防冲突电路的非接触卡,在多卡同时进入读:对有防冲突电路的非接触卡,在多卡同时进入读写范围内时,读写设备可一一对卡进行处理。写范围内时,读写设备可一一对卡进行处理。(5)一卡多用)一卡多用:卡片上的数据分区管理,实现一卡多用、一卡通。:卡片上的数据分区管理,实现一卡多用、一卡通。(6)多种工作距离)多种工作距离:作用距离从几厘米到几米,适应不同场合。:作用距离从几厘米到几米,适应不同场合。18.2 非接触式IC卡18.2.2非接触卡的应用非接触卡的应用(1)公共交通)公共交通(2)身份识别)身份识别(3)门禁控制)门禁控制另外,高速公路收费,停车场收费,加油站收费,另外,高速公路收费,停车场收费,加油站收费,智能卡水表、电表、煤气表等应用。智能卡水表、电表、煤气表等应用。18.2 非接触式IC卡18.2.3非接触式非接触式IC卡卡MifarePhilips是世界上最早研制非接触式是世界上最早研制非接触式IC卡的公司,其卡的公司,其Mifare技术技术已经被制定为已经被制定为IS0IEC14443TYPEA国际标准。国际标准。(1)Mifare1卡特点卡特点采用采用CMOS工艺,内建工艺,内建E2PROM存储器、存储器、MCU智能控制器等。智能控制器等。卡片电路不用任何电池供电。卡片电路不用任何电池供电。标准操作距离高达标准操作距离高达10cm,通信速率高达,通信速率高达106kbits。具有先进的数据通信加密和双向密码验证功能。具有先进的数据通信加密和双向密码验证功能。具有防冲突功能。具有防冲突功能。其芯片在制造时具有全球唯一的序列号。其芯片在制造时具有全球唯一的序列号。内建内建8K的的E2PROM存储器,分存储器,分16个扇区。个扇区。芯片设计有增减值运算电路,其运算时间最长不超过芯片设计有增减值运算电路,其运算时间最长不超过100ms。擦写能力超过擦写能力超过10万次,数据保存期大于万次,数据保存期大于10年。年。18.2 非接触式IC卡(2)MF1卡主要参数卡主要参数工作频率工作频率:13.56MHZ;数据保存期数据保存期:10年;年;操作时间操作时间:96ms;读写距离读写距离:2.510cm;存储容量存储容量:8Kbit;尺寸尺寸:85.6mm54mm0.76mm;存储器类型存储器类型:E2PROM;操作环境温度操作环境温度:2050;多重应用区多重应用区:16个分区;个分区;厂商序列号厂商序列号:32位,全球唯一;位,全球唯一;相对湿度相对湿度:90%;写卡次数写卡次数:10万次以上;万次以上;材料材料:PVC。18.2 非接触式IC卡(3)MFl芯片逻辑结构芯片逻辑结构数数 字字 控控 制制 单单 元元射频接口射频接口 E2PROM认证认证 控制和算术控制和算术运算单元运算单元防冲突防冲突E2PROM接接口口加密单元加密单元天天线线18.2 非接触式IC卡(4)MFl卡片的存储结构卡片的存储结构Mifare1卡片采用卡片采用EEPROM作为存储介质,容量为作为存储介质,容量为1K8位位,分,分为为16个扇区个扇区(015),每个扇区有,每个扇区有4个块个块(03),每块有,每块有16字节。一个扇字节。一个扇区共区共16Byte4=64Byte。扇区的第四块称作尾块,包含了该扇区的。扇区的第四块称作尾块,包含了该扇区的密码密码A(6个字节个字节)、存取控制、存取控制(4个字节个字节)、密码、密码B(6个字节个字节),是控制块。,是控制块。其余三块是数据块。其余三块是数据块。扇区扇区0的块的块0固化了厂商代码信息,不可改写。其中:第固化了厂商代码信息,不可改写。其中:第04字节为字节为卡片的序列号;第卡片的序列号;第5字节为序列号的校验码;第字节为序列号的校验码;第6字节为卡片的容量字节为卡片的容量“SIZE”;第;第7,8字节为卡片的类型号字节为卡片的类型号(Tagtype);其他字节由厂商另;其他字节由厂商另加定义。如下图所示。加定义。如下图所示。扇区扇区块块0123456789ABCDEF描述描述03密密码码A权权限位限位密密码码 B第第0扇区尾扇区尾块块2数据数据块块1数据数据块块0厂商厂商标标志志块块18.2 非接触式IC卡18.2.4非接触式非接触式IC卡标准卡标准ISO/IEC14443ISO/IEC14443是近耦合是近耦合IC卡的国际标准,包括四个部分:卡的国际标准,包括四个部分:第一部分第一部分ISO/IEC14443-1制定了有关非接触卡的物理特性;制定了有关非接触卡的物理特性;第二部分第二部分ISO/IEC14443-2制定了有关射频功率及信号界面的特性;制定了有关射频功率及信号界面的特性;第三部分第三部分ISO/IEC14443-3则为非接触卡的初始化及防冲突机制;则为非接触卡的初始化及防冲突机制;第四部分第四部分ISO/IEC14443-4为有关的交易协定。为有关的交易协定。18.2 非接触式IC卡TypeA与与TypeB的比较的比较非接触式非接触式IC卡的分为卡的分为TypeA和和TypeB两种。两种。Philips公司的公司的MF1卡卡就是就是A型卡。型卡。下表中下表中PCD(ProximityCouplingDevice)指阅读器,)指阅读器,PICC(ProximityIntegratedCircuitCard)指近耦合非接触式)指近耦合非接触式IC卡。卡。A型型B型型PCD到到PICC调调制制ASK 100%ASK 10%位位编码编码改改进进的的Miller编码编码NRZ编码编码波特率波特率106kdB106kdB同步同步位位级级同步同步(帧帧起始,起始,帧结帧结束束标记标记)每个字每个字节节有有1个起始位和个起始位和1个个结结束位束位PICC到到PCD调调制制用振幅用振幅键键控控调调制制847kHz的的负载调负载调制的副制的副载载波波用相位用相位键键控控调调制制847kHz的的负载调负载调制的副制的副载载波波位位编码编码曼曼彻彻斯特斯特编码编码NRZ编码编码波特率波特率106kdB106kdB同步同步1位位“帧帧同步同步”(帧帧起始,起始,帧结帧结束束标记标记)每个字每个字节节有有1个起始位和个起始位和1个个结结束位束位返回返回18.2 非接触式IC卡18.3非接触式非接触式IC卡读写设备设计卡读写设备设计18.3.1概述概述(1)非接触)非接触IC卡读写设备基本功能卡读写设备基本功能非接触非接触IC卡进卡进/出射频区的识别和控制。出射频区的识别和控制。向非接触向非接触IC卡提供其所需要的稳定的电源。卡提供其所需要的稳定的电源。实现与卡的数据交换,并提供相应的控制信号。实现与卡的数据交换,并提供相应的控制信号。提供相应的加密解密处理及密钥管理机制。提供相应的加密解密处理及密钥管理机制。提供相应的外部控制信息及与其他设备的信息交换。提供相应的外部控制信息及与其他设备的信息交换。18.3 非接触式IC卡读写设备设计(2)非接触)非接触IC卡读写设备工作过程卡读写设备工作过程读写设备终端不断向周围发送一组固定频率的电磁波。当频率读写设备终端不断向周围发送一组固定频率的电磁波。当频率相同的卡片进入其工作领域时,卡片内的相同的卡片进入其工作领域时,卡片内的LC串联谐振电路在电磁激励串联谐振电路在电磁激励下产生共振,为卡内的电容充电。下产生共振,为卡内的电容充电。在电容的另一端,接有一个单向导通的电子泵,将电容内的电在电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到荷送到另一个电容内存储,当所积累的电荷达到2v时,此电容了可源时,此电容了可源为集成电路提供工作电压。为集成电路提供工作电压。卡片集成电路中的有关控制逻辑电路对接收到的信号进行解码。卡片集成电路中的有关控制逻辑电路对接收到的信号进行解码。根据解码信息判断读写设备终端发来的命令要求,若是读取信息则控根据解码信息判断读写设备终端发来的命令要求,若是读取信息则控制逻辑电路从存储器中读取有关信息;若是修改信息则有关控制逻辑制逻辑电路从存储器中读取有关信息;若是修改信息则有关控制逻辑启动电压泵将启动电压泵将2V工作电压提升到工作电压提升到15V以便对存储器以便对存储器E2PROM中内容中内容进行重新写入编程。进行重新写入编程。当电容放电时,非接触卡内的发射电路就将从存储器中读取的当电容放电时,非接触卡内的发射电路就将从存储器中读取的数据信息及相关信息发送给读写设备终端。数据信息及相关信息发送给读写设备终端。读写设备终端对接收到的信息进行处理。读写设备终端对接收到的信息进行处理。18.3 非接触式IC卡读写设备设计(3)非接触)非接触IC卡读写设备系统组成卡读写设备系统组成与主机的通信接口与主机的通信接口LED/LCD显显示示键盘键盘其它其它MCU天线天线射频处理射频处理模块模块18.3 非接触式IC卡读写设备设计18.3.2硬件设计硬件设计(1)非接触)非接触IC卡读写芯片卡读写芯片MFRC5001)MFRC500功能结构功能结构 控制线控制线MF RC500并行微控并行微控制器接口制器接口(带输入(带输入输出缓冲)输出缓冲)Crypto1 安全算法安全算法及及 密码验证密码验证状态及控制状态及控制数据处理数据处理并行并行/串行转换串行转换CRC/奇偶生成及奇偶生成及校验校验帧封装生成及校验帧封装生成及校验位编码及译码位编码及译码模拟电路模拟电路集成解码器集成解码器位译码器位译码器输出驱动输出驱动数据线数据线Mifare1S50地址线地址线18.3 非接触式IC卡读写设备设计2)MFRC500引脚引脚OSCINIRQMFINMFOUTTX1TVDDTX2TVSSNCSNWRNRDDVSSD0D1D2D3OSCOUTRSTPDVMIDRXAVSSAUXAVDDDVDDA2A1A0ALED7D6D5D41 322 313 304 295 286 277 268 259 24 10 2311 2212 2113 2014 1915 1816 1718.3 非接触式IC卡读写设备设计3)MFRC500的寄存器的寄存器MCU对对MFRC500的控制是通过对其内部的寄存器的读写来实现的控制是通过对其内部的寄存器的读写来实现的的.MFRC500内部共有内部共有64个寄存器,分成个寄存器,分成8页,每页页,每页8个寄存器。个寄存器。MFRC500的寄存器描述请参见的寄存器描述请参见附录附录G。18.3 非接触式IC卡读写设备设计4)MFRC500的命令的命令RC500内部有一个状态机,可以执行命令寄存器(内部有一个状态机,可以执行命令寄存器(Command)中的)中的命令。命令的启动只需要将命令代码写到命令。命令的启动只需要将命令代码写到Command寄存器中。执行命寄存器中。执行命令所需要的变量以及数据通过令所需要的变量以及数据通过FIFO缓冲区来传递。缓冲区来传递。RC500的命令集有的命令集有13条命令:条命令:开始(开始(StartUp)空闲(空闲(Idle)传送(传送(Transmit)接收(接收(Receive)传收(传收(Transceive)写写E2PROM(WriteE2)读读E2PROM(ReadE2)取密码(取密码(LoadKey)取取E2PROM中的密码(中的密码(LoadKeyE2)认证认证1(Authent1)认证认证2(Authent2)载入配置(载入配置(LoadConfig)计算计算CRC(CalcCRC)。)。18.3 非接触式IC卡读写设备设计(2)GP32与与MFRC500的连接的连接地址锁存地址锁存数数 据据/地地址址复位复位片选片选写写读读中断中断高电平高电平低电平低电平高电平高电平PTB0PTB7PTC0PTC1PTC2PTC3PTC4IRQMC68HC908GP32D0D7A0A1A2RSTPD NCSALE IRQMF RC500TX2RXTX1VMID匹配匹配电路电路天线天线NWRNRD18.3 非接触式IC卡读写设备设计18.3.3低端软件设计低端软件设计(1)对)对MFRC500的操作的操作1)访问)访问RC500寄存器寄存器RC500内部共有内部共有64个寄存器,分个寄存器,分8页。每页页。每页8个寄存器,每页的个寄存器,每页的第一个寄存器均称为页寄存器第一个寄存器均称为页寄存器Page-Register,如下图。,如下图。使用使用页选择页选择0 0 00页选择页选择 7 6 5 4 3 2 1 0寄存器的第寄存器的第7位是使用页选择位,若置位是使用页选择位,若置1,页选择有效;若置,页选择有效;若置0,则页选择无效。第则页选择无效。第0到第到第2位是页选择,仅当第位是页选择,仅当第7位(使用页选择位)位(使用页选择位)为为1时才有效。其数值就是寄存器地址时才有效。其数值就是寄存器地址A5、A4、A3的内容,即寄存的内容,即寄存器的页号。器的页号。18.3 非接触式IC卡读写设备设计复用地址数据线方式下的寄存器地址复用地址数据线方式下的寄存器地址当使用复用地址数据线方式时,地址可以采用页模式或线性地址当使用复用地址数据线方式时,地址可以采用页模式或线性地址这两种方式。如下表:这两种方式。如下表:寄存器寄存器访问访问方式方式是否使用是否使用页选择页选择寄存器地址寄存器地址页页模式模式1PageSelect2PageSelect1PageSelect0AD2AD1AD0线线性地址性地址0AD5AD4AD3AD2AD1AD0 使用页模式时,页选择寄存器的使用页选择位有效,页选择位使用页模式时,页选择寄存器的使用页选择位有效,页选择位确定页号,复用地址数据线上的确定页号,复用地址数据线上的AD0AD2确定是该页中的第几个确定是该页中的第几个寄存器。寄存器。MFRC500每次复位后,其页选择寄存器默认值为每次复位后,其页选择寄存器默认值为$80,即,即默认使用页模式。默认使用页模式。使用线性地址时,应先使页选择寄存器的使用线性地址时,应先使页选择寄存器的UsePageSelect位为位为0,确认不使用页选择模式,地址组成就是由复用地址数据线上的,确认不使用页选择模式,地址组成就是由复用地址数据线上的AD0AD5确定。确定。18.3 非接触式IC卡读写设备设计读、写读、写MFRC500寄存器步骤:寄存器步骤:读读MF RC500寄存器的程序流程图寄存器的程序流程图开始开始ALE:1ALE:10,0,锁存无效锁存无效数据口地址上线数据口地址上线NCS:1NCS:10,0,片选选中片选选中数据口方向改为输入数据口方向改为输入数据口内部上拉数据口内部上拉NRD:1NRD:10,0,读信号线有效读信号线有效读数据到数据口读数据到数据口NRD:0NRD:01,1,读信号线无效读信号线无效NCS:0NCS:01 1,片选无效,片选无效ALE:0ALE:01 1,地址锁存,地址锁存结束结束初始化数据口方向为输出初始化数据口方向为输出写写MF MF RC500寄存器的程序流程图寄存器的程序流程图开始开始ALE:0ALE:01 1,地址锁存,地址锁存地址上线地址上线ALE:1ALE:10,0,锁存无效锁存无效NCS:1NCS:10,0,片选选中片选选中NWR:1NWR:10,0,写信号线有效写信号线有效数据上线数据上线NWD:0NWD:01,1,写信号线无效写信号线无效NCS:0NCS:01 1,片选无效,片选无效结束结束初始化数据口方向为输出初始化数据口方向为输出18.3 非接触式IC卡读写设备设计2)读写)读写RC500的的FIFO缓冲区缓冲区MFRC500内部有内部有64字节的字节的FIFO(FirstInFirstOut,先进先出)先进先出)缓冲区,是缓冲区,是MCU与与RC500之间输入和输出数据流的缓存。缓冲区中之间输入和输出数据流的缓存。缓冲区中数据的流向按照先进先出的顺序进行。数据的流向按照先进先出的顺序进行。FIFO缓冲区的一个重要作用就是传递执行缓冲区的一个重要作用就是传递执行MFRC500命令时需命令时需要的参数。当要的参数。当MCU启动一个命令操作时,启动一个命令操作时,MFRC500到到FIFO缓冲区缓冲区去取得执行这个命令的参数。实际中只有一个去取得执行这个命令的参数。实际中只有一个FIFO缓冲区,而对缓缓冲区,而对缓冲区的访问有读入和取出两个方向。冲区的访问有读入和取出两个方向。与与FIFO缓冲区状态关系紧密的寄存器有:缓冲区状态关系紧密的寄存器有:vFIFO缓冲区数据寄存器:缓冲区数据寄存器:FIFODatavFIFO缓冲区数据长度寄存器:缓冲区数据长度寄存器:FIFOLengthvFIFO缓冲区大小寄存器:缓冲区大小寄存器:FIFOLevelv控制寄存器:控制寄存器:Control18.3 非接触式IC卡读写设备设计(2)与卡片的通信过程)与卡片的通信过程1)卡片的通信流程以及命令)卡片的通信流程以及命令非接触卡非接触卡MF1的通信流程的通信流程询卡询卡Request Standard询卡询卡Request AllPOR防冲突循环得序列号防冲突循环得序列号选中卡片选中卡片三遍验证确定分区三遍验证确定分区读块读块写块写块减量减量增量增量恢复恢复挂起挂起传送传送存储存储区操区操作作验证验证过程过程识别及识别及选中过选中过程程18.3 非接触式IC卡读写设备设计MF1卡对存储器的操作命令:卡对存储器的操作命令:v读数据块读数据块READv写数据块写数据块WRITEv数据块内容增值数据块内容增值INCREMENTv数据块内容减值数据块内容减值DECREMENTv数据块内容重存数据块内容重存RESTOREv传送数据块内容传送数据块内容TRANSFER18.3 非接触式IC卡读写设备设计2)卡片的状态)卡片的状态POWER OFF状态状态HALT命令命令应应用用SELECT命令命令REQA、WUPA命令命令防防冲冲突突循循环环上电复位上电复位WUPA命命令令IDLE状态状态READY状态状态ACTIVE状态状态HALT状态状态18.3 非接触式IC卡读写设备设计3)射频通信应用程序)射频通信应用程序询卡函数询卡函数防冲突函数防冲突函数选中卡片函数选中卡片函数密码验证函数密码验证函数读数据块函数读数据块函数写数据块函数写数据块函数增值函数增值函数减值函数减值函数卡片挂起函数卡片挂起函数18.3.5PC机软件设计机软件设计PC机放软件主要功能:将卡中读出的数据形象地显示在界面上,机放软件主要功能:将卡中读出的数据形象地显示在界面上,将需要写入的数据以最方便的方式传送到主控将需要写入的数据以最方便的方式传送到主控MCU中,再写入卡中。中,再写入卡中。返回返回18.3 非接触式IC卡读写设备设计智能卡在我们的日常生活中广泛使用,本章在介绍智能卡的基础智能卡在我们的日常生活中广泛使用,本章在介绍智能卡的基础上,重点分析了非接触式上,重点分析了非接触式IC卡读写设备的实现方法,并介绍了与智能卡读写设备的实现方法,并介绍了与智能卡相关的一些计算机技术,使大家对智能卡有一个全面了解,卡相关的一些计算机技术,使大家对智能卡有一个全面了解,本章小结本章小结返回返回此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢