關于非接觸式IC智能(射頻)卡及其讀寫設備內(nèi)核技術的研究與應用開發(fā)(連載5)
文章出處:http://www.sgrivertours.com 作者:張敏 人氣: 發(fā)表時間:2011年11月01日
10.CRCSTACON寄存器, 地址: 09H
CRCSTACON寄存器是指CRC處理器狀態(tài)和控z制寄存器。
11. KEYDATA 寄存器, 地址: 0A H (10)
被存儲在MCM中RAM的密碼數(shù)據(jù)必須先被寫入KEYDATA 寄存器。
為了能夠存取MCM內(nèi)部RAM中的密碼,密碼的存放地址必須首先在KEYSTACON 寄存器和KEYADDR寄存器兩者中指定。
在做存放密碼操作或做密碼驗證操作之前,首先必須對KEYSTACON 寄存器進行設置; 在密碼被準確無誤地存進RAM之前,相關的傳輸密碼(Transport KEY)Tkey必須被寫入KEYDATA-寄存器中。傳輸密碼TKey和寫入RAM中的密碼都是6字節(jié)(BYTE)長,連續(xù)被寫入KEYDATA 寄存器中。但是,在“AUTHENCATION”(認證)操作時,這一寄存器不必使用。
12. KEYSTACON – 寄存器 地址:0BH(11)
KEYSTACON 寄存器是指(密碼)KEY狀態(tài)和(密碼)KEY控制寄存器。
寫入 數(shù)據(jù)到KEYSTACON – 寄存器進行設置,將確定存取RAM中的密碼(KEY)或傳輸密碼(KEY)的密碼地址的一部分。
存放在MCM的RAM中的密碼對程序員來說是透明的,不得而知的。因此也是不可讀的。(這里指的是密碼本身及存放密碼的地址不可讀)。
提取密碼: AL=0, 表明將要提取密碼;
密碼認證(Authentication):AL=1, 表明將要認證“AUTHENTICATION” 操作。
?。遥粒椭械拿艽a 和傳輸密碼TKey 二者中允許被選擇。
注意:KEYSTACON – 寄存器中的值必須根據(jù)所使用的 “AUTHENTICATION”命令(60 hex 或61 hex指令代碼)來確定。
此外,密碼地址通過寫數(shù)據(jù)到KEYSTACON 和KEYADDR寄存器之后而在MCM中被確定,之后,通過寫“命令”(Command)和寫“地址”(address)到DATA寄存器之后,認證密碼“AUTHENTICATION” 操作便開始啟動執(zhí)行。
13. KEYADDR-寄存器, 地址:0C H (12)
KEYADDR寄存器將存放RAM(密碼)KEY和 傳輸(密碼)KEY各自的 密碼地址的一部分。
寫入 數(shù)據(jù)到KEYADDR– 寄存器 將確定存取MCM的RAM中的密碼(KEY)或傳輸密碼(KEY)的密碼地址的一部分。
程序員不可能知道密碼實際存放在MCM的RAM中的地址,否則密碼便沒有秘密可言了。
提取密碼: AL=0, 表明將要提取密碼;
認證Authentication: AL=1, 表明將要認證 “AUTHENTICATION” 操作。
14. RCODE –寄存器,地址:0D H (14)
RCODE –寄存器 用于代碼接收。
寫入 數(shù)據(jù)到RCODE 寄存器對其進行設置,將使接收器的譯碼器參數(shù)化。
RCODE –寄存器中的值一般應設置為0X02 H?!∪欢?,在有些環(huán)境中,設置為0x03 H 時,對Mifare 1卡片的操作距離可能會稍為好(遠)一點。
三. MCM硬件初始化
為了與MIFARE 1卡通信,必須對MCM各硬件寄存器進行初始化設置。
一般地,應該先對MCM執(zhí)行軟復位(soft-reset),然后對MCM進行初始化設置,再進行數(shù)據(jù)通信。
在任何數(shù)據(jù)通信之前必須先執(zhí)行“REQUEST”命令, 以和卡片建立第一步的通信聯(lián)絡。
以下是MCM各硬件寄存器在上電時或在軟件復位時的復位表。
說明:上表中的POR和SOR兩列中: X :表示此位不必關注;
N :表示此位沒有使用; U :表示此位不變。
四. MCM的硬件內(nèi)核包括了如下幾大部分接口電路:
1.與MCU(微處理機CPU)接口電路
2.RF模塊接口電路
3.與天線射頻接口電路
4.與電源接口電路
(一)MCM與MCU(微處理機CPU)接口電路
MCM可以由標準的MCU接口信號來控制。這些標準的控制信號可以控制MCM的 ASIC進行工作。其間使用了標準的微控制器和微處理機通信協(xié)議。
MCM可由外部MCU發(fā)出特殊命令來啟動運行。任何情況下,MCM都可以由對地址的選擇來啟動工作。例如,MCM的RST引腳,-CS引腳和CS引腳的信號設置等。
對MCM內(nèi)部存儲器的存取,意味著將激活-CS和CS信號,以及對地址為00H~~0FH的寄存器的合適的設置。
通過讀特殊I/O地址的信息,可以得到MCM的狀態(tài)信息。采用不同的MCU及其連接方法,將會有不同的硬件信號時序及數(shù)據(jù)信息流信息等。