歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機(jī)第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

非接觸IC卡 MFRC500原理

文章出處:http://m.compasssalessolutions.com 作者:語馨 收編   人氣: 發(fā)表時(shí)間:2011年09月23日

[文章內(nèi)容簡介]:Philips公司是世界上最早研制非接觸式IC卡的公司,其產(chǎn)品系列有Mifare standard、Mifare Light、Mifare PLUS和Mifare PRO。以Mifare standard系列MF1 IC S50為例,按Philips公司的標(biāo)準(zhǔn),該卡與讀寫器天線之間完成一次數(shù)據(jù)交換的時(shí)間可小于0.1 s。但在實(shí)際中,由于種種原因交易的時(shí)間比這要長些,而且處理不好的話,還會(huì)出現(xiàn)不可預(yù)料的后果。

  1 非接觸IC卡天線組成

  非接觸IC卡天線是影響讀卡性能的一個(gè)決定性因素,天線設(shè)計(jì)的好壞直接影響到讀卡系統(tǒng)的穩(wěn)定性。如圖1所示,整個(gè)天線部分電路由EMC濾波電路、接收電路和天線線圈電路3部分組成。EMC濾波電路的作用是減弱由天線發(fā)射電路產(chǎn)生的高次諧波對(duì)外界的影響。接收電路由R1、R2、C3、C4組成。 R2、C4的作用是使接收腳RX上的直流電平與內(nèi)部參考電壓輸出VMID保持一致;R1則用于調(diào)整接收腳RX上交流信號(hào)的幅度。虛線右方所示的電路即為所要設(shè)計(jì)的天線,包擴(kuò)天線線圈和相關(guān)的諧振元器件。

  其中,Rext用于調(diào)節(jié)天線的品質(zhì)因素,而天線的中心頻率f及對(duì)外輸出阻抗Za則主要通過改變諧振電容 C1a、C1b、C2a、C2b的值來調(diào)整。所以外接電阻Rext和諧振電容器件參數(shù)的確定為天線線圈電路設(shè)計(jì)中不可缺少的一環(huán)。根據(jù)Philips公司關(guān)于非接觸式IC卡天線設(shè)計(jì)資料,天線調(diào)諧分為2個(gè)步驟: ① 調(diào)整天線的諧振頻率f和輸出阻抗Za到期望的13.56 MHz和500 Ω;② 對(duì)天線進(jìn)行調(diào)節(jié),找到最大的讀卡距離。具體方法為將天線接入電路中,然后在系統(tǒng)工作的情況下,不斷調(diào)整C2的值并測試卡的讀寫距離,直至找到最大讀卡距離時(shí)C2的值。找出最大讀卡距離的目的是為了使卡進(jìn)入天線輻射范圍的時(shí)間足夠長,以圓滿地完成對(duì)卡的操作。 

非接觸IC卡天線組成

圖1 天線模塊電路

  2 非接觸IC的電子錢包功能

  有值卡一般用于小額消費(fèi)中,電子錢包就是典型的應(yīng)用。電子錢包的操作包括讀(READ)、加(INCREMENT)、減 (DECREMENT)、傳送(TRANSFER)和恢復(fù)(RESTORE)等。電子錢包一般采用值段方式進(jìn)行存儲(chǔ),廠家也提供值段操作函數(shù)幫助用戶方便地進(jìn)行開發(fā)。值段也稱為“值塊(Value Block)”,Value的長度為4字節(jié)(包括符號(hào)位)。為了提高錯(cuò)誤檢測和糾錯(cuò)能力,在一個(gè)Value Block中每一個(gè)Value存入3次,如下所示: 

    在進(jìn)行任意計(jì)算之前,在芯片內(nèi)部檢查3個(gè)Value的一致性。余下的4字節(jié)(A和)為8位任意地址(Address)字節(jié),同一地址存入4次(A和)。

  Value Block中的內(nèi)容第一次由WRITE命令寫入到所要求的地址中,以后可以用DECREAMENT/INCREMENT/RESTORE命令修改內(nèi)容。數(shù)據(jù)的計(jì)算過程如圖2所示。計(jì)算結(jié)果暫存入DATA寄存器(即數(shù)據(jù)寄存器),然后用TRANSFER命令寫入寄存器。 

Value計(jì)算示意圖

  圖2 Value計(jì)算示意圖

  3 軟件的實(shí)現(xiàn)

  MF1 IC S50有8 Kb EEPROM,分成16個(gè)區(qū),每個(gè)區(qū)又分成4個(gè)塊(Block0~3),一個(gè)分組有16字節(jié)。為了方便用戶使用,Philips公司給出了值段操作函數(shù) M500PiccValue(),使用該函數(shù)可以方便地進(jìn)行加(INCREMENT)、減(DECREMENT)、傳送(TRANSFER)、恢復(fù) (RESTORE)等操作。但是該函數(shù)存在一定的缺陷,當(dāng)返回值為“非MI_OK”時(shí),會(huì)有兩種情況出現(xiàn):

    ① 值操作未完成,值為原值不變; 
    ② 值操作已完成,值為正確計(jì)算結(jié)果。這將導(dǎo)致無法根據(jù)函數(shù)返回值來判斷值操作成功與否(只有返回值是MI_OK才能確定是正確的)。換句話說,雖然為 MI_OK時(shí)能確定操作正確,但是由于為“非MI_OK”時(shí)可能完成操作,也可能未完成操作,因此如果這是返回重新進(jìn)行值操作,那么一直等到MI_OK,就會(huì)出現(xiàn)多操作的現(xiàn)象。比如要求刷一次卡扣1元,那它可能扣掉2元、3元,甚至更多。這當(dāng)然不是所期望看到的。

    針對(duì)上述的情況,為了保證能正確地對(duì)卡進(jìn)行操作和保證數(shù)據(jù)不丟失,一般在一個(gè)區(qū)劃分2個(gè)數(shù)據(jù)塊作為電子錢包,采用值段格式進(jìn)行存儲(chǔ),分別定義為主值塊(①塊)和備份值塊(②塊),主值塊和備份塊相互備份。 

非接觸IC卡 MFRC500原理

 圖3 軟件操作流程

  先將主值塊的值減去消費(fèi)額得到的值存在備份值塊中(①塊→②塊,使用“減”和“傳送”操作),此時(shí)主值塊還沒改變;如果此操作為MI_OK,則繼續(xù)下面的操作將備份值塊的值送回主值塊(②塊→①塊),使用恢復(fù)操作;如果操作為MI_OK,則此時(shí)①塊和②塊的值相等。每一步操作都判斷結(jié)果,失敗則重做。具體軟件操作流程如圖3所示。

  4 結(jié)論

  電子錢包作為有值卡的一種,對(duì)其操作的穩(wěn)定性是非常重要的。在硬件方面,盡量把讀卡器天線的讀卡范圍調(diào)到讀卡的最大距離,以保證卡和天線有充分的時(shí)間耦合,為卡創(chuàng)造一個(gè)良好的硬件條件。但是由于讀卡器的個(gè)體差異和個(gè)人刷卡習(xí)慣的不同,也會(huì)導(dǎo)致一些異?,F(xiàn)象。這時(shí)需要用軟件來彌補(bǔ)硬件上的不足。雙值塊操作雖然犧牲一些刷卡的時(shí)間,但是解決了單值塊操作出現(xiàn)的一些問題,即使一個(gè)值塊出現(xiàn)了問題,也能從另一個(gè)值塊把數(shù)據(jù)傳送過來,從而提高了系統(tǒng)的穩(wěn)定性。另外,為了保證能夠在卡離開天線之前完成對(duì)卡的操作,可以增加一些聲光提示作為輔助(比如操作順利完成后才進(jìn)行聲光提示)。這些細(xì)節(jié)也是必要的。該方法在室內(nèi)已經(jīng)經(jīng)過嚴(yán)格測試,并投入運(yùn)行階段,工作穩(wěn)定。

作者郵箱:e-mail:ne_iredell@163.com

本文關(guān)鍵詞:非接觸ic卡,mfrc500,電子錢包
回到頂部