關 閉

新聞中心

EEPW首頁 > 安全與國防 > 設計應用 > Mifare 1非接觸式IC卡讀寫核心模塊MCM200

Mifare 1非接觸式IC卡讀寫核心模塊MCM200

作者: 時間:2008-03-07 來源:網絡 收藏

  摘要:介紹了Philips公司的 1芯片MCM200的主要特性、引腳功能、內部的物理功能寄存器和基本指令集。重點介紹了 1非接觸IC卡和MCM200數據通信的一些重要的編程思路和編程方法,給出了兩個。

  關鍵詞:非接觸IC卡 MCM200 讀寫器

 ?。停椋妫幔颍?1 IC智能(射頻)卡的核心是Philips 公司的Mifare 1 IC S50(-01,-02,-03,-04)系列微(微晶片)。其相應的讀寫器為Philips公司的MCM200和MCM500。其中,MCM200模塊主要應用于操作距離在 25mm的卡片讀寫器中;MCM500模塊主要應用于操作距離在100mm的卡片讀寫器中。1?。停茫停玻埃澳K的主要特性

 ?。停茫停玻埃白x寫器模塊的主要特性如下:

  ●采用標準的雙列直插式32引腳封裝;

  ●工作頻率為13.56MHz,采用標準的+5V電源供電,典型電流消耗為40mA;

  ●讀寫卡片距離可達25mm以上;

  ●與卡片的通信速率可達106kbps;

  ●每個扇區(qū)均包含有3套密碼,同時包含有認證密碼用的存儲器;

  ●有防卡片

  

  

  ●帶有16字節(jié)的FIFO(先進先出)隊列接收/發(fā)送;

  ●在模塊與卡片通信時可自動偵查錯誤,對數據流可自動分析;

  ●可對RF(射頻)通道進行自動監(jiān)控;

  ●有內建8位/16位CRC協(xié)處理器,可提供CRC、PARITY等數據校驗;

  ●支持多種方式的活動天線,并且不需天線調節(jié)系統(tǒng)即可對天線進行補償調節(jié);

  ●帶有標準的Mifare 并行接口可直接由標準的MCU接口信號控制。

  2?。停茫停玻埃澳K的引腳說明

  MCM200的引腳排列如圖1所示。各引腳的功能如下:

 ?。模啊模罚海肝浑p向數據總線;

 ?。粒啊粒常海次坏刂肪€;

  BP:后備電池輸入端,用于保護MCM內部密碼RAM;

  NPAUSE1:串行數據輸出,用于驅動RF單元,該引腳必須連到RF單元的TP端。

 ?。危祝遥簩懶盘柺鼓芏?;

  NRD:讀信號使能端;

 ?。危茫樱涸撃_為低電平時選中MCM;

 ?。耍希停校保海遥频谋容^器輸入端,使用時必須連到RF單元的RX端;

 ?。危桑遥眩海停茫諗祿幚?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/控制端">控制端。當該端為低時,MCU將用MCM狀態(tài)寄存器中的內容來對MCM中的數據進行處理;

 ?。粒蹋牛旱刂锋i存使能端;

 ?。眨樱牛粒蹋牛哼x擇從內部地址鎖存器或A0~A3引腳取地址;

  DGND:數字電路接地端;

 ?。模郑模模海担蛛娫炊?。

 ?。停希模牛翰⑿袇f(xié)議模式選擇引腳,可用高電平驅動。

 ?。粒郑模模海担帜M電源輸入引腳,用于RF射頻單元;

 ?。粒牵危模海遥粕漕l單元(模擬電路)接地端;

 ?。危粒危浴ⅲ粒危裕禾炀€。

  3 MCM200內部特殊功能寄存器

  MCM200器件內部共有16個特殊功能寄存器,表1所列是這16種特殊功能寄存器的地址和讀寫情況。實際上,MCU主要通過對MCM寄存器的讀寫來控制MCM的工作。MCM是MCU與非接觸式IC卡之間進行信息交換的接口,系統(tǒng)對卡片上的數據進行任何讀寫均須通過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的指令和軟件設計

 ?。停茫胀ㄟ^特殊指令來啟動MCM200并運行,同時將這些指令傳輸到Mifare 1卡片上。MCM200的基本指令集如表2所列。Mifare 1 IC卡與MCM200之間的通信使用握手式半雙工通信協(xié)議,卡片帶有高速CRC協(xié)處理器,符合CCITT標準。卡片的ROM中固化了其運行所需的必要程序指令,它能使卡片有條不紊地與卡片讀寫器進行數據通信。但MCU對MCM200的指令操作通常不是簡單的一條指令,而是用一個程序序列來完成,其中包括對MCM200硬件內核寄存器的設置。MCM對IC卡的操作流程如圖2所示。現(xiàn)將其中各主要子程序模塊的編程方法作以說明。

  

  

  4.1 Request操作子程序

 ?。遥澹瘢酰澹螅?指令用于通知MCM200在天線有效的工作距離內尋找Mifare 1卡片。如果 Mifare 1卡片存在,就和Mifare 1通信,并讀取卡片類型號TAGTYPE(2個字節(jié)),然后由MCU根據TAGTYPE區(qū)別不同類型的卡片。Request 指令分為Request std指令和Re-quest all指令。Request std指令是連續(xù)性的讀卡指令。Request all指令是非連續(xù)性的讀卡指令,只讀一次。Request all指令在成功地讀取一張卡片之后,會一直等待使用者拿走這一張卡片,直到有新一張卡片進入MCM的天線有效工作范圍之內。Request操作的匯編語言程序如下:

 ?。遥澹瘢酰澹螅? A,#0CH ;設置MCM中的STACON 寄存器為0CH

   R0,#01H

  X @R0,A

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

 ?。停希?R0,#05H

  MOVX @R0,A

 ?。停希?A,#0C0H ;設置MCM中的ENABLE寄存器為0C0H

 ?。停希?R0,#02H

 ?。停希郑?@R0,A

 ?。停希?A,#0C6H ;設置MCM中的MODE寄存器為0C6H

 ?。停希?R0#07H

  MOVX @R0A

 ?。停希?A#02H ;設置MCM中的RCODE

  寄存器為02H

 ?。停希?R0#0EH

  MOVX @R0A

 ?。停希?A#07H ;設置MCM中的BCNTS

  寄存器為07H

 ?。停希?R0#03H

 ?。停希郑?@R


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉