關(guān)于非接觸式IC智能(射頻)卡及其讀寫(xiě)設備內核技術(shù)的研究與應用開(kāi)發(fā)(連載3)
文章出處:http://psychicreadingswithdeb.com 作者:張敏 人氣: 發(fā)表時(shí)間:2011年11月01日
(二). MCM500模塊說(shuō)明
A.. 特性:
1. 工作頻率:13.56MHZ
2. 標準的+12V電源供電,
3. 工作頻率:13.56MHZ
4. 讀寫(xiě)卡片距離可達100MM以上
5. 與卡片的通信速率可達106KBps
6. 模塊與卡片通信時(shí),數據加密
7. 每個(gè)扇區設有3套密碼及其認證和密碼存儲器
8. 有防卡片重疊功能
9. 16個(gè)字節的FIFO(先進(jìn)先出)隊列接收/發(fā)送緩沖寄存器
10. 在模塊與卡片通信時(shí)自動(dòng)偵查錯誤,自動(dòng)對數據流分析
11. 對RF(射頻)通道自動(dòng)監控
12. 內建8位/16位的CRC協(xié)處理器,提供CRC,PARITY等數據校驗
13. 支持多種方式的活動(dòng)天線(xiàn),并且不需“天調系統”(天線(xiàn)調節系統)對天線(xiàn)進(jìn)行補償調節
14. 標準的MIFARE并行接口與MCM200 100%全兼容
15. MCM200 的軟件與MCM500模塊 100%全兼容
16. 可遙控,級聯(lián)MCM500模塊
17. 工作溫度范圍在:-20 ~ +70度
B.MCM500模塊引腳說(shuō)明
如圖所示是該模塊的引腳排列示意圖:
如圖所示是該模塊的引腳排列示意圖:
上述表中:I --------------- 輸入引腳 O --------------- 輸出引腳
SUPPLY -------電源供電輸入 I/O ---------------輸入/輸出雙向引腳
PU ---------------Internal Pull-up 內部有上拉電阻
NC -------------- 該引腳暫時(shí)未使用
上述MCM500引腳功能說(shuō)明表中,與MCM200引腳定義相一致的,同樣適用與對MCM200的引腳說(shuō)明。
C.其他說(shuō)明
MCM500是Philips 公司的產(chǎn)品,另外還有其他公司與之相兼容的產(chǎn)品。
UniVision Engineering Limited (聯(lián)視工程有限公司)持有Mifare 制造專(zhuān)利,其生產(chǎn)的相當與MCM200的產(chǎn)品命名為SB601。
SB601與MCM500模塊在硬件上有一處不同,表現在軟件上有一個(gè)MODE方式寄存器的設置不同。SB601 的MODE 設置為0xD6H;MCM500 的設置為0xC6H(這在以后的章節中還會(huì )論述)。除此以外,兩者軟/硬件100%全兼容。這一點(diǎn)與上述的MCM200模塊/SB201模塊相一致。
法國的GEMPLUS公司向PHILIPS公司購買(mǎi)MCM中核心ASIC RC150或RC170芯片制造的MCM500模塊及讀寫(xiě)器與MCM500全兼容等。
二. MCM的硬件內核寄存器描述
MCU是通過(guò)對MCM 內核特殊的內存寄存器的讀寫(xiě)來(lái)控制MCM的。這些寄存器位于MCM中的ASIC(特殊應用IC)的內部。共有16個(gè)寄存器可存取。在對MCM進(jìn)行讀/寫(xiě)操作時(shí),各寄存器擔負著(zhù)不同的功能和作用,并且不是所有的寄存器都是可寫(xiě)或可讀的,即有些寄存器只能讀而不能寫(xiě),有些則反之。
讀取MCM, 一般的 指向MIFARE 1卡請求。MCM實(shí)際上是MCU與非接觸式IC智能(射頻)卡之間信息(數據)交換的”中間人”。任何讀取卡片上的數據,或寫(xiě)進(jìn)卡片上的數據`均必須通過(guò)MCM 來(lái)傳遞。寫(xiě)MCM意味著(zhù)去控制MCM,例如,送一些類(lèi)型的指令給它。
以下是MCM中ASIC內核特殊寄存器一覽表。
各種特殊寄存器材的具體說(shuō)明如下:
任何傳遞到MIFARE 1卡的數據 或 來(lái)自MIFRAE 1卡的數據 都必須分別地 被寫(xiě)入DATA寄存器 或 從DATA寄存器中 讀出。
例如, MCU向卡片寫(xiě)數據Xi, 則Xi必須首先被寫(xiě)入到 DATA寄存器中, 然后在MCM與Mifare 1 卡片進(jìn)行通信, 由卡片上的ASIC將DATA寄存器中的數據讀取并存放在指定的卡片上的存儲器中, 從而完成 MCU向MIFRAE 1卡片寫(xiě)數據的過(guò)程。 反之亦然。
DATA寄存器中有一個(gè)16 BYTE 的FIFO(先進(jìn)先出)隊列寄存器。 數據寫(xiě)到DATA寄存器后,被存放在這個(gè)16 BYTE 的FIFO(先進(jìn)先出)隊列寄存器中, 等待向卡片上或MCU傳送。
如要進(jìn)行傳送DATA寄存器中數據, 則首先必須先設定要傳輸 多少位(BIT) 或多少字節(BYTE), 即必須對BCNTS寄存器進(jìn)行有效的正確設置,以確定有多少字節將要被傳送。
當卡片上的數據流接收 結束或沒(méi)有被接收時(shí), STACON寄存器中的DV標志被置位”1”,并且MCM 上的引腳NIRQ也將由”HIGH”變?yōu)椤盠OW”。
如果設置了DV-bit,則STACON寄存器中的error-bits (出錯位)將被設置。如果沒(méi)有相關(guān)的error-bit被設置,則FIFO寄存器中的數據將被假設為正確,且可以被讀出。
將數據寫(xiě)到STACON寄存器中將對MCM進(jìn)行狀態(tài)控制,見(jiàn)如下表:
這里,應該注意, 當寫(xiě)數據到STACON寄存器時(shí)(即對STACON寄存器進(jìn)行設置),在寫(xiě)數據到STACON寄存器的這一寫(xiě)周期中,RFS位的設置必須與RF單元相互一致。
另外,設置了AC位,即“AC=1”,將使防重疊狀態(tài)機啟動(dòng)工作,執行內部存取。這一存取在設置AC位后的12us開(kāi)始,至35us結束。在這一間隙時(shí)間,不允許MCU向MCM進(jìn)行寫(xiě)(WRITE)數據操作。必須延遲35us。這是為了保證防重疊狀態(tài)機處理軟件的正確運行,讓其能識別疊放在一起的多張Mifare 1 卡片,為下一步進(jìn)行選擇一張指定SN(Serial Number)的Mifare 1卡片進(jìn)行數據讀/寫(xiě)而作準備。Philips公司(或UniVision Engineering Limited 聯(lián)視工程公司)推薦至少延遲35us,然后進(jìn)行寫(xiě)DATA,TOC寄存器等操作?!?BR> 讀取 STACON寄存器,將告訴我們一系列的MCM及卡片的當前狀況信息。以下是讀取STACON寄存器后的一系列標志位表。
(待續)