物聯(lián)網(wǎng)RFID開發(fā)教程(劉國鈞職校培訓(xùn)版本)_第1頁
物聯(lián)網(wǎng)RFID開發(fā)教程(劉國鈞職校培訓(xùn)版本)_第2頁
物聯(lián)網(wǎng)RFID開發(fā)教程(劉國鈞職校培訓(xùn)版本)_第3頁
物聯(lián)網(wǎng)RFID開發(fā)教程(劉國鈞職校培訓(xùn)版本)_第4頁
物聯(lián)網(wǎng)RFID開發(fā)教程(劉國鈞職校培訓(xùn)版本)_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

全國物聯(lián)網(wǎng)技術(shù)應(yīng)用人才培養(yǎng)認(rèn)證項(xiàng)目系列教程

(物聯(lián)網(wǎng)應(yīng)用工程師)

全國物聯(lián)網(wǎng)認(rèn)證RFID開發(fā)平臺實(shí)訓(xùn)教程

全國物聯(lián)網(wǎng)技術(shù)應(yīng)用人才培養(yǎng)認(rèn)證項(xiàng)目辦公室

目錄

第1章IC技術(shù)簡介和開發(fā)環(huán)境的快速建立..................................................1

1.1IC卡技術(shù)...........................................................1

1.2RC522芯片簡介....................................................12

1.3物聯(lián)網(wǎng)RFID開發(fā)平臺介紹...........................................17

1.4開發(fā)軟件和驅(qū)動的安裝..............................................21

第2章操作演練........................................................................35

2.1IC卡操作簡述......................................................35

2.2讀IC卡號.........................................................44

2.3讀數(shù)據(jù)............................................................60

2.4寫數(shù)據(jù)............................................................66

2.5修改密碼..........................................................74

第3章項(xiàng)目實(shí)戰(zhàn)........................................................................83

3.1IC卡點(diǎn)臺燈........................................................83

3.2IC卡門禁系統(tǒng)......................................................94

3.3校園卡:消費(fèi)、充值...............................................110

IOTPRO)實(shí)訓(xùn)教程二

第1章IC技術(shù)簡介和開發(fā)環(huán)境的快速建立

1.1IC卡技術(shù)

1.1.1非接觸式IC卡技術(shù)簡介

IC(集成電路)卡于1974年誕生于法國,當(dāng)時有位叫羅蘭?莫雷諾(RolandMoreno)的工程師為了

將一些個人信息存放在一個便于攜帶、保存的存貯媒體上,提出了將一個集成電路芯片嵌裝于一塊塑料基

片上構(gòu)成一張存貯卡的想法,并按此方法做了一張卡片,這就是世界上第一張IC卡.但是由于當(dāng)時集成電

路技術(shù)水平有限,市場也沒有形成迫切的需要,這種想法并沒有立即付諸實(shí)施,后來隨著集成電路技術(shù)的

發(fā)展,芯片的集成度、容量、安全性都得到了很大的提高,尤其是EEPROM技術(shù)的成熟,使得IC卡的生

產(chǎn)、應(yīng)用成為現(xiàn)實(shí)。目前,以歐洲為中心的IC卡市場已發(fā)展成為世界性的市場。

圖1.1IC卡

非接觸式K卡又稱射頻率卡,是世界上最近幾年發(fā)展起來的一項(xiàng)新技術(shù),它成功地1鋤頻識別技術(shù)和

IC卡技術(shù)結(jié)合起來,解決了無源(卡中無電源)和免接觸這一難題,是電子器件領(lǐng)域的一大突破。與接觸

式IC卡相比較,非接觸(感應(yīng))式IC卡具有以下優(yōu)點(diǎn):

—1—

IOT?PRO)實(shí)訓(xùn)教程二

*操作方便、快捷由于采用非接觸無線通訊,讀寫器對在感應(yīng)范圍內(nèi)的卡就可以進(jìn)行操作,免去

了插拔卡,所以非常方便用戶使用;而且非接觸卡在使用時既沒有正反面之分也沒有方向性與角度限制,

卡片可以隨意方向掠過讀寫器表面,完成一次操作僅需o.i秒,這就大大提高了每次使用的速度。

*抗干擾性高非接觸式ic卡中有快速防沖突機(jī)制,能有效防止卡片之間出現(xiàn)數(shù)據(jù)干擾,在多卡同

時進(jìn)入讀寫范圍內(nèi)時,讀寫設(shè)備可——對卡進(jìn)行處理。這提高了應(yīng)用的并行性,也無形中提高了系統(tǒng)工作

的速度。

*可靠性高非接觸式IC卡與讀寫器之間沒有機(jī)械接觸,這就從根本上消除了由于接觸讀寫而產(chǎn)生

的各種故障;而且卡中的IC芯片和感應(yīng)天線完全密封在標(biāo)準(zhǔn)的PVC中,這也進(jìn)一步提高了應(yīng)用的可靠性和

卡的使用壽命。

*高安全性非接觸式卡的序列號是唯一的,制造商在產(chǎn)品出廠前已將此序列號固化在芯片中,不

可以更改;非接觸式卡與讀寫器之間采用雙向互認(rèn)驗(yàn)證機(jī)制,即讀寫器要驗(yàn)證IC卡的合法性,IC卡也要驗(yàn)

證讀寫器的合法性;非接觸式IC卡在數(shù)據(jù)交換前要與讀寫器進(jìn)行三次相互認(rèn)證;而且在通訊過程中所有的

數(shù)據(jù)都加密;此外,卡中各個區(qū)域都有自己的操作密碼和訪問條件。

*適合于多種應(yīng)用非接觸式IC卡的存貯結(jié)構(gòu)特點(diǎn)使其可以做到一卡多用,能應(yīng)用于不同的場合或系

統(tǒng),例如,企業(yè)或機(jī)關(guān)內(nèi)部員工"一卡通",可用作考勤、食堂就餐、電話管理、停車場、門禁等;校園"一

卡通",可用作學(xué)生證、借書證、消費(fèi)卡、門禁"銅匙”等,此時用戶可根據(jù)不同的應(yīng)用設(shè)置不同的密碼和

訪問條件。

*適應(yīng)于多種要求非接觸式IC卡系統(tǒng)可根據(jù)環(huán)境與應(yīng)用對象的不同而做到作用距離不同,如用于

高速公路或一般路、橋收費(fèi),可選用作用距離為0.6m—20m的系統(tǒng),如用于電子錢包或公交收費(fèi),可選

用作用距離僅幾厘米的系統(tǒng)。系統(tǒng)配置相當(dāng)靈活多樣。

正是由于非接觸式IC卡的上述特點(diǎn),使它在某些領(lǐng)域具有接觸式IC卡無法比擬的優(yōu)越性,被廣泛應(yīng)用

于電子錢包、鐵路、地鐵、公交、輪渡、高速公路、一般路橋收費(fèi)、食堂售飯收費(fèi)、門禁系統(tǒng)、考勤系統(tǒng)、

身份證等領(lǐng)域。特別是在地鐵、公交、路橋、輪渡等收費(fèi)應(yīng)用中,近期將占到整個卡應(yīng)用的50%以上。1998

—2—

IOT-PRO)實(shí)訓(xùn)教程二

年4月25、260,國家建設(shè)部組織專家對非接觸式IC卡公交收費(fèi)系統(tǒng)進(jìn)行了論證簽定。

而非接觸式IC卡輪渡儲值票收費(fèi)系統(tǒng),在上海金陵路渡口應(yīng)用2年以后,目前正在上海輪渡所有渡

口全面推廣,非接觸式IC卡三角閘門通道的安裝量將達(dá)到128個。

*非接觸式IC卡路橋收費(fèi)系統(tǒng)

*非接觸式IC卡考勤系統(tǒng)

*非接觸式IC卡食堂收費(fèi)系統(tǒng)

*非接觸式IC卡電話機(jī)及電話用戶卡付費(fèi)與查詢系統(tǒng)

*非接觸式IC卡行車證件查驗(yàn)系統(tǒng)等

*非接觸式IC卡門禁管理系統(tǒng)

*非接觸式IC卡出租車收費(fèi)管理系統(tǒng)

*非接觸式IC卡停車埸收費(fèi)管理系統(tǒng)

*非接觸式IC卡加油站收費(fèi)管理系統(tǒng)

*非接觸式IC卡液化石油氣收費(fèi)管理系統(tǒng)

*非接觸式IC卡企業(yè)、機(jī)關(guān)、院校、酒店“一卡通"綜合管理系統(tǒng)

圖1.2IC卡打卡器

—3—

IOT-PRO)實(shí)訓(xùn)教程二

1.1.2MifareIC卡技術(shù)介紹(扇區(qū)、存儲方式、讀寫注意事項(xiàng))

MIFARE是恩智浦半導(dǎo)體(NXPSemiconductors)擁有的商標(biāo)之一。伴隨著超過50億張智能卡和IC卡

以及超過5千萬臺讀卡器的銷售,MIFARE已成為全球大多數(shù)非接觸式智能卡的技術(shù)選擇,并且是自動收

費(fèi)領(lǐng)域最成功的平臺。目前我們使用的IC卡普遍是Mifare的產(chǎn)品,常簡稱Ml卡,下面我們來了解Mifare

技術(shù):

電氣特性:

*容量為8K位EEPROM

*分為16個扇區(qū),每個扇區(qū)4塊,每塊16個字節(jié),以塊為單位;

*每個扇區(qū)有獨(dú)立的一組密碼及訪問控制;

*每張卡有唯一序列號,為32位;

*具有防沖突機(jī)制,支持多卡操作;

*無電源,自帶天線,內(nèi)涵加密控制邏輯和通訊邏輯電路;

*工作溫度:-20℃~50℃;

*工作頻率:13.56MHz

*通訊速率:106Kb/s

*讀寫距離:可達(dá)10mm(與讀寫器以及卡天線尺寸有關(guān));

*數(shù)據(jù)保存期為10年,可改寫10萬次,讀不限次。

工作原理:

卡片由一個卷繞和特定用途集成電路模塊組成。其中,模塊由一個高速(106Kb波特率)的RF接口、

一個控制單元和一個8K位EEPROM組成。讀寫器向Ml卡發(fā)出一組固定頻率(13.56MHz)的電磁波,

—4—

IOT?PRO)實(shí)訓(xùn)教程二

卡片內(nèi)有一個LC串聯(lián)諧振電路,其頻率與讀寫器發(fā)射頻率相同,在電磁波的激勵下,LC諧振電路產(chǎn)生共

振,從而使諧振電容內(nèi)有了電荷,在這個電容的另一端,接有一個單向?qū)娮颖?,將電容?nèi)的電荷送到

模塊存儲電容內(nèi)儲存,當(dāng)所積累的電荷達(dá)到2V以上時,此電容可作為電源向模塊電路提供工作電壓,將卡

內(nèi)數(shù)據(jù)發(fā)射出去或接受讀寫器的數(shù)據(jù)。

存儲結(jié)構(gòu):

Ml卡分為16個扇區(qū),每區(qū)有4塊(塊0~塊3),共64塊,按塊號編址為0~63。第0扇區(qū)的塊0

(即絕對地址塊0)用于存放芯片商、卡商相關(guān)代碼,已經(jīng)固化不可更改。其他扇區(qū)的塊0、塊L塊2為

數(shù)據(jù)塊,用于儲存用戶數(shù)據(jù);塊3為各扇區(qū)的控制塊,用于存放密碼A、存取控制條件設(shè)置、密碼B。各扇

區(qū)控制塊結(jié)構(gòu)相同,如表1.1所示:

表1.1各扇區(qū)控制塊結(jié)構(gòu)3

字節(jié)號0123456789101112131415

各區(qū)控制塊3結(jié)構(gòu):控制值:FF印印FFFFFFFF078069FFFFFF印FFFF

說明:密碼A(0?5字節(jié))存取控制(6?9字節(jié))密碼B(10?15字節(jié))

控制屬性:

每個扇區(qū)的用戶密碼和存取控制條件都是獨(dú)立設(shè)置的,可以根據(jù)實(shí)際需要設(shè)定各自的密碼和存取控制。

在存取控制中,每個塊都有三個控制位相對應(yīng),用于決定某數(shù)據(jù)塊或控制塊的讀寫條件,定義為"CXxy”,

如表1.2所示。

其中CX:代表每塊控制位號(C1-C3),x:代表某塊所屬扇區(qū)號(0~15),y:代表該扇區(qū)內(nèi)某塊號。

例如Clx2即為x扇區(qū)內(nèi)塊2的第1控制位,如此類推。

(注:控制位的設(shè)置存放在存取控制字節(jié)中,見表1.3所示。)

表1.2控制位定義"CXxy”

—5-

IOT-PRO)實(shí)訓(xùn)教程二

塊。ClxOC2x0C3x0用戶數(shù)據(jù)塊,(0區(qū)。塊除外)

塊1ClxlC2xlC3xl用戶數(shù)據(jù)塊

塊2Clx2C2x2C3x2用戶數(shù)據(jù)塊

塊3Clx3C2x3C3x3密匙存取控制塊

表1.3三個控制位在存取控制字節(jié)中的位置

\位號

7節(jié)Mbit76543210

字節(jié)6C2x3_bC2x2_bC2xl_bC2x0_bClx3_bClx2_bClxl_bClxO_b

(注:“_b"

字節(jié)7Clx3Clx2ClxlClxOC3x3_bC3x2_bC3xl_bC3x0_b

表示取反)

字節(jié)8C3x3C3x2C3xlC3xOC2x3C2x2C2xlC2x0

字節(jié)9BX7BX6BX5BX4BX3BX2BX1BXO

所屬塊塊3控制位塊2控制位決1控制位塊??刂莆粔K3控制位決2控制位決1控制位塊0控制位

各扇區(qū)數(shù)據(jù)塊0~塊2的三個控制位以正反兩種形式存在于塊3的存取控制字節(jié)中,它決定了改塊的訪

問權(quán)限(例如進(jìn)行減值及初始化值操作必須驗(yàn)證KEYA,進(jìn)行加值操作必須驗(yàn)證KEYB,等等1三個控制

位在存取控制字節(jié)(6~9字節(jié))中的權(quán)限如下(陰影區(qū)的存取控制為廠商初始值;字節(jié)9為備用字節(jié),默

認(rèn)為69);

注釋:如表1.4所示,KeyA|B表示密碼A或者密碼B,Never表示沒有條件實(shí)現(xiàn)。

表1.4數(shù)據(jù)塊的存取控制權(quán)限(x=0~15扇區(qū);丫=塊0,塊1,塊2)

ClxyC2xyC3xy讀寫加值減值,初始化

000KeyA|BKeyA|BKeyA|BKeyAB

010KeyA|BNeverNeverNever

100KeyA|BKeyBNeverNever

100KeyA|BKeyBKeyBKeyA!B

001KeyA|BNeverNeverKeyAB

011KeyBKeyBNeverNever

101KeyBNeverNeverNever

111NeverNeverNeverNever

例如,某區(qū)塊的3個存取控制位Clxy、C2xy、C3xy=000時(廠商預(yù)設(shè)的初始值,見陰影區(qū)),驗(yàn)證

—6—

IOTPRO)實(shí)訓(xùn)教程二

密碼A或者密碼B正確后可讀出何寫入/可加值/減值及初始化操作。該初始值主要供制卡和發(fā)卡商檢測心

片功能使用,確認(rèn)所有讀寫/加密功能均正常(存取控制初始值"ff078069",請參考"步驟舉例"自行驗(yàn)

算)后,再依據(jù)使用需要和參照表4表5設(shè)置新的存取控制權(quán)限值,進(jìn)行用戶數(shù)據(jù)操作和修改新的用戶密碼。

再如當(dāng)某區(qū)塊0的存取控制位CIO、C20、C30的設(shè)置均=100時,驗(yàn)證密碼A或密碼B正確后可讀

出其數(shù)據(jù);只有驗(yàn)證密碼B正確后才可允許改寫數(shù)據(jù);不能進(jìn)行加值、減值等操作。以廠商初始值"FF07

8069”為例,說明存取控制條件對數(shù)據(jù)塊的影響。初始存取控制默認(rèn)值(Clx0,C2x0,C3x0=000;

Clxl,C2xl,C3xl=000;Clx2,C2x2,C3x2=000;Clx3,C2x3,C3x3=001)和KeyA、KeyB默認(rèn)值(由廠

商提供,通常為:ffffffffffffX那么塊3中,廠商初始的存取控制值如表1.5所示:

表1.5塊3中廠商初始存取控制值(-號表示需要取反)

Bit#7543210

字節(jié)61-1-卜1-1-1-

字節(jié)70000o-1-1-1-

字節(jié)8i000000

CXx3CXxlCXxOCXx3CXx2CXxlCXxO

如果用戶要讀到塊1的內(nèi)容,對照表4和查對表3可知,當(dāng)存取控制Clxl,C2xl,C3xl=000時,必需

正確校驗(yàn)KEYA或KEYB后才可允許讀取塊1的內(nèi)容,否則,MF1讀寫器會因校驗(yàn)?zāi)硡^(qū)密碼出錯而無法讀

取和傳送數(shù)據(jù)!如此類推,用戶要進(jìn)行其它操作時,可根據(jù)存取條件,對照表2~4來決定其操作權(quán)限。

表1.6列出了飛^浦公司對MF1卡的8種控制位設(shè)置值所對應(yīng)的存取控制權(quán)限表,供發(fā)卡商及用戶設(shè)

置MF1卡使用權(quán)限時參考,其釋義如下:

表1.6塊3的存取控制權(quán)限(供發(fā)卡商及用戶設(shè)置權(quán)限時參考)

—7—

IOTPRO)實(shí)訓(xùn)教程二

控f科位設(shè)置值密碼A權(quán)限存取控制權(quán)限密碼B權(quán)限

Clx3C2x3C3x3讀寫讀寫讀寫

000NeverKeyAKeyANeverKeyAKeyA

010NeverNeverKeyANeverKeyANever

100NeverKeyBKeyA|BNeverNeverKeyB

110NeverNeverKeyA|BNeverNeverNever

001NeverKeyAKeyAKeyAKeyAKeyA

011NeverKeyBKeyA|BKeyBNeverKeyB

101NeverNeverKeyA|BKeyBNeverNever

111NeverNeverKeyABNeverNeverNever

例如:當(dāng)塊3的存取控制位C13C23C33=100時,表示:密碼A:不可讀(隱藏),驗(yàn)證KEYB

正確后,可寫(或更改);存取控制:驗(yàn)證KEYA或KEYB正確后,可讀不可寫(寫保護(hù));密碼B:不可讀,

驗(yàn)證KEYB正確后可寫。又如:當(dāng)塊3的存取控制位C13C23C33=110或者111時,除存取控制值

需要在驗(yàn)證KEYA或KEYB正確后僅僅可讀外,其它如存取控制值的改寫、密碼A、密碼B的讀寫權(quán)限均被

鎖死而無法訪問!

MF1卡修改各區(qū)塊控制位值和數(shù)據(jù)

一、以常用設(shè)置"08778F69"控制條件為例,先搞清楚它一具有的訪問權(quán)限。

1、對"08778F69"值進(jìn)行計(jì)算,該值定位于各區(qū)塊3的6、7、8、9四個字節(jié)內(nèi),字節(jié)6=08,字

節(jié)7=77,字節(jié)8=8F,字節(jié)9=69(默認(rèn)值,不予計(jì)算X

2、例如:字節(jié)6=08,對應(yīng)其二進(jìn)制值=00001000,則對6、7、8這三個字節(jié)進(jìn)行二進(jìn)制轉(zhuǎn)換結(jié)果

見表1.7:

表1.7二進(jìn)制轉(zhuǎn)換表

字節(jié)6=00001000字節(jié)7=01110111字節(jié)8=10001111

—8—

IOTPRO)實(shí)訓(xùn)教程二

3、參照表2及表4算法,字節(jié)6的全部二進(jìn)制值取反,字節(jié)7的低四位二進(jìn)制值取反,字節(jié)8不變,

得到表1.8:

表1.8運(yùn)算結(jié)果

字節(jié)號對應(yīng)二進(jìn)制值位置高4位位置低4位

字節(jié)600001000C2Y1111C1Y011

字節(jié)701110111C1Y0111C3Y1000

字節(jié)810001111C3Y1)00C2Y111

所屬塊位:2塊1塊0塊3塊?塊1塊0

4、對以上6、7、8字節(jié)的存取/控制二進(jìn)制已取反值,依照表2、表4塊位轉(zhuǎn)換為各塊控制值,如表1.9

所示:

表1.9第4步驟結(jié)果

塊3位字節(jié)7、字節(jié)6、字節(jié)8=C13、C23、C33=C1Y,C2Y,C3Y=011

塊2位字節(jié)7、字節(jié)6、字節(jié)8=C12、C22、C32=C1Y,C2Y,C3Y=110

塊1位字節(jié)7、字節(jié)6、字節(jié)8=Cll.C21、C31=C1Y,C2Y,C3Y=110

塊0位字節(jié)7、字節(jié)6、字節(jié)8=CIO.C20、C30=C1Y,C2Y,C3Y=110

注意:高4位的各塊值=低4位的各塊值時,其值可用。高4位值/低4位值時,其值不可用!

5、查對訪問權(quán)限(數(shù)據(jù)存取控制依照表3,塊3存取控制依照表5),該例"08778F69”的訪問權(quán)

限為:

?塊3=011:權(quán)限為:KeyA、KeyB均不可讀,驗(yàn)證KeyB正確后可改寫KeyA和KeyB,驗(yàn)證KeyA

或KeyB正確后可讀"控制位"。在此可見密鑰KeyB的重要性,KeyB不正確是無法看到塊3控制值,更無

法修改密鑰。

?塊2=塊1=塊0=110:權(quán)限為:驗(yàn)證KeyA或KeyB后可讀該塊數(shù)據(jù)、減值以及初始化值,只

有驗(yàn)證KeyB正確后才可改寫該塊數(shù)據(jù),在此可以看到密鑰KeyB對改寫數(shù)據(jù)塊也起著關(guān)鍵性作用。

—9—

IOT?PRO)實(shí)訓(xùn)教程二

二、"08778F69"控制條件設(shè)置步驟:

由(一)可知:KeyB設(shè)置后為不可讀,并且改寫數(shù)據(jù)和改寫控制位都需要正確驗(yàn)證它,故KeyB設(shè)置

后程序操作員必須妥善保管KeyB值,否則以后改寫數(shù)據(jù)和控制位時,不正確的KeyB值將無法實(shí)現(xiàn)卡的任

何操作!?。?/p>

1、修改塊3控制位的值:最初的各區(qū)塊3內(nèi)的KeyA、KeyB都是廠商12個"F"默認(rèn)值(KeyA在任

何條件下均為不可讀,大部分讀寫機(jī)程序表現(xiàn)KeyA為未知的12個"0"),在修改控制值時,先不要修

改默認(rèn)密碼KeyA和KeyB,

在控制位修改成功后,再去更改新密碼值。即先對塊3的控制位進(jìn)行修改(默認(rèn)值FF078069改為

新值08778F69)并執(zhí)行寫操作。控制位寫成功后,KeyB亦為12個"0"不可讀了,但仍是隱藏的12

個"f"默認(rèn)值。

2、修改塊3的KeyA和KeyB值:控制位08778F69值寫成功后,驗(yàn)證KeyB正確后方可改寫KeyA

和KeyB新密碼。在密碼操作模式鍵入要改寫區(qū)塊之先前密碼B(先前密碼為默認(rèn)值時,則不需改動和加載),

加載后反回?cái)?shù)據(jù)操作模式,再進(jìn)行讀值、KeyA和KeyB值的改寫。

3、修改塊0~塊2中數(shù)據(jù):由新的控制條件08778F69可知,要修改數(shù)據(jù),必須先驗(yàn)證KeyB,故先

設(shè)置密碼操作為KeyB認(rèn)證方式,加載后再返回?cái)?shù)據(jù)操作模式,對要修改的數(shù)據(jù)塊進(jìn)行值的改寫操作。

4、上例中分析了"08778F69"的訪問條件及其改寫步驟,對用戶的其它控制條件亦可參照應(yīng)用。

常見問題及處理建議:

1、盲目操作:造成某些區(qū)塊誤操作被鎖死不能再使用。應(yīng)當(dāng)仔細(xì)參考表3表5的控制權(quán)限后,予先得

出操作后的結(jié)果是否適合使用要求,并且列出操作順序表單再操作。最好授權(quán)程序員對塊3的設(shè)置作專人

操作。

2、丟失密碼:再讀寫時造成密碼認(rèn)證出錯而不能訪問卡。特別要求在對MF卡進(jìn)行塊3編程操作時,

必須及時記錄相關(guān)卡號的控制值、KeyA、KeyB等,而且應(yīng)當(dāng)有專人管理密碼檔案。

—10—

IOT?PRO)實(shí)訓(xùn)教程二

3、錯誤設(shè)置:對MF1卡的塊3控制塊了解不透徹,錯誤的理解造成設(shè)置造成錯誤的設(shè)置。依照表2

可知,目前Mfl卡的控制塊僅只有8種數(shù)據(jù)塊訪問控制權(quán)限和8種控制塊設(shè)置權(quán)限,超出這16種權(quán)限的

其他代碼組合,將直接引起錯誤設(shè)置而使卡片報(bào)廢!

4、極端權(quán)限:當(dāng)塊3的存取控制位C13C23C33=110或者111時,稱為極端權(quán)限。除特殊應(yīng)

用外一般不被使用!啟用前認(rèn)真權(quán)衡對密碼讀寫、存取控制的鎖死是否必要,否則,數(shù)據(jù)加密后即使有密

碼也無法讀取被鎖死的數(shù)據(jù)區(qū)塊(看不見)!

5、設(shè)備低劣:低劣的設(shè)備將直接影響卡的讀寫性能。對MF卡進(jìn)行塊3編程操作的設(shè)備,特別要求其

性能必須十分可靠,運(yùn)行十分穩(wěn)定!建議選用由飛利浦公司原裝讀寫模塊構(gòu)建的知名讀寫機(jī)具!

6、編程干擾:在對塊3進(jìn)行編程操作時,不可以有任何的"10"中斷或打擾!包括同時運(yùn)行兩個以上

程序干擾甚至PC機(jī)不良的開關(guān)電源紋波干擾等,否則,不成功的寫操作將造成某個扇區(qū)被鎖死的現(xiàn)象,

致使該扇區(qū)再次訪問時出錯而報(bào)廢。

7、數(shù)據(jù)出錯:在臨界距離點(diǎn)上讀卡和寫卡造成的。通常的讀卡,特別是寫卡,應(yīng)該避免在臨界狀態(tài)(剛

能讀卡的距離)讀卡。因?yàn)榕R界狀態(tài)下的數(shù)據(jù)傳送是很不穩(wěn)定的!容易引起讀寫出錯!

8、人為失誤:例如,密碼加載操作失誤,誤將KeyA加載為KeyB;或者是誤將其他制卡廠約定的初

始密碼值如aOala2a3a4a5、bOblb2b3b4b5加載到剛生產(chǎn)的MFI卡內(nèi);或者在初始狀態(tài)下(密碼A=

000000000000【隱藏狀態(tài),實(shí)際為ffffffffffff],控制位=FF078069、密碼B=ffffffffffff【可見】)若

不經(jīng)意地將KeyA=000000000000刪除后又重新輸入12個"0”,并加載了它!這時無意中已將KeyA原

來12個隱藏的"f",修改成了12個"0",其后果可想而知!

9、彎曲而造成內(nèi)電路斷裂。

10、讀寫距離過近:與用戶使用的讀寫器性能有關(guān)。標(biāo)準(zhǔn)型MF1卡的讀寫距離可達(dá)10cm(在飛利浦

公司的標(biāo)準(zhǔn)讀寫機(jī)具上測試的最大距離),國產(chǎn)知名品牌讀寫器一般可達(dá)尺寸較小的匙扣卡,其

5-10cmo

讀寫距離當(dāng)然比標(biāo)準(zhǔn)卡近許多,但只要可靠的讀寫距離步~10mm以上,一般不會影響正常使用!

—11—

IOT-PRO)實(shí)訓(xùn)教程二

1.2RC522芯片簡介

概述:

MFRC522是高度集成的非接觸式(13.56MHz)讀寫卡芯片。此發(fā)送模塊利用調(diào)制和解調(diào)的原理,并

將它們完全集成到各種非接觸式通信方法和協(xié)議中(13.56MHz1

MFRC522發(fā)送模塊支持下面的工作模式:

讀寫器,支持ISO14443A/MIFARE?

MFRC522的內(nèi)部發(fā)送器部分可驅(qū)動讀寫器天線與ISO14443A/MIFARE?卡和應(yīng)答機(jī)的通信,無需

其它的電路。接收器部分提供一個功能強(qiáng)大和高效的解調(diào)和譯碼電路,用來處理兼容ISO

14443A/MIFARE?的卡和應(yīng)答機(jī)的信號。數(shù)字電路部分處理完整的ISO14443A幀和錯誤檢測(奇偶

&CRC\MFRC522支持MIFARE@Classic(如,MIFARE?標(biāo)準(zhǔn))器件。MFRC522支持MIFARE?更

高速的非接觸式通信,雙向數(shù)據(jù)傳輸速率高達(dá)424kbit/s。

可實(shí)現(xiàn)各種不同主機(jī)接口的功能:

1、SPI接口

2、串行UART(類似RS232,電壓電平取決于提供的管腳電壓)

3、12c接口

特性:

?高度集成的模擬電路,解調(diào)和譯碼響應(yīng)。

?緩沖的輸出驅(qū)動器與天線的連接使用最少的外部元件。

?支持ISO14443A/MIFARE?。

—12—

IOTPRO)實(shí)訓(xùn)教程二

■讀寫器模式中與ISO14443A/MIFARE?的通信距離高達(dá)50mm,取決于天線的長度和調(diào)諧。

?讀寫器模式下支持MIFARE?Classic加密

■支持£014443212kbit/s和424kbit/s的更高傳輸速率的通信。

?支持的主機(jī)接口

-10Mbit/s的SPI接口

-I2C接口,快速模式的速率為400kbit/s,高速模式的速率為3400kbit/s

-串行UART,傳輸速率高達(dá)1228.8kbit/s,幀取決于RS23接口,電壓電平

?取決于提供的管腳電壓

-64字節(jié)的發(fā)送和接收FIFO緩沖區(qū)。

?靈活的中斷模式。

?低功耗的硬復(fù)位功能。

,軟件掉電模式。

■可編程定時器。

■內(nèi)部振蕩器,連接27.12MHz的晶體。

-3.3V的電源電壓。

■CRC協(xié)處理器

?自由編程的I/O管腳

?內(nèi)部自測試

—13—

IOTPRO)實(shí)訓(xùn)教程二

簡化MFRC522框圖:

模擬接口

非接觸式

RF電平UART

檢測器

數(shù)據(jù)模式

檢測器

通信接口V

圖13MFRC522簡化框圖

xo

*la

xs_、qd

loo

o/ls

slL/

wl寸9

naoI

l工

oQ:aaU

scwaC。

z/43g<WI4

<c9/cB3/

。

。

山ll。3

A紅

I2CSDA/NSS/RX

A

PVDD(23IRQ

A

(2包2

DVDDOSCOUT

A

DVSSP(2?0OSCIN

l

PVSSAUX2

A?

NRSTPDf?AUX1

MFINAAVSS

A

MFOUTRX

aSLQeSQ

aSXOxSQ

>>LJ>i>Q

s1H1X:001aaj819

圖1.4RC522引腳圖

表1.10管腳描述

—14—

IOT-PRO)實(shí)訓(xùn)教程二

(注:管腳類型:I-輸入;O-輸出;PWR-電源)

引腳符號類型描述

1I2CII2C使能

2PVDDPWR管腳電源

3DVDDPWR數(shù)字電源

4DVSSPWR數(shù)字電源地

5PVSSPWR管腳電源地

6NRSTPDI不復(fù)位和掉電:管腳為低電平時,切斷內(nèi)部電流吸

收,關(guān)閉振蕩器,斷開輸入管腳與外部電路的連接。

管腳的上升沿來啟動內(nèi)部復(fù)位階段

7MFINIMIFARE信號輸入

8MFOUT0MIFARE信號輸出

9SVDDIMFIN和MFOUT電源

10TVSSPWR發(fā)送器地:TX1和TX2的輸出級的地。

11TX10發(fā)送器1:傳遞調(diào)制的13.56MHz的能量載波

信號

12TVDDPWR發(fā)送器電源:給TX1和TX2的輸出級供電。

13TX20發(fā)送器2:傳遞調(diào)制的13.56MHz的能量載波

信號

14TVSSPWR發(fā)送器地:TX1和TX2的輸出級的地

15AVDDPWR模擬電源

16VMIDPWR內(nèi)部參考電壓:該管腳提供內(nèi)部參考電壓

—15-

IOTPRO)實(shí)訓(xùn)教程二

17RXI接收器輸入:接收的RF信號管腳

18AVSSPWR模擬地

19AUX1O輔助輸出:這兩個管腳用于測試

20AUX20

21OSCINI晶振輸入:振蕩器的反相放大器的輸入。它也

是外部產(chǎn)生的時鐘的輸入

(fosc=27.12MHz)

22OSCOUTo晶振輸出:振蕩器的反相放大器的輸出

23IRQo中斷請求:輸出,用來指示一個中斷事件

24SDA/NSS/RXI串行數(shù)據(jù)線

25D1/ADR_5I/O不同接口地?cái)?shù)據(jù)管腳

26D2/ADR_4I/O(測試端口、I2C、SPI、UART)

27D3/ADR_3I/O

28D4/ADR_2I/O

29D5/ADR_1/SCK/DTI/O

RQ

30D6/ADR_0I/O

/MOSI/MX

31D7/SCLI/O

/MISO/TX

32EAI外部地址:該管腳用來編碼I2C地址

—16—

IOTPRO)實(shí)訓(xùn)教程二

13物聯(lián)網(wǎng)RFID開發(fā)平臺介紹

為了讓大家更方便快捷地入門RFID技術(shù),我們一如既往,打造出高性價比的物聯(lián)網(wǎng)RFID開發(fā)平臺,

開發(fā)平臺使用STC89LE52RC單片機(jī)作為控制核心,和過去51單片機(jī)的編程環(huán)境和指令完全兼容,可以讓

我們把精力投放在IC卡技術(shù)上。IC模塊選用RC522,也是國內(nèi)最流行的學(xué)習(xí)方案。物聯(lián)網(wǎng)項(xiàng)目辦《物聯(lián)

網(wǎng)RFID開發(fā)平臺實(shí)驗(yàn)指導(dǎo)書》也是基于此平臺開發(fā)。內(nèi)容和代碼承諾不斷更新,同時開源。保證所有程序

能直接跑起。毫不夸張地說,你甚至可以將本教材的例程和實(shí)踐應(yīng)用在自己的設(shè)計(jì)、項(xiàng)目生產(chǎn)上。

1.3.1RC522IC

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論