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