欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    非接触式IC卡技术.ppt

    • 资源ID:6213254       资源大小:933.50KB        全文页数:97页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    非接触式IC卡技术.ppt

    非接触式IC卡技术,电子与信息工程学院,提 纲,非接触式IC卡概述系统构成/分类/国际标准 非接触式IC卡工作原理 能量传递/信息传递/防冲突 非接触式IC卡芯片技术 MIFARE 1 非接触式IC卡接口技术MIFARE 1,为什么要使用非接触式IC卡?,在频繁操作的场合,如门禁、考勤、小额电子钱包(公交收费、食堂收费、高速公路收费、停车场收费)、身份认证等场合,接触式IC卡越来越明显的暴露出其弊端:,容易磨损操作速度慢使用不方便,什么是非接触式IC卡?Contactless ICC,非接触式IC卡是在卡中敷设天线,利用天线的接收发射,与读写器的天线交换信号,实现一种无线通讯,非接触式IC卡又被称为射频卡(RFCRadio Frequency Card),简称RF卡,非接触式IC卡系统被称为射频识别系统(RFIDRadio Frequency Identification)。,非接触式IC卡系统构成,非接触式IC卡:数据载体,应答器非接触式IC卡读写器:卡接口设备,阅读器,寻呼器,非接触式IC卡的基本构成,非接触式IC 卡:芯片+天线+卡基,非接触式IC卡读写器的构成,高频模块(发送器和接收器)、控制单元耦合元件(天线),非接触式IC卡的特点,可靠性高、寿命长。非接触式IC卡与读写器之间无机械接触,避免了由于接触读写而产生的各种故障。非接触式ID卡表面无裸露的芯片,无须担心芯片脱落、静电击穿、弯曲、损坏等问题,既便于卡片的印刷,又提高了卡片使用的可靠性。操作快捷便利。动态处理。成本较高。,非接触式IC卡的分类,按片内IC:存储卡、逻辑加密卡、CPU卡按工作距离:密耦合卡、近耦合和疏耦合卡 按工作频率的高低:125kHz的低频卡(30 kHz 300 kHz),13.56MHz的高频或射频卡(3MHz30 MHz),915MHz、2.45GHz的超高频卡(300MHz 3GHz)、5.8GHz的微波卡(3GHz)。按卡内芯片供电方式:卡内带电池的有源卡和卡内无电池、由读写器以无线感应方式供电的无源卡 按使用过程中的读写方式:只读卡(ID卡)和读写卡(带EEPROM),EM ID厚卡,EM ID薄卡,PHILIPS MIFARE 1卡,TI(德州仪器)Tag-it电子标签,手表卡与钥匙扣卡,不同频段射频卡的特点,非接触式IC卡的国际标准,注释:ICC集成电路卡CICCClose-Coupled ICC,紧密(密耦合)卡;PICCProximity ICC,称为接近(近耦合)卡;VICCVicinity ICC,称为邻近(疏耦合)卡。CD Coupling Device,是读写器中发射电磁波的部分,ISO/IEC14443国际标准现阶段ISO/IEC 14443(草案)主要有两个体系并存:ISO/IEC14443-Type A、ISO/IEC14443-TypeB。TypeA:以PHILIPS公司为代表,包括SIEMENS、HITACHI、GEMPLUS、G&D和Schlumberger等公司 TypeB:以ST(意法半导体)、MOTOROLA、ATMEL、韩国SAMSUNG和日本的NEC等公司为代表。,ISO/IEC18000国际标准18000-1:物理层18000-2:低于135KHz通信的空中接口的参数;18000-3:在13.56MHz通信的空中接口的参数;18000-4:在2.45GHz通信的空中接口的参数;18000-5:5.8GHz通信的空中接口的参数;18000-6:860-960MHz通信的空中接口的参数;18000-7:433MHz通信的空中接口的参数;,目前13.56MHz的产品主要包括:ISO14443TypeA卡Mifare 1 S50卡、Ultra Light卡 LEGIC Type A 卡、上海公交卡即华虹IC卡、复旦微电子Type A 卡ISO14443TypeB卡ATMEL RF020ISO15693(电子标签)卡PHILIPS I-Code2、TI Tag-it标签I-CODE(电子标签)卡 PHILIPS I-Code、上海贝岭BL75R02SONY Felica卡香港八达通、深圳通中国二代身份证,目前125KHz的产品主要包括:,此外,还包括ATMEL的TEMIC卡系列、TI的低频标签、HITAG卡等。,非接触式IC卡工作原理,要解决的三大问题:(1)非接触卡如何取得工作电压。(2)读写器与IC卡之间如何交换信息。(3)防冲突问题:多张卡同时进入读写器发射的能量区域(即发生冲突)时如何对卡逐一进行处理。,非接触式IC卡与读写器接口电路,(1)读写器发射激励信号(一组固定频率的电磁波),数字信息调制在该射频信号上。(2)IC卡进入读写器工作区内,被读写器信号激励。在电磁波的激励下,卡内的LC串联谐振电路产生共振,从而使电容内有了电荷,当所积累的电荷达到2V时,此电容可以作为电源为其他电路提供工作电压,供卡内集成电路工作所需。(谐振、整流、滤波、稳压)。(3)同时卡内的电路对接收到的谐振信号进行解调,还原数字信息,对信息进行分析处理,判断发自读写器的命令,如需在EEPROM中写入或修改内容,还需将2V电压提升到15V左右,以满足写入EEPROM的电压要求。(4)IC卡对读写器的命令进行处理后,发射应答信息(将应答信息调制到射频信号上)给读写器。(5)读写器接收IC卡的射频信号并进行解调还原出应答信息。,初始化与防冲突(AntiCollion),如果有2张或2张以上的IC卡进入读写器的工作范围,称之为冲突(或碰撞Collion),此时就需要解决如何对多张IC卡逐一处理的问题防冲突 AntiCollion。防冲突方案:位帧防冲突(Bit AntiCollision)动态时隙-ALOHA法(Slotted-ALOHA法),项目引入IC卡公交收费机,定额收费操作方便快捷可显示余额非法卡或余额不足报警可将当班收款额上传总站数据库总站可调整定额额度。卡遗失可挂失。,项目设计之一卡型选择,接触式逻辑加密卡 SLE4406非接触式ID卡 EM的4001卡非接触式逻辑加密卡 PHILIPS的Mifare卡,操作不方便,没有加密逻辑,不安全,容易实现定额收费,操作方便快捷,安全性高,通用性强,Mifare 1非接触式IC卡,基本性能指标:卡内器件:无线智能卡芯片Mifare MF1 IC S50+天线线圈标准:遵从ISO/IEC 14443 Type A 标准工作频率:13.56MHz数据传送速率:106kbit/s(9.4s/bit),Mifare卡与读写器之间的信号,Mifare卡的信号调制方式,Type A与Type B调制程度的比较,TYPE A:100%ASK,TYPE B:10%ASK,从读写器到卡的调制与编码,载波:fc=13.56MHz数据传输速率:13.56MHz/128=106kbit/s(9.4s/bit)调制方式:TYPE A用100%ASK,TYPE B用10%ASK,编码方式:TYPE A用改进的MILLER编码,TYPE B用NRZ编码(不归零制数位编码),从卡到读写器的调制与编码,副载波:fc/16=847.5kHz 数据传输速率:106kbit/s调制方式:副载波调制编码方式:TYPE A用MANCHESTER-ASK,TYPE B用BPSK-NRZ(二进制相移键控数位编码),Mifare 1卡片的存储结构,存储容量:10248位字长(即1KB),存储介质:EEPROM分为16个扇区(扇区0 15)每个扇区有4个块(Block)块0、块1、块2和块3。每个块有16个字节。一个扇区共有 16 Byte4=64 Byte,块功能详解,1)厂商块地址:扇区0块0内容:IC卡厂商标志。其中:第04个字节为卡序列号SN,第5个字节为序列号的校验码;第6个字节为卡容量字节“SIZE”;第7,8个字节为卡类型号Tagtype;特性:基于保密性和系统的安全性,这一块在IC卡厂商编程之后被置为写保护,因此该块不能再复用为应用数据块。例:序列号SN:420A7E00H+校验码36H 容量字节SIZE:88H 卡类型号Tag Type:0400H,块功能详解,2)数据块每扇区3个数据块(扇区0只有2个),每块16字节。可由区尾块中的存取控制位(access bits)配置为:读写块:用作一般的数据保存,可用读/写命令直接读/写整个块值块:用作数值块,可以进行初始化值、加值、减值、读值的运算,相应配用的命令为INC/DEC/RESTORE/TRANSFER命令。通常数据块中的数据都是需要保密的数据,对这些数据的读/写/加值/减值均需:符合该块存取条件的要求+通过该扇区的密码认证。,块功能详解,3)区尾块 每个扇区的块3为区尾(Sector Trailer)块:KEY A(6B)+Access bits(4B)+KEY B(6B)例:A0A1A2A3A4A5FF078069 B0B1B2B3B4B5 密钥A:A0A1A2A3A4A5H(缺省值)密钥B:B0B1B2B3B4B5H(缺省值)存取控制位:FF078069H(缺省值),Mifare 1 卡存取控制与数据区的关系,Access bits(存取控制位):定义该扇区中4个块的访问条件,及定义数据块的类型(读写或值)Mifare 1 卡出厂初始化时,所有扇区块3的初始化值均为 A0A1A2A3A4A5 FF078069 B0B1B2B3B4B5 卡初始化后的存取控制条件为:密码A永不可读,校验密码A或密码B正确后可以修改;密码B在校验密码A或密码B正确后可读,可修改;数据块在校验密码A或密码B正确后可读,可修改。,小结:MIFARE 1卡特点一,EEPROM存储器结构提供多应用:1K字节EEPROM,16个扇区,4数据块/扇区,16字节/块。用户可以定义每一个存储器块的访问条件。每个扇区(每应用)拥有各自独立的密钥,支持带密钥层次的多应用。,Mifare 1 卡的密码认证方式,Mifare 1 卡的密码的认证采用了三次相互认证的方法,具有很高的安全性。,(A)环:Mifare 1卡向读写器发送一个随机数据RB;(B)环:读写器收到RB后向Mifare 1卡片发送一个令牌数据TOKEN AB=用读写器中存放的密码加密后的RB+读写器发出的一个随机数据RA;(C)环:Mifare 1卡片收到 TOKEN AB 后,用卡中的密码对TOKEN AB的加密的部分进行解密得到RB,并校验第一次由(A)环中Mifare 1卡片发出去的随机数RB是否与(B)环中接收到的TOKEN AB中的RB相一致;若读写器与卡中的密码及加/解密算法一致,将会有RB=RB,校验正确,否则将无法通过校验;(D)环:如果(C)环校验是正确的,则Mifare 1卡片用卡中存放的密码对RA加密后发送令牌TOKEN BA给读写器;(E)环:读写器 收到令牌TOKEN BA后,用读写器中存放的密码对令牌TOKEN BA中的RA(随机数)进行解密得到RA;并校验第一次由(B)环中读写器发出去的随机数RA是否与(D)环中接收到 的TOKEN BA中的RA相一致;同样,若读写器与卡中的密码及加/解密算法一致,将会有RA=RA,校验正确,否则将无法通过校验;,(A)环:Mifare 1卡取随机数RB=1100,KEY1=1010,加密/解密算法:异或,发送RB给读写器(B)环:读写器取随机数RA=0011,KEY2=1010,加密/解密算法:异或,接收RB对RB加密:TOKENB=RB异或KEY2=0110,发送TOKENB+RA(C)环:Mifare 1卡片对TOKEN B解密:RB=TOKENB异或KEY1=1100=RB,校验正确;(D)环:Mifare 1卡片对RA加密TOKENA=RA异或KEY1=1001;(E)环:读写器 收对TOKEN A解密:RA=TOKENA异或KEY2=0011=RA,校验正确,小结:MIFARE 1卡特点二,高保密性:全球唯一SN;密钥及传输密码保护,各扇区密码独立且有三套(KEYSET0、1、2)二个(KEY A、KEY B)密码。密码认证采用三次相互认证;存取控制位保护,用户可以定义每一个存储器块的访问条件 RF信道数据加密,Mifare 1非接触式IC卡功能组成,POWER OFF状态,IDLE状态,READY状态,ACTIVE状态,HALT状态,RESET,REQUEST 命令,ANTICOLLISION命令启动防冲突循环读取卡回送的UID(SN),HALT命令,SELECT UID命令,应用:AUTENTICATION/READ/WRITE/INC/DEC命令,WAKE UP 命令,MIFARE 卡防冲突流程,小结:MIFARE 1卡特点三,真正的防冲突:卡芯片与读写芯片中都内嵌防冲突模块,可实现真正的(硬件)防冲突,可高速识别天线范围内的多张卡。,小结:MIFARE 1卡其他特点,高可靠性:无线通讯链路使用各种校验机制确保数据可靠传输 用户更方便:卡芯片中内建有增值/减值的专项数学运算电路,非常适合公交/地铁等行业的定额收费系统,实训5 MIFARE 1卡的读写操作与存储结构,按标志连接非接触式IC卡读写器的电源线,电源指示灯闪亮一下表示连接正确。注意电源+5V与地不可接反。按标志连接非接触式IC卡读写器与PC机间的通信线,打开MIFARE系列非接触式IC卡演示软件MWRF,确认通信正常。装载密码(Load Key)操作:在RFDEMO软件界面中选择密码集0(KEYSET0),密码A(KEY A),将扇区0-14的密码A设置为全F,而将扇区15的密码A设置为全0。启动密码下载,下载过程中红色指示灯点亮;下载完毕后红色指示灯熄灭。,MIFARE 1卡读写操作:将MIFARE 1卡按任意方向置入MIFARE开发板天线有效工作范围内,对MIFARE 1卡的扇区0、1和15的块0、1、2进行读/写操作。记录读取的卡数据,标明各块的类型及卡的类型号、序列号、容量及各扇区的密码和访问权限。注意:不得随意修改各扇区块3的数据,特别是访问权限字节,以免造成扇区被锁死。,防冲突测试(1)分别读出并记录二张MIFARE 1卡(分别记为1#卡、2#卡)的序列号,及其扇区0块1的内容,记录在报告上。(2)将二张MIFARE 1卡同时放置在读写器天线有效工作范围内,在RFDEMO软件中执行读操作,根据读出的SN找出被选中的卡(例如为1#卡)。(3)在RFDEMO软件中执行写操作,修改扇区0块1的内容并将数据记录在报告上。(4)将被选中的卡撤离读写器天线有效工作范围,读出另一张卡(例如2#卡)的扇区0块1的内容,并将数据记录在报告上。(5)取走(4)中的卡,重新读出并记录被选中的卡的扇区0块1的数据,并记录在报告上。(6)比较上述实验数据,说明MIFARE1卡是否具备防冲突功能。,存取控制设置:(1)读出并记录扇区14块0的内容;修改内容并再次读出,记录修改后的内容。说明该块的存取控制条件。(2)修改扇区14的存取控制字节,将扇区14块0设置为校验密码A/B正确可读,永不可修改。其他各块条件不变。(3)重复(1),说明修改存取控制字节产生的结果。(4)将存取控制位恢复为默认值。注意:严禁修改对块3的设置,否则容易错误将存取控制位设为永不可写,将无法恢复为默认值。,存取控制位的结构,存取控制位对块3的控制结构,存取控制位对数据块的控制结构,查表3:C1X0=0,C2X0=1,C3X0=0,其他位不变。对照表1:存取控制字节=EF 07 81 69H 将扇区14块3的内容修改为FFFFFFFFFFFFEF078169FFFFFFFFFFFF,项目设计之二硬件设计,MCU,MIFARE卡读写模块,EEPROM存储器,RS232接口,显示,报警,天线,卡,Mifare 核心读写模块MCM,功能:读写器MCU与MIFARE卡之间的接口,负责读写卡,其基本功能包括产生发送/接收射频信号、调制/解调、防冲突处理和安全管理。工作频率:13.56MHz。通信速率:106Kbps 工作距离:MCM20025mm,MCM500100mm防冲突:真正的防冲突功能。安全性与可靠性:每个扇区设有3套密码及其认证和密码存储器,模块与卡片通信时,数据加密,多种通信校验机制接口:标准MIFARE并行接口,MCM与MCU接口电路,直接用数据总线传送地址和数据:MODE、USEALE接高电平,ALE对接;A0A3悬空P3.3驱动-CS,即P3.3为低时选中(激活)MCM200模块MCM200的-IRQ接P3.2;可用查询或中断方式接收MCM发送的数据,项目设计之三软件设计,读写器与M1卡交换数据的过程:1)由读写器MCU(微控制器)发送指令给MCM,2)MCM执行指令并将其转换为射频信号发送给卡;3)卡接收到来自MCM的指令后,按指令完成其内部的各种处理,并回送应答信号/数据给MCM;4)MCM接收卡回送的射频信号并将其转换为数字信号输出给MCU,读写器MCU读取MCM接收到的应答/数据,即可完成与M1卡的数据交换。,MCM基本通信指令集,MCM内核特殊寄存器,MIFARE卡的读写操作步骤,激活MCMMCM软复位向MCM下载密码(LOAD KEY),校验传输密码正确后可向MCM的KEY-RAM写入用户自己设定的密码,以上操作与卡无关。请求应答(ANSWER TO REQUEST):寻卡 防冲突(ANTICOLLISION):选择唯一一张卡 选择标记(SELECT):激活所选择的卡 认证(AUTHENTICATION):安全性读写操作(读、写、加值、减值):交换数据(READ/WRITE/INCREAMENT/DECREMENT)停止(HALT):置卡为停止模式,防止重复操作。,SOR/LOAD KEY,REQUEST,ANTICOLLISION,READ/WRITE/INC/DEC,HALT,MIFARE 卡操作步骤,AUTHENTICATION,SELECT,卡应答:TAGTYPE(2B),卡应答:SN(4B)+校验码(1B),卡应答:SIZE(1B),卡应答:AE位,指令时序,每个指令由7个基本步骤组成,必须按此时序编程才能完成该指令:(1)初始化,设置各寄存器,特别是BCNTS和BCNTR。(2)送指令码到DATA,由MCM发送指令。(3)设置TOC,MCM准备接收来自卡的应答或数据。(4)检查DV标志,查询数据接收是否完成。DV标志为”1”表明MCM与MIFARE卡片之间的传输已经完成,并且主处理机可能已经从MCM中收到数据,可以进行下一步操作。而DV=0表示数据接收尚未完成或未能接收到数据,则程序循环检测DV标志直至DV=1。有一种情况例外,既当定时器溢出时,无论接收是否完成DV都将被设置为1,同样将进行下一步操作。(5)清零TOC。(6)检查出错标志,若有标志被设置,则进行相应的出错处理,例如设置出错标志等,并返回主程序;若没有标志被设置,表示接收正确,将进行下一步操作(7)MCU从DATA读出MCM接收到的应答或数据。,Answer to Request(请求应答)指令,Request 指令将通知MCM在天线有效的工作范围(距离)内寻找MIFARE 1卡。命令码:26H或52H。卡收到该指令将回送卡类型号作为卡应答:TAGTYPE(2个字节),With a“request std”(26H)instruction only cards which are not set into a“HALT-mode”will respond to this request,or it may be expanded to all cards in the field with a“request all”(52H)option.The first option is needed to prevent the MCM from selecting one card several times.,Difference between“request std”&“request all”,Request:NOP NOP MOV A,#0CH;设置STACON MOV R0,#01H MOVX R0,A MOV A,#0EH;设置BAUDRATE MOV R0,#05H MOVX R0,A MOV A,#0C0H;设置ENABLE MOV R0,#02H MOVX R0,A MOV A,#0C6H;设置MODE MOV R0,#07H MOVX R0,A MOV A,#0CH;再次设置STACON MOV R0,#01H MOVX R0,A MOV A,#02H;设置RCODE MOV R0,#0EH MOVX R0,A,MOV A,#07H;设置BCNTS=7bits MOV R0,#03H MOVX R0,A MOV A,#10H;设置BCNTR=2Bytes MOV R0,#04H MOVX R0,AJUDGE_COMMAND:;选择REQ STD还是REQ ALL MOV A,R2 XRL A,#01H JNZ RQT_STDRQT_ALL:MOV A,#52H SJMP RQT_NEXTRQT_STD:MOV A,#26HRQT_NEXT:MOV R0,#00H;发送命令码 MOVX R0,A NOP,MOV A,#0AH;设置TOC=1ms MOV R0,#06H MOVX R0,ARQT_STACON:MOV R0,#01H;读 STACON MOVX A,R0 JNB ACC.7,RQT_STACON;判断 DV=1?MOV R7,A;暂存STACON MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,A MOV A,R7;判断是否出错 JB ACC.6,RQT_TE_ERR JB ACC.3,RQT_BE_ERR MOV R0,#00H;读TAGTYPE MOVX A,R0 MOV 20H,A MOV R0,#00H MOVX A,R0 MOV 21H,A MOV B,#00H;设置 OK 标志 SJMP RQT_EXIT,RQT_BE_ERR:;错误处理 MOV B,#01H SJMP RQT_EXITRQT_TE_ERR:MOV B,#02H SJMP RQT_EXITRQT_EXIT:RET,AntiCollision 防冲突,如果有多于一张的Mifare 1卡处在MCM天线的有效工作范围(距离)内,则发生了冲突。AntiCollision操作使MCM能在多张Mifare 1卡中选择某一张卡。AntiCollision操作由一个AntiCollision Loop(防冲突循环,内部处理)来实现。设置STACON寄存器中的AC位启动AntiCollision循环。MCM发送AntiCollision命令(93H+20H),每张天线范围内的MIFARE 1卡接收AntiCollision命令后,都将回送自己的SN作为应答。由于每张卡的SN各不相同,MCM接收到的信息(即SN)至少有1位即是0又是1(即该位的前、后半部都有负载波调制),防冲突循环找到第1个冲突位将其置1(排除该位为0的卡),然后查第2个,依次排除,最后不再有冲突的SN即为最后读取的SN。,Anticollision:NOP NOP MOV A,#0CH SETB ACC.0;设置AC=1,启动防冲突 MOV R0,#01H MOVX R0,A ACALL DELAY_500s;延迟1000s ACALL DELAY_500s MOV A,#10H;设置BCNTS为2Bytes MOV R0,#03H MOVX R0,A MOV A,#28H;设置BCNTR为5Bytes MOV R0,#04H MOVX R0,A,MOV A,#93H;发送命令码 MOV R0,#00H MOVX R0,A MOV A,#20H;发送NVB MOV R0,#00H MOVX R0,A MOV A,#0AH;设置TOC为1ms MOV R0,#06H MOVX R0,AANTI_STACON:MOV R0,#01H;读STACON MOVX A,R0 JNB ACC.7,ANTI_STACON;判断 DV=1?MOV R7,A;暂存STACON MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,AMOV A,R7;判断是否出错 JB ACC.6,ANTI_TE_ERR JB ACC.3,ANTI_BE_ERR,MOV R7,#04H MOV B,#00H MOV R1,#30H;设置片内RAM的SN暂存区首地址 MOV R0,#00HANTI_LOOP:MOVX A,R0;读入4字节SN并逐一异或 MOV R1,A XRL B,A INC R1 DJNZ R7,ANTI_LOOP MOVX A,R0;读入1字节校验码 XRL A,B;用校验码异或校验SN JNZ ANTI_CHK_ERR_EXIT;校验出错 MOV B,#00H;设置OK标志 AJMP ANTI_BACKANTI_TE_ERR:;错误处理 MOV B,#01H AJMP ANTI_BACKANTI_BE_ERR:MOV B,#0AH AJMP ANTI_BACKANTI_CHK_ERR_EXIT:MOV B,#08HANTI_BACK:RET,Select Tag 选择卡片操作,Select Tag操作将选中AntiCollision操作所读取的SN对应的卡,使该卡进入激活状态,只有该卡才能进行后续的认证及访问操作。MCM发送Select命令(93H+70H+SN及校验码)卡接收该命令后将MCM发送的SN与自己的序列号比较,若一致则该卡被激活(ACTIVE),其他卡则仍留在READY状态。被选择(激活)的卡将回送其容量(SIZE)字节作为应答。,SELECT:MOV A,#0CH MOV R0,#01H MOVX R0,A MOV A,#0F0H;设置ENABLE MOV R0,#02H MOVX R0,A MOV A,#38H;设置BCNTS=7Bytes MOV R0,#03H MOVX R0,A MOV A,#08H;设置BCNTR=1 Byte MOV R0,#04H MOVX R0,A MOV A,#93H;发送命令码 MOV R0,#00H MOVX R0,A MOV A,#70H;发送NVB MOV R0,#00H MOVX R0,A,MOV R7,#04H MOV B,#00H MOV R0,#00H MOV R1,#40H;SN暂存区首地址SELECT_WRT_LOOP:MOV A,R1;取出ANTICOLLISION指令读取的SN字节 MOVX R0,A;发送SN字节给卡 XRL B,A;SN字节相异或生成校验码 INC R1 DJNZ R7,SELECT_WRT_LOOP MOV A,B MOVX R0,A;发送校验码 MOV A,#0AH;SET TOC MOV R0,#06H MOVX R0,A,SEL_RD_STACON_AGAIN:;READ STACON MOV R0,#01H MOVX A,R0 JNB ACC.7,SEL_RD_STACON_AGAIN;判断DV=1?MOV R6,A;暂存STACON MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,A MOV A,R6;判断是否出错 JB ACC.6,SEL_TE_ERR JB ACC.5,SEL_PE_ERR JB ACC.3,SEL_BE_ERR JB ACC.4,SEL_CE_ERR MOV R0,#00H;读取SIZE字节 MOVX A,R0 MOV 22H,A;SIZE字节存入22H MOV B,#00H;设置OK 标志 SJMP SEL_EXIT,SEL_TE_ERR:;错误处理 MOV B,#01H LJMP SEL_EXIT SEL_PE_ERR:MOV B,#05H LJMP SEL_EXIT SEL_CE_ERR:MOV B,#02H LJMP SEL_EXIT SEL_BE_ERR:MOV R7,#0AH LCALL D500US MOV B,#0BH SEL_EXIT:RET,Authentication 认证操作,MCM中设有专用的密码存储器(KEY-RAM),用于存储3个密码集KEYSET0,KEYSET1,KEYSET2,每一个KEYSET又包含了各个扇区的KEY A 及KEY B。Authentication操作就是将KEY-RAM中的密码与卡中对应的密码进行三次相互认证。Authentication操作的卡应答以AE位给出;AE=1,密码出错,未能通过认证;AE=0,密码正确,通过认证,Authetication操作包括3个步骤 1)设置KEYSTACON寄存器,指定Authetication操作及KEYSET(0、1或2)2)设置KEYADDR寄存器,指定Authetication操作、KEYA或KEYB、待认证的扇区号 3)写“命令”(60H或61H)和写“地址”(扇区号015)到DATA寄存器,启动Authetication操作。,READ/WRITE操作,READ/WRITE均需整块操作。READ:发送命令码30H+块地址(063)接收指定块的数据(16B)通常用2次读并比较是否一致来校验是否正确读WRITE:发送命令码A0H+块地址(063)接收ACK/NAK应答来校验是否正确接收命令 发送块数据(16B)接收ACK/NAK应答来校验是否正确写入EEPROM,Value Operate 值操作,MIFARE卡专门为公交/地铁等行业的定额收费系统设有值操作命令,包括INCREAMENT/DECREAMENT/TRANSFER/RESTORE对某块进行值操作的前提是该块已被初始化为“值块”(Value Block)并且Access Bits允许值操作。,值块的初始化,方法:对某块按固定的格式进行写操作格式:address 块地址(1B)value 值(4B,有符号),例如,对块地址为01H的块进行值块初始化,初始化值VALUE=00030000H,则数据格式为FE 01 FE 01 00030000 FFFCFFFF 00030000高 低,Increment/Decrement/Transfer,Increment:adds the specified value to the memory valueDecrement:subtracts the specified value from the memoty valueTransfer:Each Increment or Decrement instruction manipulating a standard value block has to be followed by a Transfer intruction which actually stores the calculated result in the card memory.Until then,the result is kept in an internal value buffer resgister.,DECREMENT:入口:块地址addr,值value存放于D_BUF出口:ACK/NAK NOP NOP MOV A,#10H;SEND BCNTS(16bits:命令码+块地址)MOV R0,#03H MOVX R0,A MOV A,#04H;SEND BCNTR(4bits:ACK/NAK)MOV R0,#04H MOVX R0,A MOV A,#0C0H;SEND CODE MOV R0,#00H MOVX R0,A MOV A,#addr;SEND BLOCK ADDR MOV R0,#00H MOVX R0,A,MOV A,#0AH;SET TOC=1ms MOV R0,#06H MOVX R0,AD_wait_value:;读STACON,判断DV=1?MOV R0,#01H MOVX A,R0 JNB ACC.7,D_wait_value MOV R6,A MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,A MOV A,R6;出错判断 JB ACC.6,DEC_TE_ERR JB ACC.3,DEC_BE_ERR AJMP DEC_CONTIDEC_TE_ERR:;NOTAGERR MOV B,#01H AJMP DEC_EXITDEC_BE_ERR:MOV B,#02H AJMP DEC_EXIT,DEC_CONTI:MOV R0,#00H;读入ACK/NAK,MOVX A,R0 ANL A,#0BH;仅检查0,1,3位 CJNE A,#00H,D_N1 MOV B,#07H;NOTAUTHERR(应答为00000000)SJMP DEC_NEXTD_N1:CJNE A,#0AH,D_N2;收到ACK应答(00000101),表示可以DEC SJMP DEC_NEXTD_N2:MOV B,#03H;其他错误应答(00000011),CODEER AJMP WRITE_EXIT,WRITE_NEXT:;开始写数据 MOV A,#32;SEND BCNTS=32bits(4B VALUE)MOV R0,#03H MOVX R0,A MOV A,#04H;SEND BCNTR=4 bits(ACK/NAK)MOV R0,#04H MOVX R0,A MOV R5,#4;送4B 值 MOV R0,#00H MOV R1,#D_BUFDEC_VALUE:MOV A,R1 MOVX R0,A INC R1 DJNZ R5,DEC_VALUE,MOV A,#0AH;SET TOC=1ms MOV R0,#06H MOVX R0,ADEC_end:;DV=1?MOV R0,#01H MOVX A,R0 JNB ACC.7,DEC_end MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,AJudge_answer:MOV R0,#01H;出错判断 MOVX A,R0 JNB ACC.6,DEC_error_TEMOV B,#00HDEC_ANSWER:;读入ACK/NAK MOV R0,#00H MOVX A,R0 ANL A,#0FH CJNE A,#04H,D_ERR1;(00000100为VALUE OVERFLOW)MOV B,#0FEH SJMP DEC_EXITD_ERR1:MOV B,#0FFH;其他错误 DEC_EXIT:RET,TRANSFER入口:块地址T_addr出口:ACK/NAKTRANS:NOP NOP MOV A,#10H;SEND BCNTS(16bits:命令码+块地址)MOV R0,#03H MOVX R0,A MOV A,#04H;SEND BCNTR(4bits:ACK/NAK)MOV R0,#04H MOVX R0,A MOV A,#0B0H;SEND CODE MOV R0,#00H MOVX R0,A MOV A,#T_addr;SEND BLOCK ADDR MOV R0,#00H MOVX R0,A,MOV A,#10H;SET TOC=1.5ms MOV R0,#06H MOVX R0,AT_end:;DV=1?MOV R0,#01H MOVX A,R0 JNB ACC.7,T_end MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,AJudge_answer:;出错判断 MOV R0,#01H MOVX A,R0 JB ACC.3,T_error_BE JB ACC.6,T_error_PE MOV B,#00H AJMP NEXT_TRANST_error_BE:;出错处理 MOV B,#03H SJMP NEXT_TRAN

    注意事项

    本文(非接触式IC卡技术.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开