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