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