




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
非接觸式IC卡技術電子與信息工程學院提綱非接觸式IC卡概述系統構成/分類/國際標準非接觸式IC卡工作原理
能量傳遞/信息傳遞/防沖突非接觸式IC卡芯片技術
MIFARE1非接觸式IC卡接口技術MIFARE1為什么要使用非接觸式IC卡?在頻繁操作的場合,如門禁、考勤、小額電子錢包(公交收費、食堂收費、高速公路收費、停車場收費)、身份認證等場合,接觸式IC卡越來越明顯的暴露出其弊端:容易磨損操作速度慢使用不方便什么是非接觸式IC卡?
ContactlessICC非接觸式IC卡是在卡中敷設天線,利用天線的接收發射,與讀寫器的天線交換信號,實現一種無線通訊,非接觸式IC卡又被稱為射頻卡(RFC——RadioFrequencyCard),簡稱RF卡,非接觸式IC卡系統被稱為射頻識別系統(RFID——RadioFrequencyIdentification)。非接觸式IC卡系統構成非接觸式IC卡:數據載體,應答器非接觸式IC卡讀寫器:卡接口設備,閱讀器,尋呼器
非接觸式IC卡的基本構成
非接觸式IC卡:芯片+天線+卡基非接觸式IC卡讀寫器的構成高頻模塊(發送器和接收器)、控制單元耦合元件(天線)
非接觸式IC卡的特點
可靠性高、壽命長。
非接觸式IC卡與讀寫器之間無機械接觸,避免了由于接觸讀寫而產生的各種故障。非接觸式ID卡表面無裸露的芯片,無須擔心芯片脫落、靜電擊穿、彎曲、損壞等問題,既便于卡片的印刷,又提高了卡片使用的可靠性。
操作快捷便利。動態處理。成本較高。非接觸式IC卡的分類按片內IC:存儲卡、邏輯加密卡、CPU卡按工作距離:密耦合卡、近耦合和疏耦合卡
按工作頻率的高低:125kHz的低頻卡(30kHz~300kHz),13.56MHz的高頻或射頻卡(3MHz~30MHz),915MHz、2.45GHz的超高頻卡(300MHz~3GHz)、5.8GHz的微波卡(>3GHz)。
按卡內芯片供電方式:卡內帶電池的有源卡和卡內無電池、由讀寫器以無線感應方式供電的無源卡
按使用過程中的讀寫方式:只讀卡(ID卡)和讀寫卡(帶EEPROM)EMID厚卡卡EMID薄卡卡PHILIPSMIFARE1卡TI((德州儀儀器)Tag-it電電子標簽簽手表卡與與鑰匙扣扣卡特點頻段工作頻率數據傳輸速率讀寫距離讀寫區域低頻125~134KHz慢適中(<1m)較為均勻高頻13.56MHz較快適中(<1m)較為均勻超高頻860~960MHz快遠(<10m)很難定義不同頻段段射頻卡卡的特點點非接觸式式IC卡卡的國際際標準標準組織陣營頻段技術規范EPCglobal全球產品電子代碼管理中心
歐美企業沃爾瑪、思科、敦豪快遞、麥德龍和吉列等UHF(860-960MHz)電子產品代碼(EPC)、電子標簽規范和互操作性、識讀器-電子標簽通信協議、中間件軟件系統接口等ISO/IEC國際標準組織/國際電工委員會
全球非盈利工業標準組織多個頻段識別卡與身份識別ISO/IEC14443自動識別ISO/IEC15693ISO/IEC18000UID泛在技術核心組織日本電子廠商、IT企業2.45GHz和13.56MHz電子標簽超微芯片部分規格
注釋:ICC———集成成電路卡卡CICC——Close-CoupledICC,緊緊密(密密耦合))卡;PICC——ProximityICC,稱為為接近((近耦合合)卡;;VICC———VicinityICC,稱為為鄰近(疏耦耦合)卡。CD——CouplingDevice,,是讀寫器中中發射電磁波波的部分ISO/IEC14443國際標準準現階段ISO/IEC14443(草案)主要要有兩個體系系并存:ISO/IEC14443-TypeA、ISO/IEC14443-TypeB。TypeA::以PHILIPS公司為代表,,包括SIEMENS、HITACHI、GEMPLUS、G&D和Schlumberger等公司TypeB::以ST(意法半導體體)、MOTOROLA、ATMEL、韓國SAMSUNG和日本的NEC等公司為代表表。ISO/IEC18000國際標準準18000-1:物理層層18000-2:低于135KHz通信的空中中接口的參數數;18000-3:在13.56MHz通信的空空中接口的參參數;18000-4:在2.45GHz通信的空中中接口的參數數;18000-5:5.8GHz通信信的空中接口口的參數;18000-6:860-960MHz通信的的空中接口的的參數;18000-7:433MHz通信信的空中接口口的參數;目前13.56MHz的的產品主要包包括:ISO14443TypeA卡———Mifare1S50卡、UltraLight卡LEGICTypeA卡卡、上海公公交卡即華虹虹IC卡、復復旦微電子TypeA卡ISO14443TypeB卡———ATMELRF020ISO15693(電子子標簽)卡———PHILIPSI-Code2、TITag-it標簽I-CODE(電子標簽簽)卡——PHILIPSI-Code、、上海貝嶺BL75R02SONYFelica卡——香港港八達通、深深圳通中國二代身份份證目前125KHz的產品品主要包括::技術指標
EM4100/4102標準卡4001感應式ID厚卡
8803感應式ID厚卡芯片SwatchGroupEm4102Wafer臺灣4001COB臺灣8803Wafe工作頻率125KHZ125KHZ125KHZ感應距離2-20cm2-20cm2-20cm
尺寸85.5x54x0.82mm85.5x54x2mm85.5x54x1.05mm封裝材料PVC、ABSPVC,ABSPVC封裝工藝層壓封裝手工粘貼手工層壓號碼可選連號噴碼
典型應用考勤系統、門禁系統、企業一卡通系統等考勤系統、門禁系統、企業一卡通系統等考勤系統、門禁系統、企業一卡通系統等此外,還包括括ATMEL的TEMIC卡系列、、TI的低頻頻標簽、HITAG卡等等。非接觸式IC卡工作原理理要解決的三大大問題:(1)非接觸卡如如何取得工作作電壓。(2)讀寫器與IC卡之間如何交交換信息。(3)防沖突問題題:多張卡同同時進入讀寫寫器發射的能能量區域(即即發生沖突))時如何對卡卡逐一進行處處理。非接觸式IC卡與讀寫器器接口電路(1)讀寫器器發射激勵信信號(一組固固定頻率的電電磁波),數數字信息調制在該射頻信號號上。(2)IC卡卡進入讀寫器器工作區內,,被讀寫器信信號激勵。在在電磁波的激激勵下,卡內內的LC串聯聯諧振電路產產生共振,從從而使電容內內有了電荷,,當所積累的的電荷達到2V時,此電電容可以作為為電源為其他他電路提供工工作電壓,供供卡內集成電電路工作所需需。(諧振、整流流、濾波、穩穩壓)。(3)同時卡卡內的電路對對接收到的諧諧振信號進行行解調,還原數字信信息,對信息息進行分析處理,判斷發自讀讀寫器的命令令,如需在EEPROM中寫入或修修改內容,還還需將2V電電壓提升到15V左右,,以滿足寫入入EEPROM的電壓要要求。(4)IC卡卡對讀寫器的的命令進行處處理后,發射應答信息息(將應答信息息調制到射頻信號上上)給讀寫器器。(5)讀寫器器接收IC卡的射頻頻信號并進行解調還原出應應答信息。初始化與防沖沖突(AntiCollion)如果有2張或2張以上的IC卡進入讀寫器器的工作范圍圍,稱之為沖沖突(或碰撞撞Collion),此時就需需要解決如何何對多張IC卡逐一處理的的問題——防沖突AntiCollion。防沖突方案::位幀防沖突((BitAntiCollision)動態時隙-ALOHA法法(Slotted-ALOHA法法)項目引入———IC卡公交交收費機定額收費操作方便快捷捷可顯示余額非法卡或余額額不足報警可將當班收款款額上傳總站站數據庫總站可調整定定額額度??ㄟz失可掛失失。項目設計之一一——卡型選選擇接觸式邏輯加加密卡——SLE4406非接觸式ID卡——EM的4001卡非接觸式邏輯輯加密卡——PHILIPS的Mifare卡操作不方便沒有加密邏輯輯,不安全容易實現定額額收費,操作作方便快捷,,安全性高,,通用性強Mifare1非接觸觸式IC卡基本性能指標標:卡內器件:無線智能卡芯芯片MifareMF1ICS50+天線線圈標準:遵從ISO/IEC14443TypeA標準工作頻率:13.56MHz數據傳送速率率:106kbit/s((9.4μs/bit))Mifare卡與讀寫器之之間的信號Mifare卡的信號調調制方式TypeA與TypeB調制程程度的比較TYPEA:100%ASKTYPEB:10%ASK從讀寫器到卡卡的調制與編編碼載波:fc=13.56MHz數據傳輸速率率:13.56MHz/128=106kbit/s(9.4μs/bit)調制方式:TYPEA用100%ASK,TYPEB用10%ASK,編碼方式:TYPEA用改進的MILLER編碼,TYPEB用NRZ編編碼(不歸零零制數位編碼碼)從卡到讀寫器器的調制與編編碼副載波:fc/16=847.5kHz數據傳輸速率率:106kbit/s調制方式:副副載波調制編碼方式:TYPEA用MANCHESTER-ASK,TYPEB用BPSK-NRZ(二進進制相移鍵控控數位編碼)Mifare1卡片的的存儲結構存儲容量:1024×8位字長(即1KB),存儲介質:EEPROM分為16個扇區(扇區區0~15))每個扇區有4個塊(Block)塊0、塊1、塊2和塊3。每個塊有16個字節。一個扇區共有有16Byte×4=64Byte塊功能詳解1)廠商塊地址:扇區0塊0內容:IC卡卡廠商標志。。其中:第0~4個字節為卡序序列號SN,第5個字節為序列列號的校驗碼碼;第6個字節為卡容容量字節“SIZE”;第7,8個字節為卡類類型號Tagtype;特性:基于保保密性和系統統的安全性,,這一塊在IC卡廠商編編程之后被置置為寫保護,,因此該塊不不能再復用為為應用數據塊塊。例:420A7E00368804004481740630373937H序列號SN::420A7E00H+校驗碼36H容量字節SIZE:88H卡類型號TagType:0400H塊功能詳解2)數據塊每扇區3個數數據塊(扇區區0只有2個個),每塊16字節??煽捎蓞^尾塊中中的存取控制制位(accessbits)配配置為:讀寫塊:用作作一般的數據據保存,可用用讀/寫命令令直接讀/寫寫整個塊值塊:用作數數值塊,可以以進行初始化化值、加值、、減值、讀值值的運算,相相應配用的命命令為INC/DEC/RESTORE/TRANSFER命令。通常數據塊中中的數據都是是需要保密的的數據,對這些數據的的讀/寫/加值/減值均需:符符合該塊存取取條件的要求求+通過該扇扇區的密碼認認證。塊功能詳解3)區尾塊每個扇區的塊塊3為區尾((SectorTrailer))塊:KEYA((6B)+Accessbits(4B)+KEYB(6B))例:A0A1A2A3A4A5FF078069B0B1B2B3B4B5密鑰A:A0A1A2A3A4A5H((缺省值)密鑰B:B0B1B2B3B4B5H((缺省值)存取控制位::FF078069H((缺省值)Mifare1卡存存取控制與數數據區的關系系Accessbits(存取控制制位):定義義該扇區中4個塊的訪問問條件,及定定義數據塊的的類型(讀寫寫或值)Mifare1卡出廠初始化化時,所有扇扇區塊3的初始化值均均為A0A1A2A3A4A5FF078069B0B1B2B3B4B5卡初始化后的的存取控制條條件為:密碼A永不可讀,校校驗密碼A或密碼B正確后可以以修改;密碼B在校驗密碼碼A或密碼B正確后可讀讀,可修改改;數據塊在校校驗密碼A或密碼B正確后可讀讀,可修改改。小結:MIFARE1卡特特點一EEPROM存儲器器結構提供供多應用::1K字節EEPROM,16個扇區區,4數數據塊/扇區,16字節/塊。用戶戶可以定義義每一個存存儲器塊的的訪問條件件。每個扇扇區(每應應用)擁有各自獨立的密鑰鑰,支持帶帶密鑰層次次的多應用用。Mifare1卡卡的密碼碼認證方式式Mifare1卡的密碼的的認證采用用了三次相相互認證的的方法,具具有很高的的安全性。。(A)環::Mifare1卡向讀讀寫器發送送一個隨機機數據RB;(B)環::讀寫器器收到RB后向Mifare1卡片片發送一個個令牌數據據TOKENAB=用讀寫寫器中存放放的密碼加加密后的RB+讀寫寫器發出的的一個隨機機數據RA;(C)環::Mifare1卡片收收到TOKENAB后后,用卡中中的密碼對對TOKENAB的加密的的部分進行行解密得到到RB’,,并校驗第第一次由((A)環中中Mifare1卡片發出出去的隨機機數RB是是否與(B)環中接接收到的TOKENAB中中的RB’’相一致;;若讀寫器器與卡中的的密碼及加加/解密算算法一致,,將會有RB=RB’,校驗驗正確,否否則將無法法通過校驗驗;(D)環環:如果果(C)環環校驗是正正確的,則則Mifare1卡片用卡卡中存放的的密碼對RA加密后后發送令牌牌TOKENBA給讀寫器器;(E)環::讀寫器器收到令令牌TOKENBA后,用用讀寫器中中存放的密密碼對令牌牌TOKENBA中的RA(隨機數數)進行解解密得到RA’;并并校驗第一一次由(B)環中讀讀寫器發出出去的隨機機數RA是是否與(D)環中接接收到的的TOKENBA中的RA’相一致致;同樣,,若讀寫器器與卡中的的密碼及加加/解密算算法一致,,將會有RA=RA’,校驗驗正確,否否則將無法法通過校驗驗;(A)環::Mifare1卡取隨隨機數RB=1100,KEY1=1010,,加密/解密密算法:異異或,發送送RB給讀讀寫器(B)環::讀寫器器取隨機數數RA=0011,,KEY2=1010,加密/解密密算法:異異或,接收收RB對RB加密密:TOKENB=RB異或或KEY2=0110,發送送TOKENB+RA(C)環::Mifare1卡片對對TOKENB解解密:RB‘=TOKENB異或KEY1=1100=RB,,校驗正確確;(D)環環:Mifare1卡片片對RA加加密TOKENA=RA異或KEY1=1001;;(E)環::讀寫器器收對TOKENA解密密:RA’=TOKENA異或KEY2=0011=RA,,校驗正確確小結:MIFARE1卡特特點二高保密性::全球唯一SN;密鑰及傳輸輸密碼保護護,各扇區區密碼獨立立且有三套套(KEYSET0、1、2)二個((KEYA、KEYB))密碼。密碼認證采采用三次相相互認證;;存取控制位位保護,用戶可以定定義每一個個存儲器塊塊的訪問條條件RF信道數數據加密Mifare1非非接觸式IC卡功能能組成POWEROFF狀態IDLE狀狀態READY狀態ACTIVE狀態HALT狀狀態RESETREQUEST命命令ANTICOLLISION命令啟動防沖突突循環讀取卡回送送的UID(SN))HALT命命令SELECTUID命令應用:AUTENTICATION/READ/WRITE/INC/DEC命令令WAKEUP命令MIFARE卡防沖突流程程小結:MIFARE1卡特特點三真正的防沖沖突:卡芯片與讀讀寫芯片中中都內嵌防防沖突模塊塊,可實現現真正的((硬件)防防沖突,可可高速識別別天線范圍圍內的多張張卡。小結結::MIFARE1卡卡其其他他特特點點高可可靠靠性性::無線線通通訊訊鏈鏈路路使用用各各種種校校驗驗機制制確確保保數數據據可可靠靠傳傳輸輸用戶戶更更方方便便:卡芯芯片片中中內內建建有有增增值值/減減值值的的專專項項數數學學運運算算電電路路,,非非常常適適合合公公交交/地地鐵鐵等等行行業業的的定定額額收收費費系系統統實訓訓5MIFARE1卡卡的的讀讀寫寫操操作作與與存存儲儲結結構構按標標志志連連接接非非接接觸觸式式IC卡卡讀讀寫寫器器的的電電源源線線,,電源源指指示示燈燈閃閃亮亮一一下下表表示示連連接接正正確確。。注意意電電源源+5V與與地地不不可可接接反反。。按標標志志連連接接非非接接觸觸式式IC卡卡讀讀寫寫器器與與PC機機間間的的通通信信線線,,打打開開MIFARE系系列列非非接接觸觸式式IC卡卡演演示示軟軟件件MWRF,,確確認認通通信信正正常常。。裝載載密密碼碼((LoadKey))操操作作:在RFDEMO軟軟件件界界面面中中選選擇擇密密碼碼集集0((KEYSET0)),,密密碼碼A((KEYA)),,將將扇扇區區0-14的的密密碼碼A設設置置為為全全F,,而而將將扇扇區區15的的密密碼碼A設設置置為為全全0。。啟啟動動密密碼碼下下載載,,下下載載過過程程中中紅紅色色指指示示燈燈點點亮亮;;下下載載完完畢畢后后紅紅色色指指示示燈燈熄熄滅滅。。MIFARE1卡卡讀寫寫操作作:將MIFARE1卡按按任意意方向向置入入MIFARE開發發板天天線有有效工工作范范圍內內,對對MIFARE1卡的的扇區區0、、1和和15的塊塊0、、1、、2進進行讀讀/寫寫操作作。記記錄讀讀取的的卡數數據,,標明明各塊塊的類類型及及卡的的類型型號、、序列列號、、容量量及各各扇區區的密密碼和和訪問問權限限。注意::不得得隨意意修改改各扇扇區塊塊3的的數據據,特特別是是訪問問權限限字節節,以以免造造成扇扇區被被鎖死死。防沖突測試試(1)分別別讀出并記記錄二張MIFARE1卡卡(分別記記為1#卡卡、2#卡卡)的序列列號,及其其扇區0塊塊1的內容容,記錄在在報告上。。(2)將二二張MIFARE1卡同時時放置在讀讀寫器天線線有效工作作范圍內,,在RFDEMO軟軟件中執行行讀操作,,根據讀出出的SN找找出被選中中的卡(例例如為1#卡)。(3)在RFDEMO軟件中中執行寫操操作,修改改扇區0塊塊1的內容容并將數據據記錄在報報告上。(4)將被被選中的卡卡撤離讀寫寫器天線有有效工作范范圍,讀出出另一張卡卡(例如2#卡)的的扇區0塊塊1的內容容,并將數數據記錄在在報告上。。(5)取走走(4)中中的卡,重重新讀出并并記錄被選選中的卡的的扇區0塊塊1的數據據,并記錄錄在報告上上。(6)比較較上述實驗驗數據,說說明MIFARE1卡是否具具備防沖突突功能。存取控制設設置:(1)讀出出并記錄扇扇區14塊塊0的內容容;修改內內容并再次次讀出,記記錄修改后后的內容。。說明該塊塊的存取控控制條件。。(2)修改改扇區14的存取控控制字節,,將扇區14塊0設設置為校驗驗密碼A/B正確可可讀,永不不可修改。。其他各塊塊條件不變變。(3)重復復(1),,說明修改改存取控制制字節產生生的結果。。(4)將存存取控制位位恢復為默默認值。注意:嚴禁禁修改對塊塊3的設置置,否則容容易錯誤將將存取控制制位設為永永不可寫,,將無法恢恢復為默認認值。C2X3_bC2X2_bC2X1_bC2X0_bC1X3_bC1X2_bC1X1_bC1X0_bC1X3C1X2C1X1C1X0C3X3_bC3X2_bC3X1_bC3X0_bC3X3C3X2C3X1C3X0C2X3C2X2C2X1C2X0BX7BX6BX5BX4BX3BX2BX1BX0存取控制位位的結構11111111000001111000000001101001存取控制位位對塊3的的控制結構構密碼A密碼A存取控制存取控制密碼B密碼BC1X3C2X3C3X3readwritereadwritereadwrite000neverKEYA|BKEYA|BneverKEYA|BKEYA|B010neverNeverKEYA|BneverKEYA|Bnever100neverKEYBKEYA|BneverneverKEYB110neverNeverKEYA|Bnevernevernever001neverKEYA|BKEYA|BKEYA|BKEYA|BKEYA|B011neverKEYBKEYA|BKEYBneverKEYB101neverNeverKEYA|BKEYBnevernever111neverNeverKEYA|Bnevernevernever存取控制位位對數據塊塊的控制結結構C1XYC2XYC3XYReadWriteIncrementDecr,Transfer,restore000KEYA|BKEYA|BKEYA|BKEYA|B010KEYA|Bnevernevernever100KEYA|BKEYBnevernever110KEYA|BKEYBKEYBKEYA|B001KEYA|BneverneverKEYA|B011KEYBKEYBnevernever101KEYBnevernevernever111Nevernevernevernever查表3:C1X0=0,C2X0=1,C3X0=0,,其他位不變變。對照表1::存取控制制字節=EF078169H將扇區14塊3的內內容修改為為FFFFFFFFFFFFEF078169FFFFFFFFFFFF項目設計之之二——硬硬件設計MCUMIFARE卡讀寫模塊EEPROM存儲器RS232接口顯示報警天線卡Mifare核心心讀寫模塊塊MCM功能:讀寫器MCU與MIFARE卡之之間的接口口,負責讀讀寫卡,其其基本功能能包括產生生發送/接接收射頻信信號、調制制/解調、、防沖突處處理和安全全管理。工作頻率::13.56MHz。通信速率率:106Kbps工作距離::MCM200———25mm,MCM500———100mm防沖突:真真正的防沖沖突功能。。安全性與可可靠性:每每個扇區設設有3套密碼及其其認證和密密碼存儲器器,模塊與卡片片通信時,,數據加密密,多種通信信校驗機制制接口:標準準MIFARE并行行接口MCM與MCU接口口電路直接用數據據總線傳送送地址和數數據:MODE、USEALE接高電平,,ALE對接;A0~A3懸懸空P3.3驅動-CS,即P3.3為低時選中中(激活))MCM200模塊MCM200的-IRQ接接P3.2;可用查詢詢或中斷方方式接收MCM發送送的數據項目設計之之三——軟軟件設計讀寫器與M1卡交換換數據的過過程:1)由讀寫寫器MCU(微控制器器)發送指指令給MCM,2)MCM執行指令并并將其轉換換為射頻信信號發送給給卡;3)卡接收收到來自MCM的指令后,,按指令完完成其內部部的各種處處理,并回回送應答信信號/數據給MCM;4)MCM接收收卡回送送的射頻頻信號并并將其轉轉換為數數字信號號輸出給給MCU,讀寫寫器MCU讀取MCM接收到的的應答/數據,即即可完成成與M1卡的數據據交換。。MCM基本通信指令集MCM內核特殊寄存器MIFARE卡的讀寫操操作步驟激活MCMMCM軟復位向MCM下載密碼(LOADKEY),校驗傳輸輸密碼正確后后可向MCM的KEY-RAM寫入用戶自己己設定的密碼碼,以上操作作與卡無關。。請求應答(ANSWERTOREQUEST):尋卡防沖突(ANTICOLLISION):選擇唯一一一張卡選擇標記(SELECT):激活所選選擇的卡認證(AUTHENTICATION)):安全性讀寫操作(讀讀、寫、加值值、減值)::交換數據(READ/WRITE/INCREAMENT/DECREMENT)停止(HALT):置卡為停停止模式,防防止重復操作作。SOR/LOADKEYREQUESTANTICOLLISIONREAD/WRITE/INC/DECHALTMIFARE卡操作步步驟AUTHENTICATIONSELECT卡應答:TAGTYPE(2B)卡應答:SN(4B)+校驗碼(1B)卡應答:SIZE(1B)卡應答:AE位指令時序每個指令由7個基本步驟組組成,必須按按此時序編程程才能完成該該指令:(1)初始化化,設置各寄寄存器,特別別是BCNTS和BCNTR。(2)送指令令碼到DATA,由MCM發送指令。(3)設置TOC,MCM準備接收來自自卡的應答或或數據。(4)檢查DV標志,查詢數數據接收是否否完成。DV標志為”1”表明MCM與MIFARE卡片之間的傳傳輸已經完成成,并且主處處理機可能已已經從MCM中收到數據,,可以進行下下一步操作。。而DV=0表示數據接收收尚未完成或或未能接收到到數據,則程程序循環檢測測DV標志直至DV=1。有一種情況況例外,既當當定時器溢出出時,無論接接收是否完成成DV都將被設置為為1,同樣將進行行下一步操作作。(5)清零TOC。(6)檢查出錯標志志,若有標志志被設置,則則進行相應的的出錯處理,,例如設置出出錯標志等,,并返回主程程序;若沒有有標志被設置置,表示接收收正確,將進進行下一步操操作(7)MCU從DATA讀出MCM接收到的應答答或數據。AnswertoRequest(請求求應答)指令令Request指令將通知MCM在天線有效的的工作范圍((距離)內尋尋找MIFARE1卡。命令碼:26H或52H。卡收到該指令令將回送卡類類型號作為卡卡應答:TAGTYPE(2個字節)Witha“requeststd”(26H)instructiononlycardswhicharenotsetintoa“HALT-mode”willrespondtothisrequest,oritmaybeexpandedtoallcardsinthefieldwitha““requestall”(52H)option.ThefirstoptionisneededtopreventtheMCMfromselectingonecardseveraltimes.Differencebetween“requeststd””&““requestall””Request:NOPNOPMOVA,#0CH;;設置置STACONMOVR0,,#01HMOVX@R0,,AMOVA,#0EH;;設置置BAUDRATEMOVR0,,#05HMOVX@R0,,AMOVA,#0C0H;;設置置ENABLEMOVR0,,#02HMOVX@R0,,AMOVA,#0C6H;;設置置MODEMOVR0,,#07HMOVX@R0,,AMOVA,#0CH;;再次次設置置STACONMOVR0,,#01HMOVX@R0,,AMOVA,#02H;;設置置RCODEMOVR0,,#0EHMOVX@R0,,AMOVA,#07H;;設置置BCNTS=7bitsMOVR0,,#03HMOVX@R0,,AMOVA,#10H;;設置置BCNTR=2BytesMOVR0,,#04HMOVX@R0,,AJUDGE_COMMAND:;;選選擇REQSTD還是是REQALLMOVA,R2XRLA,#01HJNZRQT_STDRQT_ALL:MOVA,#52HSJMPRQT_NEXTRQT_STD:MOVA,#26HRQT_NEXT::MOVR0,,#00H;;發送送命令令碼MOVX@R0,,ANOPMOVA,#0AH;;設設置TOC=1msMOVR0,,#06HMOVX@R0,,ARQT_STACON::MOVR0,,#01H;;讀讀STACONMOVXA,,@R0JNBACC.7,RQT_STACON;;判判斷DV=1?MOVR7,,A;;暫存存STACONMOVA,#00H;;清零零TOCMOVR0,,#06HMOVX@R0,,AMOVA,R7;;判判斷是是否出出錯JBACC.6,,RQT_TE_ERRJBACC.3,,RQT_BE_ERRMOVR0,,#00H;;讀讀TAGTYPEMOVXA,,@R0MOV20H,AMOVR0,,#00HMOVXA,,@R0MOV21H,AMOVB,#00H;;設置置OK標標志志SJMPRQT_EXITRQT_BE_ERR::;;錯誤誤處理理MOVB,#01HSJMPRQT_EXITRQT_TE_ERR::MOVB,#02HSJMPRQT_EXITRQT_EXIT::RETAntiCollision防防沖沖突如果果有有多多于于一一張張的的Mifare1卡處處在在MCM天線線的的有有效效工工作作范范圍圍((距距離離))內內,,則則發發生生了了沖沖突突。。AntiCollision操操作作使MCM能在在多多張張Mifare1卡中中選選擇擇某某一一張張卡卡。。AntiCollision操操作作由由一個個AntiCollisionLoop(防防沖沖突突循循環環,,內內部部處處理理))來來實實現現。。設設置置STACON寄存存器器中中的的AC位啟啟動動AntiCollision循環環。。MCM發發送送AntiCollision命命令令((93H+20H)),,每張張天天線線范范圍圍內內的的MIFARE1卡卡接接收收AntiCollision命命令令后后,,都都將將回回送送自自己己的的SN作作為為應應答答。。由于于每每張張卡卡的的SN各各不不相相同同,,MCM接接收收到到的的信信息息((即即SN))至至少少有有1位位即即是是0又又是是1((即即該該位位的的前前、、后后半半部部都都有有負負載載波波調調制制)),,防防沖沖突突循循環環找找到到第第1個個沖沖突突位位將將其其置置1((排排除除該該位位為為0的的卡卡)),,然然后后查查第第2個個,,依依次次排排除除,,最最后后不不再再有有沖沖突突的的SN即即為為最最后后讀讀取取的的SN。。Anticollision::NOPNOPMOVA,,#0CHSETBACC.0;;設設置置AC=1,,啟啟動動防防沖沖突突MOVR0,,#01HMOVX@R0,,AACALLDELAY_500μμs;;延延遲遲1000μμsACALLDELAY_500μμsMOVA,,#10H;;設設置置BCNTS為為2BytesMOVR0,,#03HMOVX@R0,,AMOVA,,#28H;;設設置置BCNTR為為5BytesMOVR0,,#04HMOVX@R0,,AMOVA,,#93H;;發發送送命命令令碼碼MOVR0,,#00HMOVX@R0,,AMOVA,,#20H;;發發送送NVBMOVR0,,#00HMOVX@R0,,AMOVA,,#0AH;;設設置置TOC為為1msMOVR0,,#06HMOVX@R0,,AANTI_STACON::MOVR0,,#01H;;讀讀STACONMOVXA,,@R0JNBACC.7,,ANTI_STACON;;判判斷斷DV=1?MOVR7,,A;;暫暫存存STACONMOVA,,#00H;;清清零零TOCMOVR0,,#06HMOVX@R0,,AMOVA,,R7;;判判斷斷是是否否出出錯錯JBACC.6,ANTI_TE_ERRJBACC.3,ANTI_BE_ERRMOVR7,,#04HMOVB,#00HMOVR1,,#30H;;設設置片內內RAM的SN暫存區區首地址址MOVR0,,#00HANTI_LOOP::MOVXA,,@R0;;讀入入4字節節SN并并逐一異異或MOV@R1,AXRLB,AINCR1DJNZR7,ANTI_LOOPMOVXA,,@R0;;讀入入1字節節校驗碼碼XRLA,B;;用用校驗碼碼異或校校驗SNJNZANTI_CHK_ERR_EXIT;;校校驗出錯錯MOVB,#00H;;設置置OK標標志AJMPANTI_BACKANTI_TE_ERR:;;錯誤誤處理MOVB,#01HAJMPANTI_BACKANTI_BE_ERR:MOVB,#0AHAJMPANTI_BACKANTI_CHK_ERR_EXIT:MOVB,#08HANTI_BACK::RETSelectTag選擇擇卡片操操作SelectTag操作將選中AntiCollision操作所所讀取的的SN對對應的卡,使該該卡進入入激活狀狀態,只只有該卡卡才能進進行后續續的認證證及訪問問操作。。MCM發發送Select命令(93H+70H+SN及及校驗碼碼)卡接收該該命令后后將MCM發送的SN與自己的的序列號號比較,,若一致致則該卡卡被激活活(ACTIVE),其他他卡則仍仍留在READY狀態。被被選擇((激活))的卡將將回送其其容量((SIZE)字節作為為應答。。SELECT::MOVA,#0CHMOVR0,,#01HMOVX@R0,AMOVA,#0F0H;;設置ENABLEMOVR0,,#02HMOVX@R0,AMOVA,#38H;;設置BCNTS=7BytesMOVR0,,#03HMOVX@R0,AMOVA,#08H;;設置BCNTR=1ByteMOVR0,,#04HMOVX@R0,AMOVA,#93H;;發送命命令碼MOVR0,,#00HMOVX@R0,AMOVA,#70H ;發發送NVBMOVR0,,#00HMOVX@R0,AMOVR7,,#04HMOVB,#00HMOVR0,,#00HMOVR1,#40H;SN暫存存區首地址址SELECT_WRT_LOOP:MOVA,@R1 ;取取出ANTICOLLISION指令令讀取的SN字節MOVX@R0,,A;;發送SN字節給卡卡XRLB,A;;SN字節相異異或生成校校驗碼INCR1DJNZR7,SELECT_WRT_LOOPMOVA,BMOVX@R0,,A;;發送送校驗碼MOVA,#0AH;;SETTOCMOVR0,#06HMOVX@R0,,ASEL_RD_STACON_AGAIN:;;READSTACONMOVR0,#01HMOVXA,@R0JNBACC.7,SEL_RD_STACON_AGAIN ;判斷斷DV=1?MOVR6,A;;暫存STACONMOVA,#00H;;清零零TOCMOVR0,#06HMOVX@R0,,AMOVA,R6;;判斷是是否出錯JBACC.6,,SEL_TE_ERRJBACC.5,,SEL_PE_ERRJBACC.3,,SEL_BE_ERRJBACC.4,,SEL_CE_ERRMOVR0,#00H;;讀讀取SIZE字節MOVXA,@R0MOV22H,A;;SIZE字節存存入22HMOVB,#00H;;設置置OK標標志SJMPSEL_EXITSEL_TE_ERR:;;錯錯誤處理MOVB,#01HLJMPSEL_EXITSEL_PE_ERR:MOVB,#05HLJMPSEL_EXITSEL_CE_ERR:MOVB,#02HLJMPSEL_EXITSEL_BE_ERR:MOVR7,#0AHLCALLD500USMOVB,#0BHSEL_EXIT::RETAuthentication認證證操作MCM中設設有專用的的密碼存儲儲器(KEY-RAM),用用于存儲3個密碼集集KEYSET0,,KEYSET1,,KEYSET2,,每一個KEYSET又包含含了各個扇扇區的KEYA及及KEYB。Authentication操作就就是將KEY-RAM中的密密碼與卡中中對應的密密碼進行三三次相互認認證。Authentication操作的的卡應答以以AE位給給出;AE=1,,密碼出錯錯,未能通通過認證;;AE=0,,密碼正確確,通過認認證Authetication操作包括括3個步驟驟1)設置KEYSTACON寄存器,,指定Authetication操操作及KEYSET(0、1或2)2)設置KEYADDR寄存存器,指定定Authetication操作、、KEYA或KEYB、待認認證的扇區區號3)寫“命命令”(60H或61H)和和寫“地址址”(扇區區號0~15)到DATA寄寄存器,啟啟動Authetication操作作。READ/WRITE操作READ/WRITE均需整整塊操作。。READ::發送命令碼碼30H+塊地址((0~63)接收指定塊塊的數據((16B))通常用2次次讀并比較較是否一致致來校驗是是否正確讀讀WRITE:發送命令碼碼A0H+塊地址(0~63)接收ACK/NAK應答來校校驗是否正正確接收命命令發送塊數據據(16B)接收ACK/NAK應答來校校驗是否正正確寫入EEPROMValueOperate值操作作MIFARE卡專門為公公交/地鐵鐵等行業的的定額收費費系統設有有值操作命命令,包括括INCREAMENT/DECREAMENT/TRANSFER/RESTORE對某塊進行行值操作的的前提是該該塊已被初初始化為““值塊”((ValueBlock)并且AccessBits允許值值操作。值塊的初始始化方法:對某某塊按固定定的格式進進行寫操作作格式:address———塊地址址(1B))value———值((4B,有有符號)例如,對塊塊地址為01H的塊塊進行值塊塊初始化,,初始化值值VALUE=00030000H,,則數據格格式為FE01FE0100030000FFFCFFFF00030000高低低Increment/Decrement/TransferIncrement:addsthespecifiedvaluetothememoryvalueDecrement:subtractsthespecifiedvaluefromthememotyvalueTransfer:EachIncrementorDecrementinstructionmanipulatingastandardvalueblockhastobefollowedbyaTransferintructionwhichactuallystoresthecalculatedresultinthecardmemory.Untilthen,theresultiskeptinaninternalvaluebufferresgister.DECREMENT:入口:塊地地址addr,值value存放于D_BUF出口:ACK/NAKNOPNOPMOVA,#10H;;SENDBCNTS((16bits:命命令碼+塊塊地址)MOVR0,#03HMOVX@R0,AMOVA,#04H;;SENDBCNTR((4bits:ACK/NAK)MOVR0,#04HMOVX@R0,AMOVA,#0C0H;SENDCODEMOVR0,#00HMOVX@R0,AMOVA,#addr;;SENDBLOCKADDRMOVR0,#00HMOVX@R0,AMOVA,#0AH;SETTOC=1msMOVR0,#06HMOVX@R0,AD_wait_value:;;讀STACON,,判斷DV=1?MOVR0,#01HMOVXA,@R0JNBACC.7,D_wait_valueMOVR6,AMOVA,#00H;;清零TOCMOVR0,#06HMOVX@R0,AMOVA,R6;;出出錯判斷JBACC.6,DEC_TE_ERRJBACC.3,DEC_BE_ERRAJMPDEC_CONTIDEC_TE_ERR:;;NOTAGERRMOVB,#01HAJMPDEC_EXITDEC_BE_ERR:MOVB,#02HAJMPDEC_EXITDEC_CONTI:MOVR0,#00H;;讀入ACK/NAK,MOVXA,@R0ANLA,#0BH;;僅檢查查0,1,,3位CJNEA,#00H,D_N1MOVB,#07H;NOTAUTHERR(應答為為00000000)SJMPDEC_NEXTD_N1:CJNEA,#0AH,D_N2;;收到到ACK應應答(00000101),,表示可以以DECSJMPDEC_NEXTD_N2:MOVB,#03H;其他錯誤誤應答(00000011)),CODEERAJMPWRITE_EXITWRITE_NEXT:;;開始始寫數據MOVA,#32 ;SENDBCNTS=32bits(4BVALUE)MOVR0,#03HMOVX@R0,AMOVA,#04H;;SENDBCNTR=4bits(ACK/NAK)MOVR0,#04HMOVX@R0,AMOVR5,#4;送4B值值MOVR0,#00HMOVR1,#D_BUFDEC_VALUE:MOVA,@R1MOVX@R0,AINCR1DJNZR5,DEC_VALUEMOVA,#0AH;;SETTOC=1msMOVR0,#06HMOVX@R0,ADEC_end:;;DV=1??MOVR0,#01HMOVXA,@R0JNBACC.7,DEC_endMOVA,#00H;;清零TOCMOVR0,#06HMOVX@R0,AJudge_answer:MOVR0,#01H;;出錯判判斷MOVXA,@R0JNBACC.6,DEC_error_TEMOVB,#00HDEC_ANSWER:;;讀入入ACK/NAKMOVR0,#00HMOVXA,@R0ANLA,#0FHCJNEA,#04H,D_ERR1;;(00000100為VALUEOVERFLOW)MOVB,#0FEHSJMPDEC_EXITD_ERR1:MOVB,#0FFH;;其他錯誤誤DEC_EXIT:RETTRANSFER入口:塊塊地址T_addr出口:ACK/NAKTRANS:NOPNOPMOVA,#10H;;SENDBCNTS(16bits:命令令碼+塊地地址)MOVR0,#03HMOVX@R0,AMOVA,#04H;;SENDBCNTR(4bits:ACK/NAK)MOVR0,#04HMOVX@R0,AMOVA,#0B0H;SENDCODEMOVR0,#00HMOVX@R0,AMOVA,#T_addr;;SENDBLOCKADDRMOVR0,#00HMOVX@R0,AMOVA,#10H;;SETTOC=1.5msMOVR0,#06HMOVX@R0,AT_end: ;DV=1?MOVR0,#01HMOVXA,@R0JNBACC.7,T_endMOVA,#00H;;清零TOCMOVR0,#06HMOVX@R0,AJudge_answer:;;出錯判斷MOVR0,#01HMOVXA,@R0JBACC.3,T_error_BEJBACC.6,T_error_PEMOVB,#00HAJMPNEXT_TRANST_error_BE: ;出錯錯處理MOVB,#03HSJMPNEXT_TRANST_error_PE:MOVB,#05HSJMPNEXT_TRANSNEXT_TRANS:MOVA,#95D;;SETTOC=9msMOVR0,#06HMOVX@R0,AT_Toc_end:;;DV=1?(EEPROM寫寫入結束否??)MOVR0,#01HMOVXA,@R0JNBACC.7,T_Toc_endMOVR6,AMOVA,#00H;;CLEARTOCMOVR0,#06HMOVX@R0,AMOVA,R6;;出錯判斷JBACC.6,T_TAG_ERRJBACC.3,T_BIT_ERRMOVB,00HSJMPNEXT_ANSWERT_TAG_ERR:;;出錯處處理MOVB,#09HAJMPT_EXITT_BIT_ERR:MOVB,#0BHAJMPT_EXITNEXT_ANSWER:;;讀入ACK/NAKMOVR0,#00HMOVXA,@R0ANLA,#0FHCJNEA,#0AH,T_ERR1;;(00000101為為ACK,TRANSFEROK)MOVB,#00HSJMPT_EXITT_ERR1:CJNEA,#04H,T_ERR2;;(00000100為為NAK)MOVB,#02HSJMPT_EXITT_ERR2:CJNEA,#05H,WRITE_EXIT ;其他他錯誤MOVB,#04HT_EXIT:RET實訓6非非接觸式IC卡的讀寫控控制實訓程序將讀讀寫器MCU片內RAM中的16個個數據寫入卡卡的一個數據據塊,然后將該數據據塊中的數據據讀出并存入入讀寫器MCU的片內RAM中。MCU采用查查詢方式與MCM通信。。實訓程序說明明:mode選選擇密碼集集KEYSET0、1、、2及密碼A、Bsector_nr認認證扇區號號(0~15)R_H_BUF 讀入入數據緩沖區區首地址R_E_BUF 讀入入數據暫存區區首地址W_H_BUF 寫入入數據區首地地址R_addr 被讀取取的塊地址((0~63))W_addr 被寫入入的塊地址((0~63))實訓步驟用非接觸式IC卡讀寫軟軟件MWRF向MCM中中下載密碼,,讀出并記錄錄MIFARE1卡的TAGTYPE、SN、、SIZE,,讀出并記錄錄卡中某數據據塊(如扇區區1塊0)的的數據。用鑷子取出非非接觸式IC卡開發板上上的MCU芯芯片,將仿真真頭插入MCU的IC座座。編譯實訓程序序,設置斷點點。打開片內RAM及寄存器器窗口,在寫寫數據區(首首地址為10H的16個個單元)設置置要寫入卡中中的數據。天線范圍內無無卡時運行程程序,記錄程程序停在斷點點處的相關數數據。說明是是否能正確讀讀/寫卡,如如不能,根據據現象定位故故障點。將卡置入天線線范圍內,運運行程序,記記錄程序停在在斷點處的相相關數據。說說明是否能正正確讀/寫卡卡,如不能,,根據現象定定位故障點。。實訓程序:modeEQU00H;;設置KEYSET=KEYSET0,使用用密碼Asector_nrEQU01H;;設置認證證扇區為扇區區1R_H_BUF EQU 40H ;讀讀入數據緩沖沖區R_E_BUF EQU 50H ;讀讀入數據暫存存區W_H_BUF EQU 10H ;寫寫入數據區R_addr EQU 04H ;被讀讀取的塊地址址(扇區1的的塊0)W_addr EQu 05H ;被寫寫入的塊地址址(扇區1的的塊1)ORG0000HAJMPMAINORG0050HMAIN:MOVSP,#60H;;重新設設置堆棧CLREA ;關關閉所有中斷斷CLRP3.4SETBP3.3;;關閉MCM200NOPNOPCLRP3.3;;激活MCM200NOPLCALLD500MSSTART:NOPNOPMOVA,#80H;;SOR軟件復位MOVR0,#01HMOVX@R0,ANOPNOPLCALLD500MSCLRP3.3;;再次激活活MCM200CLRP3.3MOVR2,#01H ;選擇擇REQUESTALL指令LCALLREQUEST;;請求響應REQUESTSETBp3.4;;斷點①,查看看TAGTYPE——((20H)((21H)LCALLANTICOLLISION;;防沖突突ANTICOLLISIONSETBP3.4;;斷點②,查看看SN——((30H)~(34H))LCALLSELECT ;選選擇卡片SELECTSETBP3.4;;斷點③,查看看SIZE———(22H)LCALLLOAD_KEY;;下載密碼碼SETBP3.4LCALLAUTH;;密碼認認證AUTHENTICATIONSETBP3.4LCALLWRITE ;寫數數據WRITESETBP3.4LCALLREAD;;讀數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版農村房產交易合同
- 2025農村集體土地使用權流轉合同(受讓方)
- 2025合作伙伴產品合同樣本
- 2025健身房加盟合同范本
- 2025年安全防護欄安裝合同
- 2025華能物流季度結服務合同
- 2025合同終止勞動合同的法律責任
- 2025年土地租賃意向合同
- 2025【工程勞務合同】工程勞務合同
- 《原子與分子揭示了》課件
- 中考數學函數一次函數復習課件
- 美學《形象設計》課件
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- MOOC 數字電路與系統-大連理工大學 中國大學慕課答案
- 服務外包合同
- 立管改造施工方案
- 管道閉水試驗記錄表(自動計算)
- 硅酸鹽水泥熟料的煅燒及冷卻
- FZ15—100型(C2型)翻車機壓車梁故障分析
- 肺栓塞應急預案
- 畢節市財政局國庫科工作運行規程
評論
0/150
提交評論