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