關(guān) 閉

        新聞中心

        EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > Mifare 1非接觸式IC卡讀寫(xiě)核心模塊MCM200

        Mifare 1非接觸式IC卡讀寫(xiě)核心模塊MCM200

        作者: 時(shí)間:2008-03-07 來(lái)源:網(wǎng)絡(luò) 收藏

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

          關(guān)鍵詞:非接觸IC卡 MCM200 讀寫(xiě)器

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

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

          ●采用標(biāo)準(zhǔn)的雙列直插式32引腳封裝;

          ●工作頻率為13.56MHz,采用標(biāo)準(zhǔn)的+5V電源供電,典型電流消耗為40mA;

          ●讀寫(xiě)卡片距離可達(dá)25mm以上;

          ●與卡片的通信速率可達(dá)106kbps;

          ●每個(gè)扇區(qū)均包含有3套密碼,同時(shí)包含有認(rèn)證密碼用的存儲(chǔ)器;

          ●有防卡片;

          

          

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

          ●在模塊與卡片通信時(shí)可自動(dòng)偵查錯(cuò)誤,對(duì)數(shù)據(jù)流可自動(dòng)分析;

          ●可對(duì)RF(射頻)通道進(jìn)行自動(dòng)監(jiān)控;

          ●有內(nèi)建8位/16位CRC協(xié)處理器,可提供CRC、PARITY等數(shù)據(jù)校驗(yàn);

          ●支持多種方式的活動(dòng)天線,并且不需天線調(diào)節(jié)系統(tǒng)即可對(duì)天線進(jìn)行補(bǔ)償調(diào)節(jié);

          ●帶有標(biāo)準(zhǔn)的Mifare 并行接口可直接由標(biāo)準(zhǔn)的MCU接口信號(hào)控制。

          2 MCM200模塊的引腳說(shuō)明

         ?。停茫停玻埃暗囊_排列如圖1所示。各引腳的功能如下:

          D0~D7:8位雙向數(shù)據(jù)總線;

          A0~A3:4位地址線;

         ?。拢校汉髠潆姵剌斎攵耍糜诒Wo(hù)MCM內(nèi)部密碼RAM;

         ?。危校粒眨樱牛保捍袛?shù)據(jù)輸出,用于驅(qū)動(dòng)RF單元,該引腳必須連到RF單元的TP端。

          NWR:寫(xiě)信號(hào)使能端;

         ?。危遥模鹤x信號(hào)使能端;

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

          KOMP1:RF的比較器輸入端,使用時(shí)必須連到RF單元的RX端;

         ?。危桑遥眩海停茫諗?shù)據(jù)處理。當(dāng)該端為低時(shí),MCU將用MCM狀態(tài)寄存器中的內(nèi)容來(lái)對(duì)MCM中的數(shù)據(jù)進(jìn)行處理;

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

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

         ?。模牵危模簲?shù)字電路接地端;

          DVDD:+5V電源端。

          MODE:并行協(xié)議模式選擇引腳,可用高電平驅(qū)動(dòng)。

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

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

          NANT、ANT:天線。

          3 MCM200內(nèi)部特殊功能寄存器

         ?。停茫停玻埃捌骷?nèi)部共有16個(gè)特殊功能寄存器,表1所列是這16種特殊功能寄存器的地址和讀寫(xiě)情況。實(shí)際上,MCU主要通過(guò)對(duì)MCM寄存器的讀寫(xiě)來(lái)控制MCM的工作。MCM是MCU與非接觸式IC卡之間進(jìn)行信息交換的接口,系統(tǒng)對(duì)卡片上的數(shù)據(jù)進(jìn)行任何讀寫(xiě)均須通過(guò)MCM 來(lái)傳遞。

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

          寄存器名 地 址 讀(READ) 寫(xiě)(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) 相關(guān)的出錯(cuò)標(biāo)志 接收卡片上數(shù)據(jù)

          Answer to Request(Request的應(yīng)答)   TE,BE Tagtype

          Request std 26

          Request all 52

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

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

          Authentication(認(rèn)證)   TE,BE,PE,CE /

          Auth-1a 60

          Auth-1b 61

          Load KEY(存取密碼) / AE  

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

          Write(寫(xiě)) A0 TE,BE /

          Increment(增值) C1 TE,BE /

          Decrement(減值) C0 TE,BE /

          Restore(重儲(chǔ)) C2 TE,BE /

          Transfer(傳送) B0 TE,BE /

          Halt(停機(jī)) 50 TE,BE /

          4 MCM200的指令和軟件設(shè)計(jì)

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

          

          

          4.1 Request操作子程序

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

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

           R0,#01H

          X @R0,A

         ?。停希?A,#0EH ;設(shè)置MCM中的BAU-DRATE寄存器為0EH

         ?。停希?R0,#05H

         ?。停希郑?@R0,A

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

          MOV R0,#02H

          MOVX @R0,A

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

         ?。停希?R0#07H

         ?。停希郑?@R0A

          MOV A#02H ;設(shè)置MCM中的RCODE

          寄存器為02H

          MOV R0#0EH

         ?。停希郑?@R0A

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

          寄存器為07H

         ?。停希?R0#03H

         ?。停希郑?@R


        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 沙河市| 澜沧| 茶陵县| 彭阳县| 宿州市| 伊吾县| 安图县| 建始县| 理塘县| 会理县| 襄樊市| 卫辉市| 竹溪县| 贵溪市| 大悟县| 柘城县| 临海市| 托克托县| 宜丰县| 广宗县| 乐亭县| 乌什县| 台江县| 胶州市| 布尔津县| 石渠县| 阜阳市| 庆阳市| 寿光市| 阿克陶县| 洞口县| 元阳县| 锡林浩特市| 信阳市| 巧家县| 清水河县| 宁阳县| 宜丰县| 富顺县| 凭祥市| 富源县|