Mifare系列射頻卡讀寫器的開發(fā)_第1頁(yè)
Mifare系列射頻卡讀寫器的開發(fā)_第2頁(yè)
Mifare系列射頻卡讀寫器的開發(fā)_第3頁(yè)
Mifare系列射頻卡讀寫器的開發(fā)_第4頁(yè)
Mifare系列射頻卡讀寫器的開發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Mifare系列射頻卡讀寫器的開發(fā)作者:huqin    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù): 159    更新時(shí)間:2006-7-4    1  引言IC卡按卡與外界數(shù)據(jù)傳送的形式不同,分為接觸式IC卡和非接觸式IC卡。接觸式IC卡通過8個(gè)觸點(diǎn)從讀寫器獲取能量和交換數(shù)據(jù);非接觸式IC卡通過射頻感應(yīng)從讀寫器獲取能量和交換數(shù)據(jù),所以非接觸式IC卡又叫射頻卡。現(xiàn)在常見的是接觸式IC卡,這類卡的讀寫操作速度較慢,操作也不方便,每次讀

2、寫時(shí)必須把卡正確地插入到讀寫器的口槽才能完成數(shù)據(jù)交換。這樣,在公交、考勤等需要頻繁讀寫卡的場(chǎng)合就很不方便,而且IC卡的觸點(diǎn)暴露在外,容易損壞和搞臟而造成接觸不良。非接觸式IC卡是根據(jù)電磁感應(yīng)原理產(chǎn)生的。它的讀寫操作只需將卡片放在讀寫器附近一定的距離之內(nèi)就能實(shí)現(xiàn)數(shù)據(jù)交換,無需任何接觸,使用非常方便、快捷,不易損壞。因此,在公交、門禁、校園、企事業(yè)人事管理等方面有廣泛的應(yīng)用前景。目前我國(guó)引進(jìn)的射頻IC卡主要有PHILIPS公司的Mifare卡和ATMEL公司的Temic卡1。而PHILIPS公司的Mifare卡現(xiàn)在是市場(chǎng)的主流產(chǎn)品,應(yīng)用越來越廣。其典型型號(hào)為Mifare1 S50,它有1字節(jié)E2P

3、ROM用于存放數(shù)據(jù),分成16個(gè)區(qū),每個(gè)區(qū)都有自己獨(dú)立的密碼,完善的安全機(jī)制使之具有一卡多用的特性2。Mifare卡是一種智能卡(smart card),內(nèi)建有中央微處理機(jī)(MCU)和ASIC等,使卡在安全保密性、認(rèn)證邏輯、算術(shù)運(yùn)算等微操作控制有序進(jìn)行。 Mifare卡讀寫器的設(shè)計(jì)一般用PHILIPS公司生產(chǎn)的讀寫模塊MCM200或MCM500。隨著技術(shù)的進(jìn)步,PHILIPS公司現(xiàn)在生產(chǎn)了功能及性能更好的讀卡芯片,我們就是以這種芯片為基礎(chǔ)來設(shè)計(jì)和開發(fā)Mifare射頻卡讀寫器。2  工作原理射頻IC卡讀寫器以射頻識(shí)別技術(shù)為核心,讀寫器內(nèi)主要使用了1片Mifare卡專用的讀寫處理芯片(MF

4、 RC500)。它是一個(gè)小型的最大操作距離達(dá)100mm的Mifare讀/寫設(shè)備的核心器件,其功能包括調(diào)制、解調(diào)、產(chǎn)生射頻信號(hào)、安全管理和防碰撞機(jī)制。內(nèi)部結(jié)構(gòu)分為射頻區(qū)和接口區(qū):射頻區(qū)內(nèi)含調(diào)制解調(diào)器和電源供電電路,直接與天線連接;接口區(qū)有與單片機(jī)相連的端口,還具有與射頻區(qū)相連的收/發(fā)器、64字節(jié)的數(shù)據(jù)緩沖器、存放3套寄存器初始化文件的E2PROM、存放16套密鑰的只寫存儲(chǔ)器以及進(jìn)行三次證實(shí)和數(shù)據(jù)加密的密碼機(jī)、防碰撞處理的防碰撞模塊和控制單元。這是與射頻卡實(shí)現(xiàn)無線通信的核心模塊,也是讀寫器讀寫Mifare卡的關(guān)鍵接口芯片。讀寫器工作時(shí),與Mifare卡專用的讀卡芯片(MF RC500)相連的天線線

5、圈3不斷地向外發(fā)出一組固定頻率的電磁波(13.56MHz),當(dāng)有卡靠近時(shí),卡片內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與讀寫器的發(fā)射頻率相同,這樣在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容充電有了電荷。在這個(gè)電容另一端,接有一個(gè)單向?qū)щ姷碾娮颖?,將電容?nèi)的電荷送到另一個(gè)電容內(nèi)存儲(chǔ)。當(dāng)電容器充電達(dá)到2V時(shí),此電容就作為電源為卡片上的其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫器發(fā)來的數(shù)據(jù)與保存。3  系統(tǒng)組成非接觸式IC卡應(yīng)用系統(tǒng)由Mifare卡、發(fā)卡器、讀卡器和PC管理機(jī)組成,如圖1所示。其中Mifare卡存放身份號(hào)(PIN)等相關(guān)數(shù)據(jù),由發(fā)卡器將密碼和數(shù)據(jù)一次性寫入完成。發(fā)卡

6、器實(shí)際上是一種通用寫卡器,直接與PC機(jī)的RS-232串行口相連或經(jīng)過RS-485網(wǎng)絡(luò)間接與PC機(jī)相連,由系統(tǒng)管理員管理,通過PC機(jī)設(shè)置或選擇好要寫入的數(shù)據(jù),發(fā)出寫卡命令完成對(duì)Mifare卡的數(shù)據(jù)及密碼的寫入。與讀卡器不同,發(fā)卡器往往處于被動(dòng)地位,不主動(dòng)讀寫進(jìn)入射頻能量范圍內(nèi)的射頻卡,必須接收PC機(jī)的命令才操作,即必須聯(lián)機(jī)才能工作;而讀卡器往往可以脫離PC管理機(jī)工作。讀卡器是主動(dòng)操作的,只要有非接觸式IC卡進(jìn)入讀卡器天線射頻能量范圍,讀卡器便可讀寫卡中相關(guān)指定扇區(qū)的數(shù)據(jù)。圖1     典型射頻卡應(yīng)用系統(tǒng)組成框圖發(fā)卡器與讀卡器在硬件設(shè)計(jì)上大同小異,都是由單片

7、機(jī)控制專用讀寫芯片(MF RC500),再加上一些必要的外圍器件組成。圖2為讀卡器硬件系統(tǒng)組成。讀卡器用P89C58BP單片機(jī)作主控制器;MF RC500射頻芯片作為單片機(jī)與射頻卡通訊的中介;74HC595作顯示驅(qū)動(dòng)器驅(qū)動(dòng)LED數(shù)碼顯示器,PS/2總線作為通用編碼鍵盤接口,鍵盤與LED顯示器作為人機(jī)交互接口;AT24C256串行E2PROM作數(shù)據(jù)存儲(chǔ)器;DS1302串行時(shí)鐘芯片作硬件實(shí)時(shí)時(shí)鐘;MAX232或MAX485作串口信號(hào)轉(zhuǎn)換;DS1232作看門狗定時(shí)器;Q9012三極管作提示報(bào)警信號(hào)驅(qū)動(dòng),有卡進(jìn)入并讀卡成功指示燈閃一下,喇叭叫一聲。Mifare射頻卡進(jìn)入距離射頻天線100mm內(nèi),讀卡器

8、就可以讀到卡中的數(shù)據(jù)。讀卡器讀到Mifare射頻卡中的數(shù)據(jù)后,系統(tǒng)單片機(jī)要將所讀數(shù)據(jù)及刷卡的時(shí)間一起存入存儲(chǔ)器AT24C256,并在LED顯示器上顯示卡數(shù)據(jù)。沒有卡進(jìn)入讀卡器工作范圍時(shí),系統(tǒng)讀出實(shí)時(shí)時(shí)鐘芯片中的時(shí)間,在顯示器上顯示當(dāng)前時(shí)間。讀卡出錯(cuò),顯示出錯(cuò)標(biāo)志。主控器P89C58BP內(nèi)部有32KB的Flash存儲(chǔ)器,256字節(jié)RAM,可方便反復(fù)擦寫、修改程序,同時(shí),由于外部不用擴(kuò)展程序存儲(chǔ)器,可以簡(jiǎn)化電路設(shè)計(jì),減小讀卡器的尺寸,同時(shí)有較多的I/O口提供給系統(tǒng)使用。圖2     讀卡器硬件系統(tǒng)組成4  硬件設(shè)計(jì)4.1  射頻芯片MF

9、RC500是Philips公司為Mifare卡設(shè)計(jì)的專用讀卡芯片,它與非接觸式IC卡之間通訊標(biāo)準(zhǔn)兼容ISO14443A,其功能框圖如圖3所示4。圖3     MF RC500功能框圖它內(nèi)部包括微控制器接口單元、模擬信號(hào)處理單元和ISO14443A規(guī)定的協(xié)議處理單元,以及Mifare卡特殊的Crypto1安全密鑰存儲(chǔ)單元。它可以與所有兼容Intel或Motorola總線的微控制器實(shí)現(xiàn)8位并行“無縫”接口(直接連接),其內(nèi)部還具有64個(gè)字節(jié)的先進(jìn)先出(FIFO)隊(duì)列,可以和微控制器之間高速傳輸數(shù)據(jù);其片內(nèi)的ISO14443A協(xié)議處理單元包括狀態(tài)和控制單元、數(shù)

10、據(jù)轉(zhuǎn)換處理單元;片內(nèi)的模擬單元能夠?qū)?shù)字信號(hào)處理單元的數(shù)據(jù)信息調(diào)制并發(fā)送到天線中,也可以將天線接收到的信息解調(diào)成數(shù)字信號(hào)傳送給協(xié)議處理單元,帶有一定的天線驅(qū)動(dòng)能力。MF RC500的工作頻率為13.56MHz,它可以在有效的發(fā)射空間內(nèi)形成一個(gè)13.56MHz的交變電磁場(chǎng),為處于發(fā)射區(qū)域內(nèi)的非接觸式IC卡提供能量,同時(shí)卡或RC500需要傳送的數(shù)據(jù)信息也被調(diào)制在這個(gè)頻率上。RC500與非接觸式IC卡之間能量的傳遞和數(shù)據(jù)雙向傳輸?shù)倪^程是初級(jí)和次級(jí)兩個(gè)線圈之間的耦合過程,從讀卡器發(fā)射給卡的數(shù)據(jù)信息在調(diào)制前采用彌勒(Miller)編碼,而從卡到讀卡器的數(shù)據(jù)信息采用曼徹斯特編碼。4.2  實(shí)時(shí)時(shí)

11、鐘刷卡時(shí)要記錄刷卡的時(shí)間,用外接硬件實(shí)時(shí)時(shí)鐘芯片的辦法,為系統(tǒng)提供一個(gè)準(zhǔn)確可靠的時(shí)鐘,用3V備用電池保證在系統(tǒng)掉電時(shí)也能正常走時(shí)。我們選用體積小、接口簡(jiǎn)單的實(shí)時(shí)時(shí)鐘芯片DS1302。它是美國(guó)DALLAS公司推出的低功耗串行通信接口專用芯片,采用3線串行方式與單片機(jī)進(jìn)行數(shù)據(jù)通信。DS1302片內(nèi)還有31字節(jié)的靜態(tài)RAM,可自動(dòng)進(jìn)行閏年補(bǔ)償。數(shù)據(jù)可按單字節(jié)方式或多字節(jié)突發(fā)方式傳送。DS1302為8腳DIP封裝5,與P89C58串行接口用3根線,SCLK接CPU的P2.2,同步時(shí)鐘輸入;RST接CPU的P2.3,通信允許信號(hào);I/O接CPU的P2.4,串行數(shù)據(jù)輸入輸出。此外,X1,X2接32768H

12、z的石英晶振;Vcc1接3V備用鋰電池,主電源接Vcc2。每個(gè)數(shù)據(jù)傳輸都是先送命令字節(jié),隨后才是數(shù)據(jù)。單字節(jié)方式傳送時(shí),在RST=1期間(RST必須為1數(shù)據(jù)傳送才有效),先送命令字節(jié),緊接著發(fā)送一個(gè)字節(jié)的數(shù)據(jù),DS1302在接收到命令字節(jié)后自動(dòng)將數(shù)據(jù)寫入指定的內(nèi)部地址或從該地址讀取數(shù)據(jù)。寫數(shù)據(jù)在SCLK的上升沿有效,讀數(shù)據(jù)是在SCLK的下降沿有效。多字節(jié)突發(fā)方式傳送時(shí),在命令字節(jié)后,是多個(gè)字節(jié)的數(shù)據(jù)。在RST=1期間,DS1302接收到命令字節(jié)后,接著進(jìn)行8個(gè)字節(jié)日歷時(shí)鐘數(shù)據(jù)或31個(gè)字節(jié)內(nèi)部RAM單元數(shù)據(jù)的讀寫操作。DS1302內(nèi)部寄存器地址中,00H-06H分別對(duì)應(yīng)存放秒、分、時(shí)、日、月、星

13、期、和年信息的寄存器,07H為寫保護(hù)控制寄存器,08H為電池充電控制寄存器。時(shí)鐘數(shù)據(jù)以BCD碼格式存放在00H-06H這7個(gè)寄存器中。在DS1302中串行數(shù)據(jù)傳送都是低位在前,高位在后,這與AT24C256的數(shù)據(jù)傳送正好相反。4.3  串行存儲(chǔ)器我們用AT24C256作數(shù)據(jù)存儲(chǔ)器。AT24C256是串行E2PROM存儲(chǔ)器,支持I2C總線數(shù)據(jù)傳輸協(xié)議,32KB存儲(chǔ)器容量,用兩根線與CPU構(gòu)成串行接口。SDA是雙向數(shù)據(jù)線,接CPU的P2.1;SCL是時(shí)鐘線,接CPU的P2.0;這兩根線必須接上拉電阻。WP是寫保護(hù)線,一般接地,表示允許讀寫操作。A0、A1是地址線,通過這二根地址線CPU最

14、多可尋址4個(gè)AT24C256器件,4個(gè)芯片都有固定的地址,分別對(duì)應(yīng)A0、A1為00到11,在此二根地址線上可擴(kuò)充13片AT24C256串行E2PROM存儲(chǔ)器。串行E2PROM讀寫格式和操作時(shí)序如圖4所示。圖4     串行E2PROM讀寫格式和操作時(shí)序?qū)憯?shù)據(jù)到AT24C256有字節(jié)寫和頁(yè)面寫兩種方式。在字節(jié)寫模式下,主器件(單片機(jī))發(fā)送起始信號(hào)和從器件(AT24C256)地址信息,在從器件送回應(yīng)答信號(hào)后,主器件發(fā)送兩個(gè)8位地址字節(jié)給AT24C256,主器件在收到從器件的應(yīng)答信號(hào)后,再發(fā)送數(shù)據(jù)到被尋址的存儲(chǔ)單元。AT24C256再次應(yīng)答,并在主器件產(chǎn)生停止

15、信號(hào)后開始內(nèi)部數(shù)據(jù)的擦寫周期,在內(nèi)部擦寫過程中AT24C256不再應(yīng)答主器件的任何請(qǐng)求。頁(yè)寫模式下一次最多可以寫入64個(gè)字節(jié)數(shù)據(jù)。從AT24C256中讀數(shù)據(jù)有三種方式,即當(dāng)前地址讀、隨機(jī)讀和連續(xù)讀。如隨機(jī)讀,允許主器件對(duì)E2PROM的任意地址進(jìn)行讀操作。分兩步進(jìn)行,首先主器件發(fā)起始信號(hào)、器件地址和兩字節(jié)的存儲(chǔ)器地址執(zhí)行一個(gè)偽寫操作,在AT24C256應(yīng)答之后,主器件再發(fā)起始信號(hào)和器件地址,AT24C256響應(yīng)并發(fā)應(yīng)答信號(hào),然后輸出8位數(shù)據(jù),主器件收到數(shù)據(jù)后發(fā)停止信號(hào)結(jié)束本次操作。連續(xù)讀可用隨機(jī)讀開始,在收到AT24C256發(fā)來的8位數(shù)據(jù)后,主器件不發(fā)停止信號(hào),而發(fā)應(yīng)答信號(hào), AT24C256收

16、到主器件的應(yīng)答信號(hào)后,又傳下一個(gè)地址的數(shù)據(jù),一直進(jìn)行下去,直到主器件發(fā)停止信號(hào)為止。5  程序設(shè)計(jì)5.1  單片機(jī)主程序流程圖單片機(jī)的程序包括:IC卡讀/寫/密碼驗(yàn)證/擦除操作程序,與RC500通信中斷處理程序,鍵盤中斷處理程序,與PC機(jī)通信中斷處理程序,顯示程序及存儲(chǔ)器讀寫程序等。讀卡器的主程序流程圖如圖5所示:圖5     讀卡器的主程序流程圖5.2  讀/寫卡程序設(shè)計(jì)讀寫卡過程是一個(gè)很復(fù)雜的程序執(zhí)行過程,要執(zhí)行一系列的操作指令,調(diào)用多個(gè)C51函數(shù)。包括裝載密碼,詢卡,防沖突,選卡,驗(yàn)證密碼,讀寫卡,停卡。這一系列的操作

17、必須按固定的順序進(jìn)行。在沒有Mifare卡進(jìn)入射頻天線有效范圍時(shí),在低5位顯示當(dāng)前時(shí)鐘,當(dāng)有Mifare卡進(jìn)入到射頻天線的有效范圍,讀卡程序驗(yàn)證卡及密碼成功后,將卡號(hào)和讀卡時(shí)間及相關(guān)數(shù)據(jù)作為一條記錄存入E2PROM存儲(chǔ)器中,并在LED顯示器高5位上顯示卡號(hào)。程序設(shè)計(jì)采用單片機(jī)匯編語(yǔ)言和KeilC51混合編程。看門狗定時(shí)器中斷服務(wù)程序采用匯編語(yǔ)言編寫,其它程序采用C語(yǔ)言編寫。程序的每一部分按模塊化設(shè)計(jì)成一個(gè)文件,單獨(dú)調(diào)試通過后,再在KeilC51環(huán)境下加入到工程文件中匯編生成HEX文件,用仿真器進(jìn)行仿真通過后,寫入P89C58BP芯片中脫離仿真器運(yùn)行。6  結(jié)束語(yǔ)本文設(shè)計(jì)的Mifare

18、系列射頻卡讀寫器能夠讀寫多種Mifare系列射頻卡,如Mifare 1 S50、Mifare Light和Mifare Pro等,讀寫距離在10cm范圍內(nèi)。該讀寫器操作方便靈活,只要通過計(jì)算機(jī)串口按規(guī)定協(xié)議發(fā)送命令給它即可完成讀卡、寫卡、取消和更改密碼等操作;也可設(shè)置為脫離計(jì)算機(jī)獨(dú)立工作方式,必要時(shí)再將所存儲(chǔ)的記錄數(shù)據(jù)上傳到上位機(jī)供其處理。本讀寫器已經(jīng)實(shí)際應(yīng)用在長(zhǎng)沙某非接觸式IC卡預(yù)付費(fèi)電度表的售電系統(tǒng)中,系統(tǒng)運(yùn)行良好、可靠性高。實(shí)際應(yīng)用中證明:此射頻卡讀寫器系統(tǒng)讀寫非接觸式IC卡片迅速、方便、可靠、安全、穩(wěn)定,深受用戶歡迎。有足夠的優(yōu)勢(shì)取代目前仍使用磁卡和接觸式IC卡讀寫器的應(yīng)用,具有巨大的

19、市場(chǎng)競(jìng)爭(zhēng)力和廣闊的發(fā)展前景?;贛F RC500的射頻識(shí)別讀寫器設(shè)計(jì)作者:huqin    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù): 168    更新時(shí)間:2006-7-4    摘要:主要介紹一種基于Philips公司的MF RC500的射頻識(shí)別讀寫器的設(shè)計(jì):首先介紹系統(tǒng)的組成以及MF RC500的特性,接著給出天線的設(shè)計(jì)規(guī)范,最后給出MCU 89C52與MF RC500的接口原理圖、對(duì)M

20、ifare卡操作流程以及及讀卡的程序。該系統(tǒng)選用Mifare卡作為系統(tǒng)的應(yīng)答器(PICC),電路穩(wěn)定,系統(tǒng)運(yùn)行正常。    關(guān)鍵詞:射頻識(shí)別技術(shù) 應(yīng)答器PICC 讀寫器PCD Mifare卡 MF RC500    與傳統(tǒng)的接觸式IC卡、磁卡相比較,利用射頻識(shí)別技術(shù)(radio frequncy identification)開發(fā)的非接觸式IC識(shí)別器,在系統(tǒng)壽命、防監(jiān)聽、防解密等性能上具有很大的優(yōu)勢(shì)。利用MCU 89C52、MF

21、0;RC500、Mifare卡等構(gòu)建非接觸式IC讀寫器,并在該讀寫器基礎(chǔ)上能很容易地開發(fā)出適用于各方面的自動(dòng)識(shí)別系統(tǒng)。1 MF RC500介紹    MF RC500是應(yīng)用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56MHz下所有類型的被動(dòng)非接觸式通信方式和協(xié)議。MF RC500支持ISO14443A所有的層,內(nèi)部的發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動(dòng)近操作距離的天線(可達(dá)100mm);接收器部分提供一個(gè)堅(jiān)固而有效的解調(diào)和解碼電路,用

22、于ISO14443兼容的應(yīng)答器信號(hào);數(shù)字部分處理ISO14443A幀和錯(cuò)誤檢測(cè)(奇偶&CRC)。此外,它還支持快速CRYPTO1加密算法,用于驗(yàn)證Mifare系列產(chǎn)品。方便的并行接口可直接連接到任何8位微處理器,給讀卡器/終端的設(shè)計(jì)提供了極大的靈活性。2 系統(tǒng)組成    從圖1可以看出,系統(tǒng)主要由MCU、時(shí)鐘芯片、MFRC500、液晶屏、看門狗以及485通信模塊組成。系統(tǒng)的工作方式主要是,先由MCU控制MF RC500驅(qū)動(dòng)天線對(duì)Mifare卡,也就是應(yīng)答器(PICC),進(jìn)行讀寫操作。然后,根據(jù)所得的數(shù)據(jù)對(duì)其它接口器件,如液晶屏

23、、EEPROM、時(shí)鐘芯片等,進(jìn)行響應(yīng)操作。最后,與PC機(jī)之間進(jìn)行通信,把數(shù)據(jù)傳給上位機(jī)。    MCU采用89C52,是因?yàn)?9C52開發(fā)簡(jiǎn)單,運(yùn)行穩(wěn)定。EEPROM采用24C256,用于存儲(chǔ)系統(tǒng)的數(shù)據(jù)。24C256是串口操作方式,是一種性價(jià)比較高的存儲(chǔ)芯片。液晶屏采用帶字庫(kù)的ST7920,是因?yàn)樗遣⒖诓僮鞣绞降?,操作方便。時(shí)鐘芯片采用DS12C887。DS12C887是Dallas公司生產(chǎn)的新型產(chǎn)品,內(nèi)置電池,可連續(xù)使用10年,可以方便記錄事件的發(fā)生時(shí)間。為了防止系統(tǒng)“死機(jī)”,使用x5045作為看門狗。X5045是串口工作方式,內(nèi)置EEPROM,可用

24、來存儲(chǔ)一些系統(tǒng)參數(shù)。與上位機(jī)的通信采用RS-485通信模塊,通信距離可以達(dá)到1000m左右。    整個(gè)系統(tǒng)由24V電源供電,再由穩(wěn)壓模塊7805穩(wěn)壓成5V的電源。由于7805的工作熱量很高,故在7805上安置一個(gè)散熱片。3 系統(tǒng)工作原理    系統(tǒng)數(shù)據(jù)存儲(chǔ)在無源Mifare卡,也就是PICC中。從圖2可以看出,PCD的主要任務(wù)是傳輸能量給PICC,并建立與之的通信。PICC是由一個(gè)電子數(shù)據(jù)作載體,通常由單個(gè)微型芯片以及用作天線的大面積線圈等組成;而PCD產(chǎn)生高頻的強(qiáng)電磁場(chǎng),這種磁場(chǎng)穿過線圈橫截面和線圈周

25、圍的空間。因?yàn)镸F RC500提供的頻率為13.56MHz,所以其波長(zhǎng)比PCD的天線和PICC之間的距離大好多倍,可以把PICC到天線之間的電磁場(chǎng)當(dāng)作簡(jiǎn)單的交變磁場(chǎng)來對(duì)待。PCD天線線圈發(fā)射磁場(chǎng)的一小部分磁力線穿過PICC的天線線圈,接著PICC的天線線圈和電容器C構(gòu)成振蕩回路,調(diào)頻到PCD的發(fā)射頻率。回路的諧振使PICC線圈的電壓達(dá)到最大值,將其整流后作為數(shù)據(jù)載體(微型芯片)的電源。PICC啟動(dòng)之后 ,可與PCD之間進(jìn)行數(shù)據(jù)通信。    如上所述可以看出,PCD的性能與天線的參數(shù)有著直接的關(guān)系。在對(duì)天線的性能進(jìn)行優(yōu)化之后,PCD的讀

26、卡距離可以達(dá)到10cm。4 PCD的天線設(shè)計(jì)    由于MF RC500的頻率是13.56MHz,屬于短波段,因此可以采用小環(huán)天線。小環(huán)天線有方型、圓形、橢圓型、三角型等,本系統(tǒng)采用方型天線。天線的最大幾何尺寸同工作波長(zhǎng)之間沒有一個(gè)嚴(yán)格的界限,一般定義為:L/1/(2)  (1)式(1)中,L是天線的最大尺寸,是工作波長(zhǎng)。對(duì)于13.6MHz的系統(tǒng)來說,天線的最大尺寸在50cm左右。    在天線設(shè)計(jì)中,品質(zhì)因數(shù)Q是一個(gè)非常重要的參數(shù)。對(duì)于電感耦合式射頻識(shí)別系統(tǒng)的PCD天線來說

27、,較高品質(zhì)因數(shù)的值會(huì)使天線線圈中的電流強(qiáng)度大些,由此改善對(duì)PICC的功率傳送。品質(zhì)因數(shù)的計(jì)算公式為:Q=(2f0·Lcoil)/Rcoil   (2)式(2)中的f0是工作頻率,Lcoil是天線的尺寸,Rcoil是天線的半徑。通過品質(zhì)因數(shù)可以很容易計(jì)算出天線的帶寬:B=f0/Q    (3)    從式(3)中可以看出,天線的傳輸帶寬與品質(zhì)因數(shù)成反比關(guān)系。因此,過高的品質(zhì)因數(shù)會(huì)導(dǎo)致帶寬縮小。從而減弱PCD的調(diào)制邊帶,會(huì)導(dǎo)致PCD無法與卡通信。一般系統(tǒng)的最佳品質(zhì)因數(shù)為1030,

28、最大值不能超過60。5 MF RC500與MCU 89C52的部分接口電路    圖3為MF RC500與MCU的接口原理。由圖3可以看出,本系統(tǒng)采用中斷(INT1)工作模式,即MCU利用MFRC500提供中斷信息對(duì)其進(jìn)行控制。另外,根據(jù)系統(tǒng)的需要,可以采用查詢方式對(duì)MF RC500進(jìn)行操作。6 對(duì)Mifarel卡操作流程    整個(gè)系統(tǒng)的工作由對(duì)Mifare卡操作和系統(tǒng)后臺(tái)處理兩大部分組成。由于篇幅有限,本文只介紹對(duì)Mifare卡操作流程。Mifare卡

29、的操作可以分為以下幾項(xiàng)。(1)復(fù)位請(qǐng)求    當(dāng)一張Mifare卡片處在卡處讀寫器的天線的工作范圍之內(nèi)時(shí),程序員控制讀寫器向卡片發(fā)出REQUEST all(或REQUEST std)命令??ㄆ腁TR將啟動(dòng),將卡片Block 0中的卡片類型(TagType)號(hào)共2個(gè)字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。    如果不進(jìn)行得位請(qǐng)求操作,讀寫器對(duì)卡片的其它操作將不會(huì)進(jìn)行。(2)反碰撞操作    如果有多張Mifare卡片處在卡片讀寫器的

30、天線的工作范圍之內(nèi)時(shí),PCD將首先與每一張卡片進(jìn)行通信,取得每一張卡片的系列號(hào)。由于每一張Mifare卡片都具有其唯一的序列號(hào),決不會(huì)相同,因此PCD根據(jù)卡片的序列號(hào)來保證一次只對(duì)一張卡操作。該操作PCD得到PICC的返回值為卡的序列號(hào)。(3)卡選擇操作    完成了上述二個(gè)步驟之后,PCD必須對(duì)卡片進(jìn)行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。(4)認(rèn)證操作    經(jīng)過上述三個(gè)步驟,在確認(rèn)已經(jīng)選擇了一張卡片時(shí),PCD在對(duì)卡進(jìn)行讀寫操作之前,必須對(duì)卡片上已經(jīng)設(shè)置的密碼進(jìn)行認(rèn)證。如果匹配,才允許進(jìn)一步的讀寫操作。

31、(5)讀寫操作    對(duì)卡的最后操作是讀、寫、增值、減值、存儲(chǔ)和傳送等操作。7 讀卡程序    根據(jù)上面的流程,采用基于Keil C的C語(yǔ)言進(jìn)行編程,程序如下:char M500Reset(void) char status;RC500RST=0; /RC500在RSTPD腳由高變低的時(shí)候復(fù)位delay_1ms(25); /注意延時(shí)的長(zhǎng)度,本系統(tǒng)的晶振頻率是11.0592MHzRC500RST=1;delay_50us(200);RC500RST

32、=0;delay_50us(50);.return status;char M500Config(void)/對(duì)RC500的寄存器進(jìn)行初始化char M500PiccCommonRequest(unsigned char req_code,unsigned char *atq)    /RC500發(fā)送請(qǐng)求。req_code是請(qǐng)求模式,一共有request all和Request std兩種模式。Request all指令是非連續(xù)性的讀卡指令,只讀一次。但有

33、個(gè)例外,當(dāng)某一次Request all指令讀卡片失敗時(shí),例如,卡片沒能通過密碼認(rèn)證或其它原因而出錯(cuò)時(shí),Request all指令將連續(xù)地讀卡,直到讀卡成功才進(jìn)入非連續(xù)性的讀卡模式。Request std指令的使用和Request all指令剛巧相反。Request std指令是連續(xù)性的讀卡指令。當(dāng)某一張卡片在MCM之天線的有效的工作范圍(距離)內(nèi),Request std指令在成功地讀取這一張卡片之后,進(jìn)入MCM對(duì)卡片的其它操作。如果其它操作完成之后 ,程序員又將MCM進(jìn)入Request std指令操作,則Reque

34、st std指令將連續(xù)地再次進(jìn)行讀卡操作,而不管這些片卡是否被拿卡。只要有一張卡片進(jìn)入MCM之天線的有效的工作范圍(范圍)內(nèi),Request std指令將始終連續(xù)地再次進(jìn)行讀卡操作。對(duì)于Mifare1卡,該函數(shù)反回值為0004H。char M500PiccCascAnticoll(unsigned char bcnt,unsignedchar *snr) /反碰撞函數(shù),得到一張卡的序列號(hào)/存入snr中char M500PiccCascSelect(unsigned char *snr,unsig

35、ned char *sak) /選中snr指定的卡,對(duì)于Mifarel卡返回值為0008H,值存入sak中char M500PiccAuthKey(unsigned char auth_mode,unsigned char *snr,unsigned char *keys,unsigned char block)/這是三輪認(rèn)證函數(shù),整個(gè)過程包括:先將所要訪問的區(qū)密碼加密(如區(qū)0的初始密碼為6個(gè)FFH),再將加密后的密碼通過Loadkey存入MF RC500的Key緩

36、存中,接著進(jìn)行認(rèn)證。Char M500PiccRead(unsigned char addr,unsigned char *_data) /最后讀卡,讀到的數(shù)據(jù)存入_data中結(jié)語(yǔ)    本文主要介紹一種基于MF RC500的射頻識(shí)別讀寫器的設(shè)計(jì)方法。試驗(yàn)證明系統(tǒng)運(yùn)行穩(wěn)定,在此讀寫器的基礎(chǔ)上,只要稍加屐就能開發(fā)成不同的射頻識(shí)別應(yīng)用系統(tǒng),如考勤系統(tǒng)、門禁 系統(tǒng)、公交車收費(fèi)系統(tǒng)等高集成度TYPE A讀寫器芯片MF RC500及其應(yīng)用作者:huqin 

37、   文章來源:本站原創(chuàng)    點(diǎn)擊數(shù): 97    更新時(shí)間:2006-7-4    摘要:介紹了高集成度TYPE A讀寫器芯片MF RC500的內(nèi)部電路結(jié)構(gòu),并對(duì)其內(nèi)部寄存器的有關(guān)命令及加密算法等功能做了較詳細(xì)的闡述,最后在此基礎(chǔ)上給出了MF RC500的典型應(yīng)用電路。       關(guān)鍵詞:TYPE A;讀寫器;FIFO;命令;CRYPTO1    &#

38、160; 引言  是公司生產(chǎn)的高集成度 讀寫器芯片。其主要性能如下:載波頻率為;集成了編碼調(diào)制和解調(diào)解碼的收發(fā)電路;天線驅(qū)動(dòng)電路僅需很少的外圍元件,有效距離可達(dá);內(nèi)部集成有并行接口控制電路,可自動(dòng)檢測(cè)外部微控制器()的接口類型;具有內(nèi)部地址鎖存和線,可以很方便地與接口。集成有字節(jié)的收發(fā)緩存器;內(nèi)部寄存器、命令集、加密算法可支持 標(biāo)準(zhǔn)的各項(xiàng)功能,同時(shí)支持類卡的有關(guān)協(xié)議。數(shù)字、模擬、發(fā)送電路都有各自獨(dú)立的供電電源?;谝陨咸攸c(diǎn),用 極易設(shè)計(jì) 型卡的讀寫器,可廣泛用于非接觸式公共電話、儀器儀表、非接觸式手持終端等領(lǐng)域。   引腳功能  為腳

39、封裝,需說明的是:某些引腳(帶號(hào))依據(jù)其所用(微控制器)的接口情況具有不同功能。      工作原理  的內(nèi)部電路框圖如圖所示,它由并行接口及控制電路、密鑰存貯及加密算法、狀態(tài)機(jī)與寄存器、數(shù)據(jù)處理電路、模擬電路調(diào)制、解調(diào)及輸出驅(qū)動(dòng)電路等組成。  寄存器設(shè)置  芯片的內(nèi)部寄存器按頁(yè)分配,并通過相應(yīng)尋址方法獲得地址。內(nèi)部寄存器共分頁(yè),每頁(yè)有個(gè)寄存器,每頁(yè)的第一個(gè)寄存器稱為頁(yè)寄存器,用于選擇該寄存器頁(yè)。每個(gè)寄存器由位組成,其位特性有四種:讀寫()、只讀()、僅寫()和動(dòng)態(tài)()。其中屬性位可由微控制器讀寫,也可以

40、在執(zhí)行實(shí)際命令后自動(dòng)由內(nèi)部狀態(tài)機(jī)改變位值。 微控制器通過對(duì)內(nèi)部寄存器的寫和讀,可以預(yù)置和讀出系統(tǒng)運(yùn)行狀況。寄存器在芯片復(fù)位狀態(tài)為其預(yù)置初始值。了解內(nèi)部寄存器的設(shè)置對(duì)于軟件編程至關(guān)重要.  并行接口 芯片可直接支持各種微控制器(),也可直接和機(jī)的增強(qiáng)型并行接口()相連接,每次上電()或硬啟動(dòng)()后,芯片會(huì)復(fù)原其并行接口模式并檢測(cè)當(dāng)前的接口類型,通常用檢測(cè)控制引腳邏輯電平的方法來識(shí)別接口,并利用固定引腳連接和初始化相結(jié)合的方法實(shí)現(xiàn)正確的接口。圖給出了相應(yīng)的連接接線圖。  存貯器 的共有塊,每塊字節(jié)。存貯區(qū)分為四部分:第一部分為塊,屬性為只讀,用于保存產(chǎn)品的有關(guān)信息;第二部分為塊和塊,它們具有讀寫屬性,用于存放寄存器初始化啟動(dòng)文件;第三部分從塊至塊,用于存放寄存器初始化文件,屬性為讀寫;第四部分從塊至塊,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論