Mifare 1非接触式IC卡读写核心模块MCM200

2008-03-07 16:21:32来源: 国外电子元器件 关键字:MOV  非接触IC卡读写器  Mifare  模块  定时计数器  重叠功能  缓冲寄存器

  摘要:介绍了Philips公司的Mifare 1非接触IC卡读写器芯片MCM200的主要特性、引脚功能、内部的物理功能寄存器和基本指令集。重点介绍了Mifare 1非接触IC卡和MCM200数据通信的一些重要模块的编程思路和编程方法,给出了两个编程实例。

  关键词:非接触IC卡 MCM200 读写器

  Mifare 1 IC智能(射频)卡的核心是Philips 公司的Mifare 1 IC S50(-01,-02,-03,-04)系列微模块(微晶片)。其相应的读写器模块为Philips公司的MCM200和MCM500。其中,MCM200模块主要应用于操作距离在 25mm的卡片读写器中;MCM500模块主要应用于操作距离在100mm的卡片读写器中。1 MCM200模块的主要特性

  MCM200读写器模块的主要特性如下:

  ●采用标准的双列直插式32引脚封装;

  ●工作频率为13.56MHz,采用标准的+5V电源供电,典型电流消耗为40mA;

  ●读写卡片距离可达25mm以上;

  ●与卡片的通信速率可达106kbps;

  ●每个扇区均包含有3套密码,同时包含有认证密码用的存储器;

  ●有防卡片重叠功能;

  

  

  ●带有16字节的FIFO(先进先出)队列接收/发送缓冲寄存器;

  ●在模块与卡片通信时可自动侦查错误,对数据流可自动分析;

  ●可对RF(射频)通道进行自动监控;

  ●有内建8位/16位CRC协处理器,可提供CRC、PARITY等数据校验;

  ●支持多种方式的活动天线,并且不需天线调节系统即可对天线进行补偿调节;

  ●带有标准的Mifare 并行接口可直接由标准的MCU接口信号控制。

  2 MCM200模块的引脚说明

  MCM200的引脚排列如图1所示。各引脚的功能如下:

  D0~D7:8位双向数据总线;

  A0~A3:4位地址线;

  BP:后备电池输入端,用于保护MCM内部密码RAM;

  NPAUSE1:串行数据输出,用于驱动RF单元,该引脚必须连到RF单元的TP端。

  NWR:写信号使能端;

  NRD:读信号使能端;

  NCS:该脚为低电平时选中MCM;

  KOMP1:RF的比较器输入端,使用时必须连到RF单元的RX端;

  NIRQ:MCU数据处理控制端。当该端为低时,MCU将用MCM状态寄存器中的内容来对MCM中的数据进行处理;

  ALE:地址锁存使能端;

  USEALE:选择从内部地址锁存器或A0~A3引脚取地址;

  DGND:数字电路接地端;

  DVDD:+5V电源端。

  MODE:并行协议模式选择引脚,可用高电平驱动。

  AVDD:+5V模拟电源输入引脚,用于RF射频单元;

  AGND:RF射频单元(模拟电路)接地端;

  NANT、ANT:天线连接端。

  3 MCM200内部特殊功能寄存器

  MCM200器件内部共有16个特殊功能寄存器,表1所列是这16种特殊功能寄存器的地址和读写情况。实际上,MCU主要通过对MCM寄存器的读写来控制MCM的工作。MCM是MCU与非接触式IC卡之间进行信息交换的接口,系统对卡片上的数据进行任何读写均须通过MCM 来传递。

  表1 MCU200中的物理功能寄存器

  寄存器名 地 址 读(READ) 写(WRITE)

  DATA 00H READ-BYTE WRITE-BYTE

  STACON 01H DV TE PE CE BE AE - - - - SOR RFS - - - - 1 1 NRF AC

  ENABLE 02H N/A 1 PR CE CR - - - - - - - -

  BCNTS 03H N/A BIT-COUNT-SEND

  BCNTR 04H N/A BIT-COUNT-RECEIVE

  BAUDRATE 05H N/A - - - - - - - - 1 1 1 BR

  TOC 06H N/A TIMEOUT-COUNTER

  MODE 07H N/A 1 1 0 0 0 P2 P1 P0 P0

  CRCDATA 08H CRC-BYTE-READ CRC-BYTE-WRITE

  CRCSTACON 09H CV - - - - - - - - - - - - CZ C8 - - - - - - - - - - - - CR

  KEYDATA 0AH N/A KEY-BYTE-WRITE

  KEYSTACON 0BH - - - - - - - - - - - - - - - - AL 0 - - - - - - - - KS1 KS0

  KEYADDR 0CH N/A AL AB A5 A4 A3 A2 A1 A0

  0DH    

  RCODE 0EH N/A - - - - - - - - 0 0 RC1 RC0

  表2 MCM2000的基本指令集

  指 令 指令代码(hex) 相关的出错标志 接收卡片上数据

  Answer to Request(Request的应答)   TE,BE Tagtype

  Request std 26

  Request all 52

  AntiCollision(防重叠) 93 TE,BE Serial Number

  Select Tag(选卡片) 93 TE,BE,PE,CE Size

  Authentication(认证)   TE,BE,PE,CE /

  Auth-1a 60

  Auth-1b 61

  Load KEY(存取密码) / AE  

  Read(读) 30 TE,BE,PE,CE Data

  Write(写) A0 TE,BE /

  Increment(增值) C1 TE,BE /

  Decrement(减值) C0 TE,BE /

  Restore(重储) C2 TE,BE /

  Transfer(传送) B0 TE,BE /

  Halt(停机) 50 TE,BE /

  4 MCM200的指令和软件设计

  MCU通过特殊指令来启动MCM200并运行,同时将这些指令传输到Mifare 1卡片上。MCM200的基本指令集如表2所列。Mifare 1 IC卡与MCM200之间的通信使用握手式半双工通信协议,卡片带有高速CRC协处理器,符合CCITT标准。卡片的ROM中固化了其运行所需的必要程序指令,它能使卡片有条不紊地与卡片读写器进行数据通信。但MCU对MCM200的指令操作通常不是简单的一条指令,而是用一个程序序列来完成,其中包括对MCM200硬件内核寄存器的设置。MCM对IC卡的操作流程如图2所示。现将其中各主要子程序模块的编程方法作以说明。

  

  

  4.1 Request操作子程序

  Request 指令用于通知MCM200在天线有效的工作距离内寻找Mifare 1卡片。如果 Mifare 1卡片存在,就和Mifare 1通信,并读取卡片类型号TAGTYPE(2个字节),然后由MCU根据TAGTYPE区别不同类型的卡片。Request 指令分为Request std指令和Re-quest all指令。Request std指令是连续性的读卡指令。Request all指令是非连续性的读卡指令,只读一次。Request all指令在成功地读取一张卡片之后,会一直等待使用者拿走这一张卡片,直到有新一张卡片进入MCM的天线有效工作范围之内。Request操作的汇编语言程序如下:

  Request: MOV A,#0CH ;设置MCM中的STACON 寄存器为0CH

  MOV R0,#01H

  MOVX @R0,A

  MOV A,#0EH ;设置MCM中的BAU-DRATE寄存器为0EH

  MOV R0,#05H

  MOVX @R0,A

  MOV A,#0C0H ;设置MCM中的ENABLE寄存器为0C0H

  MOV R0,#02H

  MOVX @R0,A

  MOV A,#0C6H ;设置MCM中的MODE寄存器为0C6H

  MOV R0#07H

  MOVX @R0A

  MOV A#02H ;设置MCM中的RCODE

  寄存器为02H

  MOV R0#0EH

  MOVX @R0A

  MOV A#07H ;设置MCM中的BCNTS

  寄存器为07H

  MOV R0#03H

  MOVX @R0A

  MOV A#10H ;设置MCM中的BCNTR

  寄存器为10H

  MOV R0#04H

  MOVX @R0A

  JB F0, RSTD ;根据F0标志判断是执

  行Request std操作还是

  Request all操作

  REQALL MOV A#52H ;Request all指令代码→A

  AJMP RQTMCM

  RSTD: MOV A#26H ;Request std 指令代码→A

  RQTMCMMOV R0#00H

  MOVX @R0A ;Request all指令或Request

  std 指令写入DATA

  MOV A #0AH TOC = 0AH

  MOV R0#06H

  MOVX @R0A

  MOV R0#01H ;读STACON状态

  MOVX A@R0

  JNB ACC.7RD STACON  TAGTYPE没

  有到FIFO(DV=0)重新读STACON状态

  MOV R7,A  stacon值暂存在R7中

  MOV A, #00H TOC=00H

  MOV R0,#06H

  MOVX @R0,A

  MOV A,R7 ;取暂存在R7中stacon值到A

  JB ACC.6TE_ERR ; 定时计数器溢出错转TE_ERR

  JB ACC.3,BE_ERR ; 位计数器错转BE_ERR

  MOV R0,#00H ;读卡片的卡片类型号TAGTYPE 0存入45H单元

  MOVX A,@R0

  MOV 45HA

  MOV R0,#00H

  MOVX A,@R0 ;读卡片上的卡片类型号TAGTYPE1存入46H单元

  MOV 46H,A

  RET ; RET

  TE_ERR: ;“TE” 错误处理

  RET

  BE_ERR: ; “BE”错误处理

  RET

  4.2 “AntiCollision”防卡片重叠 操作子程序

如果有多张Mifare 1卡片处在卡片读写器的天线工作范围之内,AntiCollision指令将启动AntiColli-sio

[1] [2]

关键字:MOV  非接触IC卡读写器  Mifare  模块  定时计数器  重叠功能  缓冲寄存器

编辑:ssb 引用地址:http://www.eeworld.com.cn/afdz/2008/0307/article_377.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:Mifare 1非接触式IC卡读写核心模块MCM200
下一篇:SLE4418/SLE4428 IC卡及其应用

论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
MOV
非接触IC卡读写器
Mifare
模块
定时计数器
重叠功能
缓冲寄存器

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved