版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
-.z非接觸式IC智能(射頻)卡及其讀寫設(shè)備內(nèi)核技術(shù)的研究與應(yīng)用開發(fā)前言當(dāng)今的信息技術(shù)又到了一個關(guān)鍵的十字路口。單獨的PC甚至局域網(wǎng)的時代已為“全球化網(wǎng)絡(luò)〞時代所代替?;ヂ?lián)網(wǎng)INTERNET的產(chǎn)生和今天的飛速開展和廣泛滲透就是典*。IC〔集成電路〕智能卡正在并已經(jīng)融入當(dāng)今信息技術(shù)的主流。她以其高度的信息集成,高度的平安性,正日漸其輝煌和燦爛。隨著金融行業(yè)的不斷開展,社會經(jīng)濟的日新月異,特別是公共交通行業(yè),無線通信領(lǐng)域,衛(wèi)生保健行業(yè),封閉式場所管理,身份識別,通信,大樓保安系統(tǒng)等等,人們已愈來愈多地開場承受和使用IC智能卡。特別是銀行效勞系統(tǒng),IC智能卡替代古老的磁卡而效勞于群眾已日漸成熟。并且“一卡通〞,一卡多用,給我們的生活質(zhì)量帶來了很大的提高。IC智能卡自動電表抄表系統(tǒng),煤氣/自來水抄表系統(tǒng),公交/地鐵自動售票/檢票系統(tǒng),移動通信手機中IC智能SIM卡等等,IC智能卡已愈來愈貼近我們的生活,成為我們生活的一步分?!八⒖è曇殉蔀槿藗?nèi)粘I钪胁豢苫蛉钡囊痪植?。近幾年來,隨著IC智能卡中的接觸式CPU卡以及非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕的高度平安**性,使之在IC智能卡領(lǐng)域中異軍突起,成為當(dāng)今IC智能卡中的流行寵物,應(yīng)用前景十分廣闊。國外對IC卡的研究和應(yīng)用較早,特別是在美國,歐洲國家等。IC卡遍布社會各個方方面面。就象在美國,國民消費總額的20%~~30%是由“刷卡〞消費完成的,由此可見IC智能卡流行和使用的程度。盡管國外對IC卡已有多年的研究,但真正在IC智能卡中特別是CPU卡類,非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕方面的研究也僅有1~~2年的成熟期。因為他們也看到了CPU卡,特別是非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕代表了整個“刷卡〞領(lǐng)域的開展方向,前景光明。我國對IC卡行業(yè)的開展始于1993年左右,當(dāng)時的中央領(lǐng)導(dǎo)特別是同志高度重視IC卡行業(yè),高瞻遠(yuǎn)矚,指示要開展我國自己的IC卡事業(yè),建立“金卡工程〞。雖然至今也只有短短的6年左右時間,但已取得了不小的成就。已研制成功我國自主的較大容量的存儲卡,邏輯加密卡等,但是對于尖端的CPU卡及非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕的制卡技術(shù)及其相應(yīng)的讀/寫卡設(shè)備技術(shù),仍處于落后狀態(tài)。這極大地制約了IC卡行業(yè)的開展,特別是在要求有極高平安性和**性的金融行業(yè)中,制約了我國金卡工程的實施和開展。為了加快IC卡行業(yè)的開展,特別是尖端的CPU卡及非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕的推廣應(yīng)用,讓IC卡行業(yè)及其他行業(yè)的同行盡快掌握CPU卡及非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕的核心技術(shù)及其讀寫設(shè)備的軟硬件技術(shù)及應(yīng)用設(shè)計,跟上國外的IC卡研究和應(yīng)用步伐,甚至走在其前面,在**華東計算機研究所,**計算機協(xié)會等領(lǐng)導(dǎo)同志的關(guān)心下,在**華東磁記錄設(shè)備電子公司吳文總經(jīng)理的直接支持下,經(jīng)過一段時間全身心投入的研發(fā)之后,筆者已根本上比較全面地掌握了PHILIPS公司的非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕MIFARE1卡〔S50系列〕及其卡片讀寫設(shè)備核心模塊MCM〔MifareCoreModule〕的軟硬件技術(shù)。使我們開展,應(yīng)用,甚至超越PHILIPS公司的非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕技術(shù)及其讀寫設(shè)備技術(shù)成為可能。當(dāng)今世界上非接觸式IC智能射頻卡〔內(nèi)建MCU,ASIC等〕中的主流主要為PHILIPS公司的MIFARE技術(shù),已經(jīng)被制定為國際標(biāo)準(zhǔn):ISO/IEC14443TYPEA標(biāo)準(zhǔn)。歐洲一些較大的IC卡片制造商以及IC卡片讀寫器制造商以及IC卡片軟件設(shè)計公司等〔例如法國的GEMPLUS公司〕大都以MIFARE技術(shù)為標(biāo)準(zhǔn),而開展和推進(jìn)IC卡行業(yè)。通過閱讀本文,相信有一定IC卡經(jīng)歷,技術(shù)及具有一定的計算機軟/硬件技術(shù)〔尤其是微處理單片機MCU技術(shù)〕的同行定能將本文消化之后而能設(shè)計出諸多應(yīng)用場合的產(chǎn)品,例如,門禁控制系統(tǒng)〔DoorAccessSystem〕,高速公路不停車收費系統(tǒng),停車場收費管理系統(tǒng),地鐵非接觸式IC智能射頻卡的“刷卡〞讀寫器,機關(guān)/企業(yè)內(nèi)部考勤管理系統(tǒng),醫(yī)療保險管理系統(tǒng),公共交通收費管理系統(tǒng),出租車收費管理系統(tǒng),銀行效勞“一卡通〞等等。第一章Mifare1非接觸式IC智能(射頻)卡一.Mifare1非接觸式IC智能射頻卡特點Mifare1IC智能(射頻)卡的核心是Philips公司的Mifare1ICS50〔-01,-02,-03,-04〕系列微模塊〔微晶片〕。它確定了卡片的特性以及卡片讀寫器的諸多性能。Mifare1IC智能(射頻)卡采用先進(jìn)的芯片制造工藝制作。內(nèi)建有高速的CMOSEEPROM,MCU等。卡片上除了IC微晶片及一副高效率天線外,無任何其他元件。卡片上無源〔無任何電池〕,工作時的電源能量由卡片讀寫器天線發(fā)送無線電載波信號耦合到卡片上天線而產(chǎn)生電能,一般可達(dá)2V以上,供卡片上IC工作。工作頻率13.56MHZ。 Mifare1射頻卡所具有的獨特的MIFARERF〔射頻〕非接觸式接口標(biāo)準(zhǔn)已被制定為國際標(biāo)準(zhǔn):ISO/IEC14443TYPEA標(biāo)準(zhǔn)。射頻卡標(biāo)準(zhǔn)操作距離為100mm〔由MCM500作為讀寫器核心模塊〕和25mm〔由MCM200作為讀寫器核心模塊〕。與卡片讀寫器的通信速率高達(dá)106Kbit/s。 Mifare1IC智能(射頻)卡上具有先進(jìn)的數(shù)據(jù)通信加密并雙向驗證密碼系統(tǒng);且具有防重疊功能:能在同一時間處理重疊在卡片讀寫器天線的有效工作距離內(nèi)的多*重疊的卡片。 Mifare1IC智能(射頻)卡與讀寫器通信使用握手式半雙工通信協(xié)議;卡片上有高速的CRC協(xié)處理器,符合CCITT標(biāo)準(zhǔn)。卡片制造時具有唯一的卡片系列號,沒有重復(fù)的一樣的兩*MIFARE卡片??ㄆ蟽?nèi)建8K〔bit〕EEPROM存儲容量并劃分為16個扇區(qū),每個扇區(qū)劃分為4個數(shù)據(jù)存儲塊,每個扇區(qū)可由多種方式的密碼管理??ㄆ线€內(nèi)建有增值/減值的專項的數(shù)學(xué)運算電路,非常適合公交/地鐵等行業(yè)的檢票/收費系統(tǒng)。典型的檢票交易時間最長不超過100ms(0.1秒)〔包括卡片的認(rèn)證,6個扇區(qū)的讀〔768bit,2個扇區(qū)的認(rèn)證〕,2個扇區(qū)的寫操作〔256bit〕〕??ㄆ系臄?shù)據(jù)讀寫可超過10萬次以上;數(shù)據(jù)保存期可達(dá)10年以上,且卡片抗靜電保護能力達(dá)2KV以上。二.Mifare1非接觸式IC智能射頻卡功能組成如以下圖為MIFARE1S50非接觸式IC智能射頻卡的功能組成圖。MIFARE1S50CARDICClockData
Energy
波形轉(zhuǎn)換正弦=>方波整流電壓調(diào)節(jié)Modu./DeModuMIFARE1S50CARDICClockData
Energy
波形轉(zhuǎn)換正弦=>方波整流電壓調(diào)節(jié)Modu./DeModu調(diào)制/解調(diào)POR(復(fù)位)EEPORAntiCollisionATRDigitalSection數(shù)字電路局部SelectApplicationAuthentication&AccessControlControl&Arithm.Unit
ROM
CryptoUnitRAMRF-Interface射頻接口電路卡片天線整個卡片包含了兩個局部,RF射頻接口電路和數(shù)字電路局部?!惨弧?RF射頻接口電路在RF射頻接口電路中,主要包括有波形轉(zhuǎn)換模塊。它可將卡片讀寫器上的13.56MHZ的無線電調(diào)制頻率接收,一方面送調(diào)制/解調(diào)模塊,另一方面進(jìn)展波形轉(zhuǎn)換,將正弦波轉(zhuǎn)換為方波,然后對其整流濾波,由電壓調(diào)節(jié)模塊對電壓進(jìn)展進(jìn)一步的處理,包括穩(wěn)壓等,最終輸出供應(yīng)卡片上的各電路。POR模塊主要是對卡片上的各個電路進(jìn)展POWER-ON-RESET〔上電復(fù)位〕,使各電路同步啟開工作。〔二〕。在數(shù)字電路局部模塊中:1.ATR模塊:AnswertoRequest(“請求之應(yīng)答“)當(dāng)一*Mifare1卡片處在卡片讀寫器的天線的工作*圍之內(nèi)時,程序員控制讀寫器向卡片發(fā)出REQUESTall(或REQUESTstd)命令后,卡片的ATR將啟動,將卡片Block0中的卡片類型〔TagType〕號共2個字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進(jìn)展第一步的ATR工作,讀寫器對卡片的其他操作〔Read/Write等〕將不會進(jìn)展。卡片的類型〔TagType〕號共2個字節(jié),可能為:0004H 2.AntiCollision模塊:防止〔卡片〕重疊功能如果有多*Mifare1卡片處在卡片讀寫器的天線的工作*圍之內(nèi)時,AntiCollision模塊的防重疊功能將被啟開工作。在程序員控制下的卡片讀寫器將會首先與每一*卡片進(jìn)展通信,取得每一*卡片的系列號。由于Mifare1卡片每一*都具有其唯一的系列號,決不會一樣,因此卡片讀寫器根據(jù)卡片的序列號來識別,區(qū)分已選的卡片,卡片讀寫器中的MCM中的AntiCollision防重疊功能配合卡片上的防重疊功能模塊,由程序員來控制讀寫器,根據(jù)卡片的序列號來選定一*卡片。被選中的卡片將直接與讀寫器進(jìn)展數(shù)據(jù)交換,未被選擇的卡片處于等待狀態(tài),隨時準(zhǔn)備與卡片讀寫器進(jìn)展通信。AntiCollision模塊〔防重疊功能〕啟開工作時,卡片讀寫器將得到卡片的序列號SerialNumber。序列號SerialNumber存儲在卡片的Block0中,共有5個字節(jié),實際有用的為4個字節(jié),另一個字節(jié)為序列號SerialNumber的校驗字節(jié),這在以后章節(jié)中詳細(xì)論述,包括對序列號SerialNumber的校驗方法等。序列號SerialNumber中實際有用的4個字節(jié),可能為:007e0a42h。3.SelectApplication模塊:主要用于卡片的選擇。當(dāng)卡片與讀寫器完成了上述的二個步驟,程序員控制的讀寫器要想對卡片進(jìn)展讀寫操作,必須對卡片進(jìn)展“Select〞操作。以使卡片真正地被選中。被選中的卡片將卡片上存儲在Block0中的卡片的容量“Size〞字節(jié)傳送給讀寫器。當(dāng)讀寫器收到這一字節(jié)后,將明確可以對卡片進(jìn)展深一步的操作了。例如,可以進(jìn)展密碼驗證等等。讀寫器收到的“Size〞字節(jié)可能為:88h4.Authentication&AccessControl模塊:認(rèn)證及存取控制模塊在確認(rèn)了上述的三個步驟,確認(rèn)已經(jīng)選擇了一*卡片時,程序員對卡片進(jìn)展讀寫操作之前,必須對卡片上已經(jīng)設(shè)置的密碼進(jìn)展認(rèn)證,如果匹配,則允許進(jìn)一步的Read/Write操作。Mifare1卡片上有16個扇區(qū),每個扇區(qū)都可分別設(shè)置各自的密碼,互不干預(yù)。因此每個扇區(qū)可獨立地應(yīng)用于一個應(yīng)用場合。整個卡片可以設(shè)計成“一卡通〞形式來應(yīng)用。三遍認(rèn)證:如以下圖為三遍認(rèn)證的令牌原理框圖。
Mifare1卡片
非接觸式卡片讀寫器〔
Mifare1卡片
非接觸式卡片讀寫器 (E) 〔B〕TOKENAB(C)(D)TOKENBA認(rèn)證過程是這樣進(jìn)展的:〔A〕環(huán):由Mifare1卡片向讀寫器發(fā)送一個隨機數(shù)據(jù)RB;〔B〕環(huán):由讀寫器收到RB后向Mifare1卡片發(fā)送一個令牌數(shù)據(jù)TOKENAB,其中包含了讀寫器發(fā)出的一個隨機數(shù)據(jù)RA;〔C〕環(huán):Mifare1卡片收到TOKENAB后,對TOKENAB的加密的局部進(jìn)展解密,并校驗第一次由〔A〕環(huán)中Mifare1卡片發(fā)出去的隨機數(shù)RB是否與〔B〕環(huán)中接收到的TOKENAB中的RB相一致;〔D〕環(huán):如果〔C〕環(huán)校驗是正確的,則Mifare1卡片向讀寫器發(fā)送令牌TOKENBA給讀寫器;〔E〕環(huán):讀寫器收到令牌TOKENBA后,讀寫器將對令牌TOKENBA中的RB〔隨機數(shù)〕進(jìn)展解密;并校驗第一次由〔B〕環(huán)中讀寫器發(fā)出去的隨機數(shù)RA是否與〔D〕環(huán)中接收到的TOKENBA中的RA相一致;如果上述的每一個環(huán)都為“真〞,都能正確通過驗證,則整個的認(rèn)證過程將成功。讀寫器將能對剛剛認(rèn)證通過的卡片上的這個扇區(qū)可以進(jìn)入下一步的操作〔READ/WRITE等操作〕??ㄆ械钠渌葏^(qū)由于有其各自的密碼,因此不能對其進(jìn)展進(jìn)一步的操作。如想對其他扇區(qū)進(jìn)展操作,必須完成上述的認(rèn)證過程。認(rèn)證過程中的任何一環(huán)出現(xiàn)過失,整個認(rèn)證將告失敗。必須從新開場。如果事先不知卡片上的密碼,則由于密碼的變化可以極其復(fù)雜,因此靠猜測密碼而想翻開卡片上的一個扇區(qū)的可能性幾乎為零。這里提醒一下程序員和卡片的使用者,必須牢記卡片中的16個扇區(qū)的每一個密碼,否則,遺忘*一扇區(qū)的密碼,將使該扇區(qū)中的數(shù)據(jù)不能讀寫。沒有任何方法可以挽救這種低級錯誤。但是,卡片上的其他扇區(qū)可以照樣使用。上述的表達(dá)已經(jīng)可以充分地說明了Mifare1卡片的高度平安性,**性,及卡片的應(yīng)用場合多樣性,一卡多用〔一卡通〕。5.Control&ArithmeticUnit控制及算術(shù)運算單元:這一單元是整個卡片的控制中心,是卡片的“頭腦〞。它主要進(jìn)展對整個卡片的各個單位進(jìn)展微操作控制,協(xié)調(diào)卡片的各個步驟;同時它還對各種收/發(fā)的數(shù)據(jù)進(jìn)展算術(shù)運算處理,遞增/遞減處理,CRC運算處理,等等。是卡片中內(nèi)建的中央微處理機〔MCU〕單元。6.RAM/ROM單元: RAM主要配合控制及算術(shù)運算單元,將運算的結(jié)果進(jìn)展暫時存儲,如果*些數(shù)據(jù)需要存儲到EEPROM,則由控制及算術(shù)運算單元取出送到EEPROM存儲器中;如果*些數(shù)據(jù)需要傳送給讀寫器,則由控制及算術(shù)運算單元取出,經(jīng)過RF射頻接口電路的處理,通過卡片上的天線傳送給卡片讀寫器。RAM中的數(shù)據(jù)在卡片失掉電源后〔卡片離開讀寫器天線的有效工作*圍內(nèi)〕將被去除。同時,ROM中還固化了卡片運行所需要的必要的程序指令,由控制及算術(shù)運算單元取出去對每個單元進(jìn)展微指令控制。使卡片能有條不紊地與卡片的讀寫器進(jìn)展數(shù)據(jù)通信。7.CryptoUnit數(shù)據(jù)加密單元:該單元完成對數(shù)據(jù)的加密處理及密碼保護。加密的算法可以為DES標(biāo)準(zhǔn)算法或其他。 8.EEPROMINTERFACE/EEPROMMEMORYEEPROM存儲器及其接口電路:該單元主要用于存儲數(shù)據(jù)。EEPROM中的數(shù)據(jù)在卡片失掉電源后〔卡片離開讀寫器天線的有效工作*圍內(nèi)〕仍將被保持。用戶所要存儲的數(shù)據(jù)被存放在該單元中。Mifare1卡片中的這一單元容量為8196bit(1Kbyte)。分為16個扇區(qū)。三.Mifare1IC智能(射頻)卡的物理組成及卡片上天線的研究在卡片上的微晶片外面一般封裝了保護層。保護層可以防止微晶片被折疊,扭曲等眾多對卡片實施非正常的物理性損壞。同時也防止微晶片受到紫外線的輻射,使卡片能長久地被使用。但從電性能的角度來看,由于參加了保護層,使IC與卡片上的天線組成的振蕩回路的頻率將發(fā)生變化。因為,保護層給IC微晶片增加了一個輸入回路電容Cmount。盡管這個電容只有幾個pf至幾十個pf,但對于要求頻率精度,穩(wěn)定度等都很高的非接觸式IC智能射頻卡來說,也將是很重要的。天線線圈帶保護層的IC微晶片天線線圈帶保護層的IC微晶片Mifare1IC智能(射頻)卡卡片上的等效電路如下:RcoilLaCcoilCpackCicCmountLcoil Lb不帶IC微晶片的天線IC微晶片整個卡片的自由振蕩頻率計算方法:Fres=1 2*3.1415926*(Lcoil*(Ccoil+Cpack+Cic+Cmount))1/2說明:Fres:卡片的振蕩頻率,應(yīng)為13.56MHzRcoil:天線線圈的電阻,約6.07歐娒Lcoil:天線線圈的電感,約3.6μHCcoil:天線線圈的電容,約5pfCpack:天線線圈的封裝后引入的電容,約5pfCic:IC微晶片的電容,約16pfCmount:IC微晶片的安裝后引入的電容,約幾個pf~幾十個pfLa:天線線圈與IC微晶片的接觸點aLb:天線線圈與IC微晶片的接觸點b其中,天線線圈的電感:Lcoil=2*L[cm]*(ln(L[mm]/D[mm]–1.04)*NpL:天線線圈一圈的長度N:天線線圈圈數(shù),一般為4圈D:天線線圈直徑或?qū)w的寬度P:由天線線圈的技術(shù)而定的N的指數(shù)因子,如下表所示:P值:天線線圈構(gòu)造:1.8環(huán)繞線圈1.7Etched(蝕刻)線圈1.5~~1.7印刷電路板線圈上述天線線圈的電感的公式只能作為首次估測之用,實際的天線線圈的電感必須通過儀器測量而定,但偏差不會很大。一般天線線圈的電感:Lcoil<4.2μH,實際中推薦在3.6μH左右為最優(yōu)。天線線圈的品質(zhì)因數(shù)Qcoil:Qcoil=ω*Lcoil=2πfres=2π*13.56RcoilRcoilRcoil一般天線線圈的品質(zhì)因數(shù)30<Qcoil<60。實際中,品質(zhì)因數(shù)Qcoil在>30后的增加量,對卡片的操作距離的增加無明顯幫助;品質(zhì)因數(shù)Qcoil必須<60,以確保數(shù)據(jù)通信穩(wěn)定,可靠,否則天線的有效工作距離內(nèi)有死區(qū),而不能可靠地進(jìn)展數(shù)據(jù)通信。天線線圈的矩形面積S總:S總必須>11200mm2S總=S平均*N圈 所以S平均必須>11200mm2/N圈一般,S平均>=2778mm2(當(dāng)卡片上的天線線圈的矩形面積的長*寬=40mm*70mm時)實際中,推薦S平均在3330mm2左右。即,實際設(shè)計時,卡片上的天線線圈的矩形面積的長和寬應(yīng)為:74mm和45mm,天線線圈的圈數(shù)N為4圈,則這樣制作出的卡片將能保證通信的距離。四.Mifare1卡片的存儲構(gòu)造 Mifare1卡片的存儲容量為8192BIT*1位字長〔即1K*8位字長〕,采用EEPROM作為存儲介質(zhì),整個構(gòu)造劃分為16個扇區(qū),編為扇區(qū)0~~15。每個扇區(qū)有4個塊〔Block〕,分別為塊0,塊1,塊2和塊3。每個塊有16個字節(jié)。一個扇區(qū)共有16Byte*4=64Byte。如以下圖:扇區(qū)扇區(qū)0塊0〔廠商標(biāo)志代碼〕塊1塊2塊3〔A密碼+存取控制+B密碼〕扇區(qū)1扇區(qū)1Block0Block1Block2Block3(A密碼+存取控制+B密碼〕。。。。。。。扇區(qū)扇區(qū)15。Block0Block1Block2塊3〔A密碼+存取控制+B密碼〕每個扇區(qū)的塊3(即第四塊)包含了該扇區(qū)的密碼A(6個字節(jié))、存取控制(4個字節(jié))、密碼B(6個字節(jié)),是一個特殊的塊。其余三個塊是一般的數(shù)據(jù)塊。但扇區(qū)0的塊0是特殊的,是廠商代碼,已固化,不可改寫。其中:第0~4個字節(jié)為卡片的序列號,第5個字節(jié)為序列號的校驗碼;第6個字節(jié)為卡片的容量“SIZE〞字節(jié);第7,8個字節(jié)為卡片的類型號字節(jié),即Tagtype字節(jié);其他字節(jié)由廠商另加定義。Mifare1卡片的扇區(qū)0中的塊0〔Block0〕存儲的16個字節(jié)的內(nèi)容可能為:420a7e630373937h。下面將對密碼A,密碼B,存取控制與數(shù)據(jù)區(qū)的關(guān)系加以說明:存取控制的構(gòu)造如下:(四個字節(jié)中的各位依次命名為)位:76543210C2*3_bC2*2_bC2*1_bC2*0_bC1*3_bC1*2_bC1*1_bC1*0_bC1*3C1*2C1*1C1*0C3*3_bC3*2_bC3*1_bC3*0_bC3*3C3*2C3*1C3*0C2*3C2*2C2*1C2*0B*7B*6B*5B*4B*3B*2B*1B*0_b表示取反,如C2*3_b即C2*3取反;*表示扇區(qū)號;Y表示第幾塊;C表示控制位;B表示備用位;存取控制對塊3的控制如下:(*=0-15)
密碼A密碼A存取控制存取控制密碼B密碼BC1*3C2*3C3*3readWritereadwritereadwrite000neverKEYA|BKEYA|BneverKEYA|BKEYA|B010neverNeverKEYA|BneverKEYA|Bnever100neverKEYBKEYA|BneverneverKEYB110neverNeverKEYA|Bnevernevernever001neverKEYA|BKEYA|BKEYA|BKEYA|BKEYA|B011neverKEYBKEYA|BKEYBneverKEYB101neverNeverKEYA|BKEYBnevernever111neverNeverKEYA|BneverneverneverKEYA|B表示密碼A或密碼B;never表示沒有條件實現(xiàn)。對數(shù)據(jù)塊的控制如下表:(*=0-15扇區(qū)、Y=每個扇區(qū)的0-2塊)C1*YC2*YC3*YReadWriteIncrementDecr,Transfer,restore000KEYA|BKEYA|BKEYA|BKEYA|B010KEYA|Bnevernevernever100KEYA|BKEYBnevernever110KEYA|BKEYBKEYBKEYA|B001KEYA|BneverneverKEYA|B011KEYBKEYBnevernever101KEYBnevernevernever111Nevernevernevernever塊3的初始化值為:a0,a1,a2,a3,a4,a5,ff,07,80,69,b0,b1,b2,b3,b4,b5共16個字節(jié),其中KEYA是{a0,a1,a2,a3,a4,a5},KEYB是{b0,b1,b2,b3,b4,b5},控制存取的四個字節(jié)為{0*ff,0*07,0*80,0*69}。存取控制位表示如下(請用戶去對照上表以確定初始化狀態(tài)):FfhFfh07h80h69h位:*7654321011111111000001111000000001101001程序員可以根據(jù)自已應(yīng)用的具體情況,對不同的扇區(qū)可選用不用的存取控制,不同的密碼,但應(yīng)注意其每一位的格式,以免誤用!數(shù)據(jù)塊有兩種應(yīng)用方法,一種是用作一般的數(shù)據(jù)保存用,直接讀寫。另一種用法是用作數(shù)值塊,可以進(jìn)展初始化值、加值、減值、讀值的運算。系統(tǒng)配用相應(yīng)的函數(shù)完成相應(yīng)的功能。
MCM內(nèi)核技術(shù)說明第二章MCM的硬件內(nèi)核電路一.MCM200/MCM500讀寫模塊說明MifareCoreModule是MCM的全稱,意為Mifare核心模塊。Philips公司的MCM主要有兩種產(chǎn)品型號,為MCM200和MCM500。這兩種智能模塊均被用于讀寫Mifare1非接觸式IC智能射頻卡的讀寫器中,負(fù)責(zé)讀寫器中對非接觸式IC智能射頻卡片的讀寫等功能,一般在讀寫器中還必須有MCU〔微處理單片機〕來對MCM進(jìn)展控制,及對讀寫器的其他方面進(jìn)展控制,例如對鍵盤,顯示,通信等局部的控制等等。MCM200模塊主要應(yīng)用于對卡片操作距離在25mm的卡片讀寫器中;MCM500模塊主要應(yīng)用于對卡片操作距離在100mm的卡片讀寫器中。 Mifare所具有的獨特的MIFARERF〔射頻〕非接觸式接口標(biāo)準(zhǔn)已被制定為國際標(biāo)準(zhǔn):ISO/IEC14443TYPEA標(biāo)準(zhǔn)?!惨弧?。MCM200模塊說明A.特性:1.標(biāo)準(zhǔn)的雙列直插32引腳2.工作頻率:13.56MHZ3.標(biāo)準(zhǔn)的+5V電源供電,供電*圍4.75V至5.25V4.〔典型〕電流消耗40MA,最大不超過80MA,最小10MA左右5.讀寫卡片距離可達(dá)25MM以上6.與卡片的通信速率可達(dá)106KBps7.模塊與卡片通信時,數(shù)據(jù)加密8.每個扇區(qū)設(shè)有3套密碼及其認(rèn)證和密碼存儲器9.有防卡片重疊功能10.16個字節(jié)的FIFO〔先進(jìn)先出〕隊列接收/發(fā)送緩沖存放器11.在模塊與卡片通信時自動偵查錯誤,自動對數(shù)據(jù)流分析12.對RF〔射頻〕通道自動監(jiān)控13.內(nèi)建8位/16位的CRC協(xié)處理器,提供CRC,PARITY等數(shù)據(jù)校驗14.支持多種方式的活動天線,并且不需“天調(diào)系統(tǒng)〞〔天線調(diào)節(jié)系統(tǒng)〕對天線進(jìn)展補償調(diào)節(jié)15.標(biāo)準(zhǔn)的MIFARE并行接口與MCM500100%全兼容16.MCM200的軟件與MCM500模塊100%全兼容17.可控制,級聯(lián)MCM500模塊18.工作溫度*圍在:-20~+70度B.MCM200模塊引腳說明如以下圖是該模塊的引腳排列示意圖:D7D6D5D4D7D6D5D4D3D2D1D0BPNPAUSE1KOMP1NRSTDVDDDGNDNIRQTP1 322313 304 295 286 277 268259 241023112212211320141915 1816 17MCM200模塊KPROGNCSNWRNRDA0A1A2A3ALEUSEALEMODENANTANTAVDDAGNDR*MCM200引腳說明如下:引腳引腳名稱引腳類型將來使用類型
引腳引腳名稱引腳類型將來使用類型1D7I/O(PU)I/O(PU)
17R*I(analog)I(analog)2D6I/O(PU)I/O(PU)
18AGNDSUPPLYSUPPLY3D5I/O(PU)I/O(PU)
19ACDDSUPPLYSUPPLY4D4I/O(PU)I/O(PU)
20ANTOO5D3I/O(PU)I/O(PU)
21NANTOO6D2I/O(PU)I/O(PU)
22MODEI(PU)I(PU)7D1I/O(PU)I/O(PU)
23USEALEI(PU)I(PU)8D0I/O(PU)I/O(PU)
24ALEI(PU)I(ST,PU)9BpSUPPLYSUPPLY
25A3I(PU)I(ST,PU)10NPAUSE1OO
26A2I(PU)I(ST,PU)11KOMP1I(PU)I〔PU〕
27A1I(PU)I(ST,PU)12NRSTII
28A0I(PU)I(ST,PU)13DVDDSUPPLYSUPPLY
29NRDI(PU)I(ST,PU)14DGNDSUPPLYSUPPLY
30NWRI(PU)I(ST,PU)15NIRQOO
31NCSI(PU)I(ST,PU)16TPO(analog)
32KPROGNCSUPPLY上述表中:I---------------輸入引腳 O---------------輸出引腳 SUPPLY -------電源供電輸入 I/O---------------輸入/輸出雙向引腳 PU---------------InternalPull-up內(nèi)部有上拉電阻 ST----------------Schmit-Triggerinput施密特觸發(fā)輸入 C.其他說明 MCM200是Philips公司的產(chǎn)品,另外還有其他公司與之相兼容的產(chǎn)品。UniVisionEngineeringLimited(聯(lián)視工程**)持有Mifare制造專利,其生產(chǎn)的相當(dāng)與MCM200的產(chǎn)品命名為SB201。SB201與MCM200模塊在硬件上有一處不同,表現(xiàn)在軟件上有一個MODE方式存放器的設(shè)置不同。SB201的MODE設(shè)置為0*D6H;MCM200的設(shè)置為0*C6H〔這在以后的章節(jié)中還會論述〕。除此以外,兩者軟/硬件100%全兼容。法國的GEMPLUS公司向PHILIPS公司購置MCM中核心ASICRC150或RC170芯片制造的MCM200模塊及讀寫器與MCM200全兼容等。〔二〕. MCM500模塊說明A.. 特性:1.工作頻率:13.56MHZ2.標(biāo)準(zhǔn)的+12V電源供電,3.工作頻率:13.56MHZ4.讀寫卡片距離可達(dá)100MM以上5.與卡片的通信速率可達(dá)106KBps6.模塊與卡片通信時,數(shù)據(jù)加密7.每個扇區(qū)設(shè)有3套密碼及其認(rèn)證和密碼存儲器8.有防卡片重疊功能9.16個字節(jié)的FIFO〔先進(jìn)先出〕隊列接收/發(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)〕對天線進(jìn)展補償調(diào)節(jié)14.標(biāo)準(zhǔn)的MIFARE并行接口與MCM200100%全兼容15.MCM200的軟件與MCM500模塊100%全兼容16.可遙控,級聯(lián)MCM500模塊17.工作溫度*圍在:-20~+70度B.MCM500模塊引腳說明如以下圖是該模塊的引腳排列示意圖:
屏蔽盒次開發(fā)151
162
屏蔽盒次開發(fā)151
162
1718
3132
34483347
。。。。。
。。。。。。。。。如以下圖是該模塊的引腳排列示意圖:引腳引腳名稱引腳類型功能描述1NPAUSE1O串行數(shù)據(jù)輸出,驅(qū)動RF1單元,該引腳必須連到RF單元的T*NPAUSE端。該引腳的“LOW〞信號指示一個能量暫停。2NWRI寫信號使能端3GATE1O/NC〔未使用〕4NRDI讀信號使能端5MOD1O/NC〔未使用〕6MODEI并行協(xié)議模式,必須用“HIGH〞高電平來驅(qū)動。7SYNC1I/NC〔未使用〕8NCSI(NotChipSelect)當(dāng)MCU用“LOW〞低電平來驅(qū)動該引腳時,將選中MCM9WKOMP1I〔未使用〕10CSI(ChipSelect)當(dāng)MCU用“HIGH〞高電平來驅(qū)動該引腳時,將選中MCM11KOMP1I(partorinputofRF1)RF1的比較器輸入端,必須連到RF單元的R*KOMP端12N.T.C.
〔未使用〕13DGND
數(shù)字電路接地端14N.T.C.
〔未使用〕15DVDD
電源供應(yīng)端+5V。內(nèi)部在R*KOMP端上有上拉電阻。16CLOCKO/NC〔未使用〕17RFVDD
+12V電源輸入,供應(yīng)RF射頻單元18N.T.C.
〔未使用〕19RFGND
RF射頻單元〔模擬電路〕接地端20N.T.C.
〔未使用〕21R*KOMPORF射頻單元的輸出信號端。它提供與數(shù)字電平兼容的接收信號。其對地〔DGND〕為集電極開路輸出,并有上拉電阻2K2接到DVDD端22KOMP0I(partorinputofRF0)RF0的比較器輸入端,必須連到RF單元的R*KOMP端23R*WKOMPO〔未使用〕24WKOMP0I〔未使用〕25SYNCO/NC〔未使用〕26SYNC0I/NC〔未使用〕27T*MODI/NC〔未使用〕28MOD0O/NC〔未使用〕29R*GATEI/NC〔未使用〕30GATE0O/NC〔未使用〕31T*NPAUSEICMOS兼容電平輸入信號至RF射頻單元。該信號參考與RFGND接地端。32NPAUSE0O串行數(shù)據(jù)輸出,驅(qū)動RF0單元,該引腳必須連到RF單元的T*NPAUSE端。該引腳的“LOW〞信號指示一個能量暫停。33A0IA0~A3為4位地址線34D0I/OD0~D7為8位雙向數(shù)據(jù)總線35A1IA0~A3為4位地址線36D1I/OD0~D7為8位雙向數(shù)據(jù)總線37A2IA0~A3為4位地址線38D2I/OD0~D7為8位雙向數(shù)據(jù)總線39A3IA0~A3為4位地址線40D3I/OD0~D7為8位雙向數(shù)據(jù)總線41ALEIAddressLatchEnable地址鎖存使能端42D4I/OD0~D7為8位雙向數(shù)據(jù)總線43USEALEI選擇器:從內(nèi)部地址鎖存器或A0~A3引腳取地址44D5I/OD0~D7為8位雙向數(shù)據(jù)總線45NIRQO當(dāng)該端為“LOW〞時,通知MCU應(yīng)該按評估MCM的狀態(tài)存放器內(nèi)容,并存取MCM中的數(shù)據(jù)46D6I/OD0~D7為8位雙向數(shù)據(jù)總線47BP
后備電池輸入端,保護MCM內(nèi)部密碼RAM48D7I/OD0~D7為8位雙向數(shù)據(jù)總線上述表中:I---------------輸入引腳 O---------------輸出引腳 SUPPLY -------電源供電輸入 I/O---------------輸入/輸出雙向引腳 PU---------------InternalPull-up內(nèi)部有上拉電阻NC--------------該引腳暫時未使用上述MCM500引腳功能說明表中,與MCM200引腳定義相一致的,同樣適用與對MCM200的引腳說明。 C.其他說明 MCM500是Philips公司的產(chǎn)品,另外還有其他公司與之相兼容的產(chǎn)品。UniVisionEngineeringLimited(聯(lián)視工程**)持有Mifare制造專利,其生產(chǎn)的相當(dāng)與MCM200的產(chǎn)品命名為SB601。SB601與MCM500模塊在硬件上有一處不同,表現(xiàn)在軟件上有一個MODE方式存放器的設(shè)置不同。SB601的MODE設(shè)置為0*D6H;MCM500的設(shè)置為0*C6H〔這在以后的章節(jié)中還會論述〕。除此以外,兩者軟/硬件100%全兼容。這一點與上述的MCM200模塊/SB201模塊相一致。法國的GEMPLUS公司向PHILIPS公司購置MCM中核心ASICRC150或RC170芯片制造的MCM500模塊及讀寫器與MCM500全兼容。等等。二.MCM的硬件內(nèi)核存放器描述MCU是通過對MCM內(nèi)核特殊的內(nèi)存存放器的讀寫來控制MCM的。這些存放器位于MCM中的ASIC〔特殊應(yīng)用IC〕的內(nèi)部。共有16個存放器可存取。在對MCM進(jìn)展讀/寫操作時,各存放器擔(dān)負(fù)著不同的功能和作用,并且不是所有的存放器都是可寫或可讀的,即有些存放器只能讀而不能寫,有些則反之。讀取MCM,一般的指向MIFARE1卡請求。MCM實際上是MCU與非接觸式IC智能(射頻)卡之間信息(數(shù)據(jù))交換的〞中間人〞。任何讀取卡片上的數(shù)據(jù),或?qū)戇M(jìn)卡片上的數(shù)據(jù)`均必須通過MCM來傳遞。寫MCM意味著去控制MCM,例如,送一些類型的指令給它。以下是MCM中ASIC內(nèi)核特殊存放器一覽表。MCM—ASIC存放器存放器名地址讀〔READ〕寫〔WRITE〕
DATA00H0READ-BYTEWRITE-BYTE
STACON01H1DVTEPECEBEAE----SORRFS----11NRFAC
ENABLE02H 2N/A1PRCECR--------
BTS03H 3N/ABIT-COUNT-SEND
BTR04H 4N/ABIT-COUNT-RECEIVE
BAUDRATE05H 5N/A--------111BR
TOC06H 6N/ATIMEOUT-COUNTER
MODE07H 7N/A11000P2P1P0P0
CRCDATA08H 8CRC-BYTE-READCRC-BYTE-WRITE
CRCSTACON09H 9CV------------CZC8------------CR
KEYDATA0AH 10N/AKEY-BYTE-WRITE
KEYSTACON0BH 11----------------AL0--------KS1KS0
KEYADDR0CH 12N/AALABA5A4A
0DH 13
RCODE0EH 14N/A--------00RC1RC0
0FH 15
表1:MCM–ASIC存放器各種特殊存放器材的具體說明如下:1.DATA存放器地址:OOH存放器名地址讀〔READ〕寫〔WRITE〕DATA00H0READ-BYTEWRITE-BYTE任何傳遞到MIFARE1卡的數(shù)據(jù)或來自MIFRAE1卡的數(shù)據(jù)都必須分別地被寫入DATA存放器或從DATA存放器中讀出。例如,MCU向卡片寫數(shù)據(jù)*i,則*i必須首先被寫入到DATA存放器中,然后在MCM與Mifare1卡片進(jìn)展通信,由卡片上的ASIC將DATA存放器中的數(shù)據(jù)讀取并存放在指定的卡片上的存儲器中,從而完成MCU向MIFRAE1卡片寫數(shù)據(jù)的過程。反之亦然。DATA存放器中有一個16BYTE的FIFO〔先進(jìn)先出〕隊列存放器。數(shù)據(jù)寫到DATA存放器后,被存放在這個16BYTE的FIFO〔先進(jìn)先出〕隊列存放器中,等待向卡片上或MCU傳送。如要進(jìn)展傳送DATA存放器中數(shù)據(jù),則首先必須先設(shè)定要傳輸多少位(BIT)或多少字節(jié)(BYTE),即必須對BTS存放器進(jìn)展有效的正確設(shè)置,以確定有多少字節(jié)將要被傳送。當(dāng)卡片上的數(shù)據(jù)流接收完畢或沒有被接收時,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è)為正確,且可以被讀出。2. STACON存放器地址:01HSATCON是STATUSCONTROL(狀態(tài)控制)的縮寫,是一個狀態(tài)控制存放器。存放器名地址讀〔READ〕寫〔WRITE〕STACON01H1DVTEPECEBEAE----SORRFS----11NRFAC將數(shù)據(jù)寫到STACON存放器中將對MCM進(jìn)展?fàn)顟B(tài)控制,見如下表:BitName 位名Name名稱Function功能SORSoftReset〔軟復(fù)位〕“0”----表示無作用“1”:----resetMCMA1,自動地清楚一切RFSRF-Select〔RF選擇〕“0〞----RF單元0被選中激活“1〞----RF單元1被選中激活NRFNORF〔無RF〕“0〞----將活動〔激活〕RF單元接上“1〞----將活動〔激活〕RF單元關(guān)閉ACAntiCollision〔防重疊〕“0〞----無作用“1〞----啟動防重疊狀態(tài)機這里,應(yīng)該注意,當(dāng)寫數(shù)據(jù)到STACON存放器時〔即對STACON存放器進(jìn)展設(shè)置〕,在寫數(shù)據(jù)到STACON存放器的這一寫周期中,RFS位的設(shè)置必須與RF單元相互一致。另外,設(shè)置了AC位,即“AC=1〞,將使防重疊狀態(tài)機啟開工作,執(zhí)行內(nèi)部存取。這一存取在設(shè)置AC位后的12us開場,至35us完畢。在這一間隙時間,不允許MCU向MCM進(jìn)展寫〔WRITE〕數(shù)據(jù)操作。必須延遲35us。這是為了保證防重疊狀態(tài)機處理軟件的正確運行,讓其能識別疊放在一起的多*Mifare1卡片,為下一步進(jìn)展選擇一*指定SN(SerialNumber)的Mifare1卡片進(jìn)展數(shù)據(jù)讀/寫而作準(zhǔn)備。Philips公司(或UniVisionEngineeringLimited聯(lián)視工程公司)推薦至少延遲35us,然后進(jìn)展寫DATA,TOC存放器等操作。讀取STACON存放器,將告訴我們一系列的MCM及卡片的當(dāng)前狀況信息。以下是讀取STACON存放器后的一系列標(biāo)志位表。BitName 位名Name名稱Function功能DVDataValid〔數(shù)據(jù)有效〕卡上的數(shù)據(jù)傳輸?shù)紽IFO存放器中或一個定時記數(shù)器溢出〔以在確定TE標(biāo)志時,是二者中的那一個溢出〕。DV位也可以在正確的Authentication(認(rèn)證)操作完成后而被設(shè)置。TETimeoutError〔溢出出錯〕一個定時記數(shù)器溢出發(fā)生。PEParityError〔奇/偶校驗錯〕在通訊時有奇/偶校驗錯CECRCError(CRC錯)在通訊時有CRC錯BEBitcountError〔位記數(shù)器出錯〕在BTR存放器中有大量的指定bits(位)沒有收到。AEAuthentication〔認(rèn)證出錯〕卡的認(rèn)證應(yīng)答碼不正確或當(dāng)執(zhí)行一個取密碼〔KEYErrorLoad)操作時指定的ROMKEY(只讀存儲器中密碼)不正確。在上述表中,僅當(dāng)DV(DataValid數(shù)據(jù)有效)位被設(shè)置有效時(即DV=〞1〞),TE,PE,CE,BE及AE標(biāo)志才有效。但有一例外,即當(dāng)認(rèn)證〔Authentication〕正確完成后,AE標(biāo)志也直接有效。SOR是SoftwareReset(軟件復(fù)位)的縮寫。當(dāng)執(zhí)行SOR后,所有的這些標(biāo)志將被去除,且當(dāng)對MCM的任何一個存放器執(zhí)行寫周期時,所有的這些標(biāo)志也將被去除。詳見SOR后的復(fù)位表。當(dāng)對MCM內(nèi)的任何一個存放器執(zhí)行寫周期時,所有的這些標(biāo)志也將被去除;僅當(dāng)FIFO是空時,DV標(biāo)志將被寫周期去除。有時侯MCM接收少于8bits(例如在接收ACK或NACK時)時,MCM將不影響PE,CE,及AE標(biāo)志。在MCU與MCM,MCM與Mifare1卡片進(jìn)展數(shù)據(jù)通信時,經(jīng)常會出現(xiàn)各種錯誤。例如,卡片沒能認(rèn)證(Authentication)通過,則會使AE出錯位置位,等等。以下是在檢查DV位之后,相關(guān)的出錯情況,列為下表:mandName(命令名):RelevantErrorFlags(相關(guān)的出錯標(biāo)志):AnswertoRequest(Request應(yīng)答)TE,BEAntiCollision(防重疊)TE,BESelectCard(卡片選擇)TE,BE,PE,CEAuthentication(認(rèn)證)TE,BE,PE,AEReadmand(讀命令)TE,BEReadDATA(讀數(shù)據(jù))TE,BE,PE,CEWritemand(寫命令)TE,BEWriteDATA(寫數(shù)據(jù))TE,BEInCR。/DeCR。/Rest。mand (增/減/復(fù)位命令)TE,BEInCR。/DeCR。/Rest。Value (增/減/復(fù)位值)TE,BEHalt(停機)TE,BE出錯表注意,送到卡片上的所有的命令和數(shù)據(jù)都提供奇/偶校驗(parity)和CRC檢查〔但“REQUEST〞命令操作除外〕。這是由卡片上的ASIC負(fù)責(zé)檢查。3。ENABLE存放器,地址:02HENABLE存放器的設(shè)置將影響卡片在通信時對parity和CRC的校驗。在ENABLE存放器中有針對parity和CRC校驗的復(fù)位允許位〔resetENABLEbits〕。存放器名地址讀〔READ〕寫〔WRITE〕ENABLE02H 2N/A1PRECENCRE--------對ENABLE存放器進(jìn)展寫操作,將執(zhí)行對parity和CRC塊的控制。BitName 位名Name名稱Function功能PRParityreset〔Parity復(fù)位〕“0”-----無效“1”-----復(fù)位parity塊,自動去除CECRCENABLE〔CRC使能〕“0”-----關(guān)閉CRC發(fā)生器及校驗“1”----翻開CRC發(fā)生器及校驗CRCRCReset〔CRC復(fù)位〕“0”-----無效“1”----- 復(fù)位CRC塊,自動去除在對MCM進(jìn)展編程的開場時,必須對ENABLE存放器進(jìn)展寫操作,即必須將CE位關(guān)閉。僅當(dāng)執(zhí)行〞Select〞命令操作時才翻開CE位:由于MCM在電源接通時或在任何數(shù)據(jù)通信開場時,都會復(fù)位parity和CRC塊,因此無須額外地去執(zhí)行這一操作。4.BTS存放器,地址:03H存放器名地址讀〔READ〕寫〔WRITE〕BTS03H 3N/ABIT-COUNT-SENDBTS是英文Bit-Counter-for-Sending的縮寫,意為傳送時的位計數(shù)器(存放器)。這里的傳送指的是CPU向MCM的DATA存放器寫數(shù)據(jù)。因此BTS存放器實際上是一個字節(jié)發(fā)送控制器,它控制了MCU向DATA存放器中寫進(jìn)的數(shù)據(jù)字節(jié)數(shù)目。例如,設(shè)置BCTRS=10H,則可向MCM的DATA存放器寫進(jìn)的數(shù)據(jù)字節(jié)數(shù)目為2個(8位字長的數(shù)據(jù),因為總的bit數(shù)目=10H=16D),多余的數(shù)據(jù),MCM將不予接收。由于BTS存放器是控制向DATA存放器寫數(shù)據(jù)的字節(jié)數(shù)目,因此這一操作必須在數(shù)據(jù)寫入DATA存放器之前完成。使用2進(jìn)制代碼來操作。在大量的字節(jié)數(shù)據(jù)被寫入DATA存放器之后,MCM自動地與卡片進(jìn)展通信。寫入DATA存放器的bits數(shù)量由BTS存放器制定,保持。5。BTR存放器,04HBTR是英文Bit-Counter-for-Receiving的縮寫,意為接收時的位計數(shù)器(存放器)。存放器名地址讀〔READ〕寫〔WRITE〕BTR04H 4N/ABIT-COUNT-RECEIVE與BTS存放器相反,BTR存放器控制了MCU讀取DATA存放器的數(shù)據(jù)字節(jié)數(shù)目例如,設(shè)置BTR=20H,則可向MCM的DATA存放器讀取的數(shù)據(jù)字節(jié)數(shù)目為4個(8位字長的數(shù)據(jù),因為總的bit數(shù)目=20H=32D),多余的數(shù)據(jù),MCM將不予理會。由于BTR存放器是控制向DATA存放器讀取數(shù)據(jù)的字節(jié)數(shù)目,因此這一操作必須在讀DATA存放器之前完成。使用2進(jìn)制代碼來操作。BTR存放器中的值將與實際接收到的數(shù)據(jù)字節(jié)相比較,如果有差異,則STACON存放器中的BE標(biāo)志被設(shè)置。6。BAUDRATE存放器,地址:05HBAUDRATE意為數(shù)據(jù)傳輸?shù)娇ㄆ匣蚩ㄆ系臄?shù)據(jù)傳到MCM時通信的位速率。雖然BAUDRATE存放器的后四位相關(guān)與指定的位速率,但是實際有用于MIFARE1卡的只是最后一位。存放器名地址讀〔READ〕寫〔WRITE〕BAUDRATE05H 5N/A--------111BRBAUDRATE存放器的設(shè)置將直接影響著MCM與Mifare1卡片之間的數(shù)據(jù)通信速率。MCM中有一個時鐘發(fā)生器。寫數(shù)據(jù)至BAUDRATE存放器,可以控制時鐘發(fā)生器〔CLOCKGENERATOR〕。以下是位速率的計算公式: tbit=(BR*+2)*8[μs]13.56如果BR*=0*0Eh則有:tbit=9.44(us)=1/105.94kHz上述BR*=0*0Eh為對BAUDRATE存放器進(jìn)展設(shè)置的推薦值(對于MIFRARE1卡來說BR*(大約)值為0*0Eh,即初始化時BAUDRATE存放器應(yīng)設(shè)置為:〞00001110b〞=0Eh。7。TOC存放器,地址:06HTOC是TimeOutCounter〔〔定〕時間溢出記數(shù)器〕的縮寫。存放器名地址讀〔READ〕寫〔WRITE〕TOC06H 6N/ATIMEOUT-COUNTER對TOC存放器的設(shè)置即對定時時間的控制。寫數(shù)據(jù)至TOC存放器,可以控制定時溢出記數(shù)器。定時溢出的計算公式如下:tTO=10.128*TOC[us]=100*TOC[us]13.56如果用0*00H寫給TOC,即TOC=0*00H,則將關(guān)閉定時溢出記數(shù)器,即tTO=0。TOC存放器中的值必須在MCM與MIFARE1卡片通信時被設(shè)置;TOC存放器常用的設(shè)置值為:0AH,即定時tTO=100*10us=1ms。TOC存放器中的值(非零值)將在沒有通信時,永久地被遞減。因此,在沒有通信時,或通信剛完畢時,TOC存放器中的值必須被設(shè)置,即設(shè)置TOC=0*00H.例如:在FIFO中的數(shù)據(jù)有效時,就必須這樣做。否則將影響STACON存放器的TE出錯標(biāo)志。如果有溢出出現(xiàn),則TE標(biāo)志被設(shè)置,DV標(biāo)志被激活。在完成寫數(shù)據(jù)到DATA存放器,定時溢出記數(shù)器應(yīng)該經(jīng)常被初始化。但有個例外,即在認(rèn)證操作〔AUTHENCATION〕的開場時段,定時溢出記數(shù)器應(yīng)該在存取“KEYSTACON〞和“KEYADDR〞存放器之后,在存取DATA存放器之前被初始化。一般地在讀取〔Read〕和保存〔save〕了STACON存放器中的數(shù)據(jù)之后定時溢出記數(shù)器必須被關(guān)閉。8.MODE存放器,地址:07HMODE意為在與卡片數(shù)據(jù)相互往來時的數(shù)據(jù)編碼模式〔MODEofDATAcoding〕。MODE存放器的設(shè)置控制了MCM在與卡片數(shù)據(jù)相互通信時的數(shù)據(jù)編碼模式.MODE存放器的每一位都與數(shù)據(jù)通信模式有關(guān),但在使用MIFARE1卡時,只有最后3位〔BITS〕最為關(guān)聯(lián)。存放器名地址讀〔READ〕寫〔WRITE〕MODE07H 7N/A11000P2P1P0寫數(shù)據(jù)至MODE存放器,可以控制接收器和發(fā)生器。以下是通信時的脈沖長度〔pauselength〕〔寬度〕的計算公式:tpause=(13+P)/6.78[us]MODE存放器中的P2,P1,及P0位決定了在NPAUSE0和NPAUSE1引腳上的各自的脈沖寬度。脈沖寬度的可變*圍在2~3us之間。在使用MIFARE卡時,P2,P1,及P0位應(yīng)被設(shè)置為111b或110b。這里必須提醒讀者注意的是,當(dāng)我們使用CM200(Philiphs產(chǎn)品)時與使用SB201(UniVisionEngineeringLimited聯(lián)視工程**的產(chǎn)品)時,MODE存放器的設(shè)置值將不一樣。使用CM200(Philiphs產(chǎn)品)時,MODE存放器的設(shè)置值應(yīng)為:“11000110b〞,即C6H,但在使用SB201(UniVisionEngineeringLimited聯(lián)視工程**的產(chǎn)品)時,MODE存放器的設(shè)置值應(yīng)為:“11010110b〞,即D6H。這是兩個產(chǎn)品唯一存在的硬件上的不兼容,導(dǎo)致軟件的設(shè)置值不同。否則由于數(shù)據(jù)通信時的數(shù)據(jù)編碼模式不一樣,MCM將不能正常工作,不能讀/寫Mifare1卡片。在實際應(yīng)用中已有此經(jīng)歷教訓(xùn)。9.CRCDATA存放器,地址:08H被計算CRC的數(shù)據(jù)必須被寫入CRCDATA存放器中。計算后的CRC必須從CRCDATA存放器中讀出。存放器名地址讀〔READ〕寫〔WRITE〕CRCDATA08H 8CRC-BYTE-READCRC-BYTE-WRITE在寫入一個BYTE〔字節(jié)〕到CRCDATA存放器后,計算將開場。計算完成后,STACON存放器的CV標(biāo)志被設(shè)置。當(dāng)我們要寫下一個字節(jié)到CRCDATA存放器之前,或在讀取CRCDATA存放器以得到CRC之前,或在檢查CZ標(biāo)志之前,都必須先讀取CV標(biāo)志,檢查CV標(biāo)志。10.CRCSTACON存放器,地址:09HCRCSTACON存放器是指CRC處理器狀態(tài)和控制存放器。存放器名地址讀〔READ〕寫〔WRITE〕CRCSTACON09H 9CV------------CZC8------------CR寫數(shù)據(jù)到CRCSTACON存放器中,即執(zhí)行對CRC-處理器的控制。BitName 位名Name名稱Function功能C88-bit-CRC〔8位CRC〕“0”----選擇16位CRC處理器“1”----選擇8位CRC處理器CRECRE(CRC-復(fù)位)“0”----無效“1”----復(fù)位CRC處理器讀取CRCSTACON存放器后用戶將知道CRC-處理器數(shù)據(jù)傳輸?shù)臓顟B(tài)。當(dāng)標(biāo)志被設(shè)置為“1”BitName 位名Name名稱Function功能CRCRC-Ready〔CRC-準(zhǔn)備〕最后一個字節(jié)〔BYTE〕被處理完成CZCRC-Zero〔CRC-零〕CRC-存放器內(nèi)容=00H,意味著CRC-校驗OK8-bitCRC存放器值的多項式計算公式為:*7+*5+*4+*3+1一般其初值=0*E3H16-bitCRC存放器值多項式計算公式為:*15+*10+*3+1一般其初值=0*31E3H讀取16-bitCRC模式時的CRC存放器需要2個讀周期。第一個讀到的字節(jié)是16-bitCRC中的低字節(jié),第二個讀到的字節(jié)是16-bitCRC中的低字節(jié)。11.KEYDATA存放器,地址:0AH(10)被存儲在MCM中RAM的密碼數(shù)據(jù)必須先被寫入KEYDATA存放器。存放器名地址讀〔READ〕寫〔WRITE〕KEYDATA0AH 10N/AKEY-BYTE-WRITE為了能夠存取MCM內(nèi)部RAM中的密碼,密碼的存放地址必須首先在KEYSTACON存放器和KEYADDR存放器兩者中指定。在做存放密碼操作或做密碼驗證操作之前,首先必須對KEYSTACON存放器進(jìn)展設(shè)置;在密碼被準(zhǔn)確無誤地存進(jìn)RAM之前,相關(guān)的傳輸密碼(TransportKEY)Tkey必須被寫入KEYDATA-存放器中。傳輸密碼TKey和寫入RAM中的密碼都是6字節(jié)〔BYTE〕長,連續(xù)被寫入KEYDATA存放器中。但是,在“AUTHENCATION〞〔認(rèn)證〕操作時,這一存放器不必使用。12.KEYSTACON–存放器地址:0BH〔11〕KEYSTACON存放器是指〔密碼〕KEY狀態(tài)和〔密碼〕KEY控制存放器。存放器名地址讀〔READ〕寫〔WRITE〕KEYSTACON0BH 11
AL0****KS1KS0寫入數(shù)據(jù)到KEYSTACON–存放器進(jìn)展設(shè)置,將確定存取RAM中的密碼〔KEY〕或傳輸密碼〔KEY〕的密碼地址的一局部。存放在MCM的RAM中的密碼對程序員來說是透明的,不得而知的。因此也是不可讀的?!策@里指的是密碼本身及存放密碼的地址不可讀〕。BitName 位名Name名稱Function功能ALAuthenticate〔認(rèn)證〕/LoadKeys“0”----準(zhǔn)備提取密碼“1”----準(zhǔn)備認(rèn)證KS1,KS0Key-Set密碼集“00”----選擇RAM,KEY-set0“01”----選擇RAM,KEY-set1“10”----選擇RAM,KEY-set2“11”----選擇傳輸密碼〔TransportKEY〕提取密碼:AL=0,說明將要提取密碼;密碼認(rèn)證(Authentication): AL=1,說明將要認(rèn)證“AUTHENTICATION〞操作。RAM中的密碼和傳輸密碼TKey二者中允許被選擇。注意:KEYSTACON–存放器中的值必須根據(jù)所使用的“AUTHENTICATION〞命令〔60he*或61he*指令代碼〕來確定。此外,密碼地址通過寫數(shù)據(jù)到KEYSTACON和KEYADDR存放器之后而在MCM中被確定,之后,通過寫“命令〞〔mand〕和寫“地址〞〔address〕到DATA存放器之后,認(rèn)證密碼“AUTHENTICATION〞操作便開場啟動執(zhí)行。13.KEYADDR-存放器,地址:0CKEYADDR存放器將存放RAM〔密碼〕KEY和傳輸〔密碼〕KEY各自的密碼地址的一局部。存放器名地址讀〔READ〕寫〔WRITE〕KEYADDR0CH 12N/AALABA5A4A寫入數(shù)據(jù)到KEYADDR–存放器將確定存取MCM的RAM中的密碼〔KEY〕或傳輸密碼〔KEY〕的密碼地址的一局部。程序員不可能知道密碼實際存放在MCM的RAM中的地址,否則密碼便沒有秘密可言了。BitName 位名Name名稱Function功能ALAuthenticate〔認(rèn)證〕/LoadKEYs“0”----準(zhǔn)備提取密碼“1”----準(zhǔn)備認(rèn)證ABKEY’A’或KEY‘B’“0”----使用密碼‘A’“1”----使用密碼‘B’A5…A0KEYaddress密碼地址A5至A0指定密碼的sector提取密碼:AL=0,說明將要提取密碼;認(rèn)證Authentication: AL=1,說明將要認(rèn)證“AUTHENTICATION〞操作。14.RCODE–存放器,地址:0DH(14)RCODE–存放器用于代碼接收。存放器名地址讀〔READ〕寫〔WRITE〕RCODE0EH 14N/A****00RC1RC2寫入數(shù)據(jù)到RCODE存放器對其進(jìn)展設(shè)置,將使接收器的譯碼器參數(shù)化。BitName 位名Name名稱Function功能RC1,RC0Receive〔接收〕KOMP引腳上用于引起中斷〔“HIGH〞高電平〕的必不可少的〔脈沖〕邊界數(shù)目。RCODE–存放器中的值一般應(yīng)設(shè)置為0*02H。然而,在有些環(huán)境中,設(shè)置為0*03H時,對Mifare1卡片的操作距離可能會稍為好〔遠(yuǎn)〕一點。三. MCM硬件初始化為了與MIFARE1卡通信,必須對MCM各硬件存放器進(jìn)展初始化設(shè)置。存放器地址初始化設(shè)置(16進(jìn)制值)STACON10*0C0*4CENABLE20*C0BAUDRATE50*0EMODE70*C6或0*D6RCODE130*02一般地,應(yīng)該先對MCM執(zhí)行軟復(fù)位〔soft-reset〕,然后對MCM進(jìn)展初始化設(shè)置,再進(jìn)展數(shù)據(jù)通信。在任何數(shù)據(jù)通信之前必須先執(zhí)行“REQUEST〞命令,以和卡片建立第一步的通信聯(lián)絡(luò)。以下是MCM各硬件存放器在上電時或在軟件復(fù)位時的復(fù)位表。MCM復(fù)位表存放器地址POR硬件上電復(fù)位SOR軟復(fù)位初始化設(shè)置DATA0********uuuuuuuu
STACON100nn01000unnuu000*0C/0*4CENABLE20000nnnn0000nnnn0*C0BTS300000000uuuuuuuu
BTR400000000uuuuuuuu
BAUDRATE5Nnnn1111Nnnnuuuu0*0ETOC600000000uuuuuuuu
MODE700000000uuuuuuuu0*C6/0*D6CRCDATA8****************
CRCSTACON9****************
KEYDATA10********uuuuuuuu
KEYSTACON1100nnnn**00nnnnuu
KEYADDR12100000001uuuuuuu
13nnnnnnnnnnnnnnnn
RCODE14Nnnn0011Nnnnuuuu0*02
15nnnnnnnnnnnnnnnn
說明:上表中的POR和SOR兩列中:*:表示此位不必關(guān)注;N:表示此位沒有使用; U:表示此位不變。四.MCM的硬件內(nèi)核包括了如下幾大局部接口電路:1.與MCU(微處理機CPU)接口電路2.RF模塊接口電路3.與天線射頻接口電路4.與電源接口電路〔一〕MCM與MCU(微處理機CPU)接口電路MCM可以由標(biāo)準(zhǔn)的MCU接口信號來控制。這些標(biāo)準(zhǔn)的控制信號可以控制MCM的ASIC進(jìn)展工作。其間使用了標(biāo)準(zhǔn)的微控制器和微處理機通信協(xié)議。MCM可由外部MCU發(fā)出特殊命令來啟動運行。任何情況下,MCM都可以由對地址的選擇來啟開工作。例如,MCM的RST引腳,-CS引腳和CS引腳的信號設(shè)置等。對MCM內(nèi)部存儲器的存取,意味著將激活-CS和CS信號,以及對地址為00H~~0FH的存放器的適宜的設(shè)置。通過讀特殊I/O地址的信息,可以得到MCM的狀態(tài)信息。采用不同的MCU及其連接方法,將會有不同的硬件信號時序及數(shù)據(jù)信息流信息等。CS
MCU
控
MCU
控
制
器
MCM
模
塊-RD-WRMODEUSEALEALE-IRQA(0-3)D(0-7)〔二〕RF模塊接口電路MCM與RF模塊的接口一般有如下幾個引腳來實現(xiàn):通過KOMP0與NPAUSE0可與RF0模塊相連接;通過KOMP1與NPAUSE1可與RF1模塊相連接;〔僅有MCM500有RF1〕通過R*KOMP與T*NPAUSE可與其他的級聯(lián)MCM模塊相連接;PAUSE0KOMP0PAUSE0KOMP0
RF0模塊天線RF0模塊天線PAUSE1KOMP1
RF1模塊(僅MCM500有〕MCM模
塊RF1模塊天線PAUSE1KOMP1
RF1模塊(僅MCM500有〕MCM模
塊RF1模塊天線〔三〕與天線射頻接口電路有二個引腳ANT和GND接口可直接與正極性天線相聯(lián)接。其間用同軸電纜
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人研修心得感悟
- 會計電算化專業(yè)求職信范文
- 亞運會心得體會
- 中職學(xué)校開學(xué)典禮教導(dǎo)主任精彩講話稿(5篇)
- 個人情緒管理心得體會范文(19篇)
- 動物聚餐課件教學(xué)課件
- 探究天然植物制備酸堿指示劑及其pH范圍
- 慢性支氣管炎臨床路徑
- 學(xué)校教職工代表大會規(guī)定
- 航空航天用1100MPa MJ螺紋花鍵頭螺栓 征求意見稿
- 2024-2030年飛機內(nèi)部緊固件行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2023~2024學(xué)年第一學(xué)期高一期中考試數(shù)學(xué)試題含答案
- 企業(yè)信用修復(fù)服務(wù)協(xié)議
- 部編人教版三年級語文上冊期中測試卷5份(含答案)
- 江蘇銀寶控股集團限公司公開招聘高頻難、易錯點500題模擬試題附帶答案詳解
- 期中測評試卷(1-4單元)(試題)-2024-2025學(xué)年人教版三年級數(shù)學(xué)上冊
- 2023年國家公務(wù)員錄用考試《行測》行政執(zhí)法卷-解析
- 城市軌道交通脫軌事故應(yīng)急預(yù)案
- 2024新版七年級英語單詞表
- 2024年廣東省高職高考語文試卷及答案
- 2024至2030年中國眼部護理行業(yè)運營現(xiàn)狀與未來需求趨勢分析報告
評論
0/150
提交評論