<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MCM200讀寫器模塊的主要特性?引腳功能及應用實例分析

電子設計 ? 來源:電子設計工程 ? 作者:高玉芹 ? 2021-03-29 09:04 ? 次閱讀

介紹了Philips公司的Mifare 1非接觸IC卡讀寫器芯片MCM200的主要特性?引腳功能?內部的物理功能寄存器和基本指令集?重點介紹了Mifare 1非接觸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套密碼,同時包含有認證密碼用的存儲器;

●有防卡片重疊功能;

MCM200讀寫器模塊的主要特性?引腳功能及應用實例分析

●帶有16字節的FIFO(先進先出)隊列接收/發送緩沖寄存器;

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

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

●有內建8位/16位CRC協處理器,可提供CRC?ARITY等數據校驗;

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

●帶有標準的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中的BCNT

S

寄存器為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-sion模塊的防重疊功能,同時MCM200將有序地讀所有處在其天線有效工作距離內的Mifare 1卡片的40bit長的序列號SN?MCU接收到這5個字節的SN后,會進行校驗?其校驗?計算卡片序列號的方法是:采用相鄰兩個字節相互異或得出的結果與下一個字節再異或,前四個字節異或的結果與第5個字節應該相同,否則認為MCU讀到的卡片的序列號有錯,因此卡片的序列號的前四個字節是有意義的,第5個字節僅僅用于校驗之用?這五個字節被存儲在IC卡片的第0扇區的第0塊中,它由卡片的生產商制定并固化,不得更改,所以在市面上流通的Mifare 1 S50系列的非接觸式IC射頻卡中,每一張卡片的序列號都是唯一的?“AntiCollision”?防卡片重疊 操作子程序清單如下:

anti? NOP

MOV A? #10H ?BCNTS = 10H,控制

MCU向DATA寄存器

發送 2個字節數據

MOV R0?#03H

MOVX @R0?A

MOV A? #0CH ;設置MCM中的

STACON寄存器

SETB ACC.0 ?AC =“1”,啟動防重

疊狀態機

MOV R0?#01H

MOVX @R0?A

ACALL D1000US ?DELAY 1000US

MOV A? #93H ;AntiCollision?防卡片

重疊 指令碼寫入DATA

MOV R0?#00H

MOVX @R0?A

MOV A? #20H

MOV R0?#00H

MOVX @R0?A

MOV A? #28H

MOV R0?#04H

MOVX @R0?A ?BCNTR = 28H ,接

收5個字節的數據

MOV A? #0AH

MOV R0?#06H

MOVX @R0?A ?TOC = 0AH

MOV R0?#01H

AGAIN: MOVX A?@R0 ? 讀STACON狀態

JNB ACC.7? AGAIN ?如果 DV=“0”重

讀STACON

MOV R7,A

MOV A? #00H

MOV R0?#06H

MOVX @R0?A ?TOC = 00H

MOV A,R7

JB ACC.6? TE ERR ? 定時計數器溢出

錯轉TE ERR

JB ACC.3? BE ERR ?位計數器錯轉

BE ERR

MOV R7?#04H ?讀4個字節的SN值

存入40H~43H單元,

前四個字節進行異或

MOV B?#00H

MOV R1?#40H

MOV R0?#00H

LOOP? MOVX A?@R0

MOV @R1?A ?存SN的前四個字節在

單片機內部RAM的

40H?41H?42H?43H單元

XRL B?A ?相鄰字節相互異或

INC R1

DJNZ R7? LOOP

MOVX A?@R0 ?前四個字節異或的結

果和接收的第5個字

節進行比較,若不等則

XRL A?B 轉錯誤處理

JNZ ANTIERR

RET

TE ERR?

RET

BE ERR?

RET

ANTIERR:

RET

4.3 “Select”?選卡片 操作子程序

該程序用于MCM200與卡片的真正聯絡?選擇一張卡片通常由MCU向MCM200發送“SELECT”命令來完成?MCU發送“SELECT”命令后,會同時在“AntiCollision” 操作中得到Mifare 1卡片的40bit長的序列號的前四個字節以及前四個字節的異或結果,同時再重新發送給Mifare 1卡,只有本身的序列號和接收的序列號相同的卡片才被真正地選中?Select指令成功執行后,MCU將得到MCM DATA寄存器傳來的一個字節長的卡片容量信息(SIZE字節)?SIZE字節被存儲在Mifare 1卡片上的第00H扇區中的第00h 塊中?

4.4 “Authentication”認證操作子程序

Mifare 1卡的每個扇區的塊3包含該扇區的密碼A?6個字節 ?存取控制?4個字節 ?密碼B?6個字節 ,它是一個特殊的塊?在確認了上述三個步驟后,就表示已經選擇了一張卡片,在對卡片進行讀寫操作之前,還必須對卡片上已經設置的密碼進行認證,如果匹配,則允許進一步的Read/Write操作?也可以通過選擇存儲在MCM的RAM密碼集中的一組密碼來進行認證操作?MCM能夠存儲3個密碼集KEYSET0?KEYSET1和KEYSET2?每一個KEYSET又包含了KEYA及KEYB 等?在"Authentication"指令發出之前,必須設置密碼控制寄存器KEYSTACON,使AL=1,然后設置KS0和KS1以指定一套密碼集?同時,還必須設置密碼地址寄存器KEYADDR,當AB為“1”時,選擇KEYA,AB為“0”時選擇KEYB,A5~A0用于選擇MCM-RAM中存放密碼的扇區地址(0~63), KEYADDR寄存器中的“AB”設置必須匹配"Authentication"命令,因為在"Authentication"命令中,60h代碼用于認證KEYA;61h代碼用于認證KEYB?正確地設置KEYSTACON 和KEYADDR寄存器之后,通過寫"Authentication" 認證命令代碼和寫“地址”(Mifare

卡要認證的扇區地址是0~15)到DATA寄存器?認證密碼操作的模塊便開始啟動執行?如果三遍認證的每一個環都為“真”,且都能正確通過驗證,則整個認證成功?這時讀寫器即可對剛剛認證通過的卡片上的這個扇區進行下一步READ/WRITE 等操作?

4.5 “Read"或“Write"操作子程序

Read指令允許MCU通過MCM來讀取Mifare 1卡片上完整的16個Bytes的數據塊?Read指令操作只能一個塊(Block)一個塊地讀,即一次只能讀取16個字節?如果只要求讀取某Block中的幾個字節的數據,也只能一個整塊16個字節一起讀取,再由程序員選取指定的字節?從卡片上讀到的數據必須由MCU進行校驗,以確保數據的有效?

“Write” 寫指令允許用戶寫數據到MIFARE卡片上(完整的16 個BYTEs的數據塊)?只有在“Authentication” 認證指令完成后,才允許對數據扇區或數據塊進行“Write”寫指令操作?寫入的數據塊的數據結構如下:

15 14 13 12 11 10 9 8

address address address address V A L UE

7 6 5 4 3 2 1 0

V A L UE V A L UE

通過一個寫操作可將存儲的數據在每一個block塊中寫3次并反寫1次,從而完成數據塊的初始化?塊的地址必須寫4次,其中2次為反向寫入?正/負數據值將以標準的二進制補碼格式來表示?

4.6 “Increment”或 “Decrement”增值或減值子程序

通過Mifare 1內部電路能夠執行“Increment” &“Decrement”增值/減值操作,在根據KEY A 和KEY B 進行“Increment”&“Decrement”增值/減值操作時; “Increment”增值表示將指定的值加到卡片的存儲器中;“Decrement”減值則表示從卡片的存儲器中減去指定的值?每一個“Increment”& “Decrement”增值/減值操作都必須跟隨一條“Transfer” 傳送指令,這樣才能真正地將數據結果傳送到卡片上?如果沒有傳送指令,數據結果仍將保持在數據緩沖寄存器中?

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 射頻
    +關注

    關注

    101

    文章

    5387

    瀏覽量

    166239
  • 寄存器
    +關注

    關注

    30

    文章

    5166

    瀏覽量

    118149
  • 讀寫器
    +關注

    關注

    3

    文章

    615

    瀏覽量

    38553
收藏 人收藏

    評論

    相關推薦

    [1.3.1]--讀寫器的基本結構

    讀寫器標簽
    學習電子知識
    發布于 :2022年11月30日 23:23:03

    基于μC/OS-Ⅱ和GPRS的無線RFID 讀寫器的研究與開發

    和C13組成,電容的值由天線本身和環境因素來決定,本系統C11、C13均取47 pF。該部分電路主要是為了實現濾波和天線之間的阻抗匹配,以使天線的性能達到最佳。2.5 讀寫器無線傳輸模塊系統的無線
    發表于 08-03 10:39

    基于SPCE061A的射頻讀寫器信號分析系統

    ,重新校正產品的信號輸出。為解決這一問題,采用具有語音處理功能的SPCE061A單片機作為控制,對射頻讀寫器常見的輸出信號進行分析和處理。
    發表于 07-26 07:42

    射頻讀寫器需要實現哪些功能?

    射頻識別技術RFID是一種非接觸的自動識別技術,其基本原理是利用射頻信號和空間耦合(電感和電磁耦合)傳輸特性,實現對被識別物體的自動識別,射頻識別系統一般由兩部分組成,射頻標簽(Tag)和射頻讀寫器
    發表于 07-31 06:38

    RFID讀寫器操作距離怎么變長?

    無線射頻識別(RFID)讀寫器讀寫距離取決于諸多因素,如RFID讀寫器的傳輸功率、讀寫器的天線增益、讀寫器IC的靈敏度、
    發表于 08-05 07:05

    超高頻RFID讀寫器讀寫性能該怎么測試?

    電磁耦合)傳輸特性,實現對被識別物體的自動識別。RFID系統一般由讀寫器和電子標簽組成,讀寫器通過無線通信方式獲得標簽信息,從而識別攜帶該標簽的對象。因此,讀寫器性能對RFID系統
    發表于 09-03 06:45

    MG42630芯片具有哪些引腳功能及特性?

    MG42630芯片具有哪些引腳功能及特性?
    發表于 10-28 07:08

    基于ARM和Linux的超高頻讀寫器設計

    了一種基于ARM和Linux的超高頻讀寫器設計思路,指出了選題研究的目的和意義。 (2)闡述了超高頻讀寫器的原理及其應用,分析讀寫器和標簽之間進行數據傳輸時所用到的相關技術;在
    發表于 08-30 10:39 ?6次下載
    基于ARM和Linux的超高頻<b class='flag-5'>讀寫器</b>設計

    rfid讀寫器的組成部分包括什么_rfid讀寫器主要功能

    本文首先介紹了RFID讀寫器的概念,其次闡述了rfid讀寫器的組成部分,最后介紹了rfid讀寫器主要功能。
    發表于 04-10 09:14 ?1.9w次閱讀

    rfid讀寫器有哪些技術指標_rfid讀寫器的發展趨勢

    本文主要闡述了rfid讀寫器的技術指標,另外還分析了rfid讀寫器往后的發展趨勢。
    發表于 04-10 09:23 ?3949次閱讀

    rfid讀寫器的作用_rfid讀寫器怎么使用

    本文首先闡述了rfid讀寫器的作用,其次介紹了RFID讀寫器頻率,最后介紹了rfid讀寫器的使用方法。
    發表于 04-10 09:36 ?5980次閱讀

    工業RFID讀寫器各行業應用實例分析

    工業RFID讀寫器是基于無線射頻識別技術識別目標對象并獲取相關的數據信息,工業RFID讀寫器在工業上的使用,極大地解決了用工荒的難題,且RFID讀寫器的使用,還能提升工作效率、產品生產的質量與數量。
    的頭像 發表于 03-15 11:00 ?570次閱讀
    工業RFID<b class='flag-5'>讀寫器</b>各行業應用<b class='flag-5'>實例</b><b class='flag-5'>分析</b>

    RFID讀寫器的種類和應用

    RFID讀寫器可分為固定式讀寫器和手持讀寫器,各種各樣的讀寫器擴大了RFID的應用范圍。如何選擇RFID讀寫器設備?怎樣進行挑選更適合的RF
    的頭像 發表于 01-04 20:59 ?1300次閱讀
    RFID<b class='flag-5'>讀寫器</b>的種類和應用

    常見工業RFID讀寫器對比,不同工業讀寫器的特點和功能有哪些?

    工業RFID讀寫器根據其使用用途可以分為幾種,分別是一體式讀寫器、分體式讀寫器、平板式讀寫器以及工業手持終端等。本文將從這幾種產品的特點和功能
    的頭像 發表于 07-31 14:52 ?1065次閱讀

    ANDEAWELL工業讀寫器在產線上的應用實例

    在不同產線上的應用實例,給大家做一個參考。 工業RFID讀寫器在不同產線上的應用實例 1、服裝生產線的應用 將AR2301系列高頻中功率壁掛讀頭安裝在服裝生產線工位上,RFID標簽安裝在服裝托盤,當托盤經過時RFID
    的頭像 發表于 07-31 14:55 ?297次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>