關鍵詞:TYPE A;讀寫器;FIFO;命令;CRYPTO1
1 引言
MF RC500是Philips公司生產的高集成度TYPE A讀寫器芯片。其主要性能如下:
●載波頻率為13.56MHz;
●集成了編碼調制和解調解碼的收發(fā)電路;
●天線驅動電路僅需很少的外圍元件,有效距離可達10cm;
●內部集成有并行接口控制電路,可自動檢測外部微控制器(MCU)的接口類型;
●具有內部地址鎖存和IRQ線,可以很方便地與MCU接口。
●集成有64字節(jié)的收發(fā)FIFO緩存器;
●內部寄存器、命令集、加密算法可支持TYPE A標準的各項功能,同時支持MIFARE類卡的有關協議。
●數字、模擬、發(fā)送電路都有各自獨立的供電電源。
基于以上特點,用MF RC500極易設計TYPE A型卡的讀寫器,可廣泛用于非接觸式公共電話、儀器儀表、非接觸式手持終端等領域。
2 引腳功能
MF RC500為32腳SO封裝,需說明的是:某些引腳(帶*號)依據其所用MCU(微控制器)的接口情況具有不同功能。
3 工作原理
MF RC500的內部電路框圖如圖1所示,它由并行接口及控制電路、密鑰存貯及加密算法?Cypto1?、狀態(tài)機與寄存器、數據處理電路、模擬電路?調制、解調及輸出驅動電路?等組成。
3.1 MF RC500寄存器設置
MF RC500芯片的內部寄存器按頁分配,并通過相應尋址方法獲得地址。內部寄存器共分8頁,每頁有8個寄存器,每頁的第一個寄存器稱為頁寄存器,用于選擇該寄存器頁。每個寄存器由8位組成,其位特性有四種:讀/寫(r/w)?、只讀(r)、僅寫(w)和動態(tài)(dy)。其中dy屬性位可由微控制器讀寫,也可以在執(zhí)行實際命令后自動由內部狀態(tài)機改變位值。
微控制器MCU通過對內部寄存器的寫和讀,可以預置和讀出系統運行狀況。寄存器在芯片復位狀態(tài)為其預置初始值。了解內部寄存器的設置對于軟件編程至關重要.
3.2 并行接口
MFRC500芯片可直接支持各種微控制器(MCU),也可直接和PC機的增強型并行接口(EPP)相連接,每次上電(PON)或硬啟動(Reset)后,芯片會復原其并行接口模式并檢測當前的MCU接口類型,通常用檢測控制引腳邏輯電平的方法來識別MCU接口,并利用固定引腳連接和初始化相結合的方法實現正確的接口。圖2給出了相應的連接接線圖。
3.3 E2PROM存貯器
MFRC500的E2PROM共有32塊,每塊16字節(jié)。E2PROM存貯區(qū)分為四部分:第一部分為塊0,屬性為只讀,用于保存產品的有關信息;第二部分為塊1和塊2,它們具有讀/寫屬性,用于存放寄存器初始化啟動文件;第三部分從塊3至塊7,用于存放寄存器初始化文件,屬性為讀/寫;第四部分從塊8至塊31,屬性為只寫,用于存放加密運算的密鑰,存放一個密鑰需要12字節(jié),E2PROM密鑰存放區(qū)共可存放32個密鑰,實際密鑰長度為6字節(jié),存放在緊鄰的12個E2PROM字節(jié)地址中。一個密鑰字節(jié)的8位必須分開存放,若設密鑰8位為K7,K6,……K0,則存放在兩個相鄰字節(jié)時為k7k6k5k4K7K6K5K4和k3k2k1k0K3K2K1K0,例如密鑰字節(jié)為A0H時,則存放內容為5AH、F0H兩個字節(jié)。
3.4 FIFO緩存
8×64位的FIFO用于緩存微控制器與芯片之間的輸入/輸出數據流??商幚頂祿鏖L度達64字節(jié)。FIFOData寄存器作為輸入/輸出數據流的并/并轉換口;FIFOLength寄存器用于指示FIFO緩沖器的字節(jié)存儲量、寫時增量、讀時減量;FIFO緩沖器的狀態(tài)?如空、溢出等?可由寄存器PrimaryStatus、FIFOLev-el的相關位指示;對FIFO的訪問則可通過微控制器送出有效命令來實現。
3.5 中斷請求
芯片的中斷請求有定時設置到、發(fā)送請求、接收請求、一個命令執(zhí)行完、FIFO滿、FIFO空等六種。0頁寄存器InterruptEn的相應位?讀/寫屬性?用于相應中斷請求使能設置;InterruptRq的相應位?dy屬性?用于指示使能情況下的相應中斷出現。任何允許中斷產生時,0頁寄存器PrimaryStatus的IRQ位?r屬性?可用于指示中斷的產生,同時可由引腳IRQ和微控制器進行連接以產生中斷請求信號。
3.6 定時器
MF RC500內有定時器,其時鐘源于13.56MHz晶振信號,13.56MHz信號由晶振電路?外接石英晶體?產生。微處理器可借助于定時器完成有關定時任務的管理。定時器可用于定時輸出計數、看門狗計數、停止監(jiān)測、定時觸發(fā)等工作。
3.7 模擬電路
a. 發(fā)送電路
RF信號從引腳TX1和TX2輸出可直接驅動天線線圈。調制信號及TX1、TX2輸出的射頻信號類型?已調或無調制載波?均可由寄存器TxControl控制。
b. 接收電路
載波解調采用正交解調電路,正交解調所需的I和Q時鐘?兩者相差為90°?可在芯片內產生。解調后由所得副載波調制信號要經放大、濾波相關器、判決電路進行副載波解調,其中放大電路的增益可由寄存器RxControl的設置來控制。
3.8 串行信號開關
串行信號開關用于橋接芯片數字電路和模擬電路兩部分,兩部分電路的輸入/輸出和外部應用所需的輸入/輸出可以靈活組合。這種組合可借助MFIN和MFOUT引腳和相關寄存器來控制實現。
MFIN可輸入曼徹斯特碼、帶副載波的曼徹斯特碼,并由寄存器RxControl2的設置選擇送至解碼器。若輸入的是修正密勒碼,則由寄存器TxControl設置選擇送至發(fā)送通道的調制器。
MFOUT引腳上可輸出曼徹斯特碼、帶副載波的曼徹斯特碼、NRZ碼、修正密勒碼以及測試信號,具體可通過寄存器MFOUTSelect的不同設置來選擇。
3.9 命令設置
MC RF500的性能由內部狀態(tài)機保證,狀態(tài)機可以完成命令功能。寄存器Command的相應位存貯R 命令碼?屬性為dy?可用于啟動或停止命令執(zhí)行。命令大多可由寫入相應命令碼至Command寄存器實現,其所需變量和數據主要由FIFO緩沖器交換。
3.10 認證與加密
Mifare類產品中加密算法的實現被稱之為CRYPT01,它是一種密鑰長度為48bit的流密碼。要訪問一個Mifare類卡的數據,首先要完成認證,Mi-fare卡的認證采用三次認證的過程?若需了解三次認證過程,請參閱參考文獻,這個過程可由自動執(zhí)行Authbent1和Authbent2命令來實現。
4 典型應用
MF RC500的典型應用電路如圖3所示。這里僅介紹其天線回路。圖3中,L0C0為低通濾波器,用于濾除13.56MHz的諧波分量,L0可選2.2mH,C0可選47pF。L是天線線圈,C1、C2a、C2b則組成匹配電路。典型參數值為:
L=1μH,C1=27pF,C2a=270pF,C2b=270pF。
C3?15pF?主要用于耦合卡負載調制信號,R1、R2為分壓器,VMID引腳的電壓可為Rx引腳提供一個參考電位。R1阻值為10kΩ,R2為820Ω。