亚洲狼窝一区二区在线观看-米奇精品一区二区三区在线观看-一区二区三区美女免费作爱视频-av中文字幕不卡在线播放

歡迎您訪問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠(chéng)信通企業(yè)
全國(guó)咨詢(xún)熱線:40000-63966
興邦電子,中國(guó)水控機(jī)第一品牌

聯(lián)系興邦電子

全國(guó)咨詢(xún)熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

Mifare 系列射頻卡讀寫(xiě)器的研制

文章出處:http://m.luckydriving.com 作者:李建軍   人氣: 發(fā)表時(shí)間:2011年10月15日

[文章內(nèi)容簡(jiǎn)介]:射頻IC卡讀寫(xiě)器以射頻識(shí)別技術(shù)為核心,讀寫(xiě)器內(nèi)主要使用了1 片Mifare卡專(zhuān)用的讀寫(xiě)處理芯片(MF RC500)。它是一個(gè)小型的最大操作距離達(dá)100mm的Mifare讀/寫(xiě)設(shè)備的核心器件,其功能包括調(diào)制、解調(diào)、產(chǎn)生射頻信號(hào)、安全管理和防碰撞機(jī)制。

    1 引言 

    IC卡按卡與外界數(shù)據(jù)傳送的形式不同,分為接觸式IC卡和非接觸式 IC卡。接觸式IC卡通過(guò)8個(gè)觸點(diǎn)從讀寫(xiě)器獲取能量和交換數(shù)據(jù);非接觸式IC卡通過(guò)射頻感應(yīng)從讀寫(xiě)器獲取能量和交換數(shù)據(jù),所以非接觸式IC卡又叫射頻卡?,F(xiàn)在常見(jiàn)的是接觸式IC卡,這類(lèi)卡的讀寫(xiě)操作速度較慢,操作也不方便,每次讀寫(xiě)時(shí)必須把卡正確地插入到讀寫(xiě)器的口槽才能完成數(shù)據(jù)交換。這樣,在公交、考勤等需要頻繁讀寫(xiě)卡的場(chǎng)合就很不方便,而且IC卡的觸點(diǎn)暴露在外,容易損壞和搞臟而造成接觸不良。非接觸式IC卡是根據(jù)電磁感應(yīng)原理產(chǎn)生的。它的讀寫(xiě)操作只需將卡片放在讀寫(xiě)器附近一定的距離之內(nèi)就能實(shí)現(xiàn)數(shù)據(jù)交換,無(wú)需任何接觸,使用非常方便、快捷,不易損壞。因此,在公交、門(mén)禁、校園、企事業(yè)人事管理等方面有廣泛的應(yīng)用前景。目前我國(guó)引進(jìn)的射頻IC卡主要有PHILIPS公司的Mifare卡和ATMEL公司的Temic卡[1]。而PHILIPS公司的 Mifare卡現(xiàn)在是市場(chǎng)的主流產(chǎn)品,應(yīng)用越來(lái)越廣。其典型型號(hào)為Mifare1 S50,它有1K字節(jié)E2PROM用于存放數(shù)據(jù),分成16個(gè)區(qū),每個(gè)區(qū)都有自己獨(dú)立的密碼,完善的安全機(jī)制使之具有一卡多用的特性。 

    Mifare 卡是一種智能卡(smart card),內(nèi)建有中央微處理機(jī)(MCU)和ASIC等,使卡在安全保密性、認(rèn)證邏輯、算術(shù)運(yùn)算等微操作控制有序進(jìn)行。 Mifare 卡讀寫(xiě)器的設(shè)計(jì)一般用PHILIPS公司生產(chǎn)的讀寫(xiě)模塊MCM200或MCM500。隨著技術(shù)的進(jìn)步,PHILIPS公司現(xiàn)在生產(chǎn)了功能及性能更好的讀卡芯片,我們就是以這種芯片為基礎(chǔ)來(lái)設(shè)計(jì)和開(kāi)發(fā)Mifare射頻卡讀寫(xiě)器。

    2 工作原理 

    射頻IC卡讀寫(xiě)器以射頻識(shí)別技術(shù)為核心,讀寫(xiě)器內(nèi)主要使用了1 片Mifare卡專(zhuān)用的讀寫(xiě)處理芯片(MF RC500)。它是一個(gè)小型的最大操作距離達(dá)100mm的Mifare讀/寫(xiě)設(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套密鑰的只寫(xiě)存儲(chǔ)器以及進(jìn)行三次證實(shí)和數(shù)據(jù)加密的密碼機(jī)、防碰撞處理的防碰撞模塊和控制單元。這是與射頻卡實(shí)現(xiàn)無(wú)線通信的核心模塊,也是讀寫(xiě)器讀寫(xiě)Mifare卡的關(guān)鍵接口芯片。 

    讀寫(xiě)器工作時(shí),與Mifare卡專(zhuān)用的讀卡芯片(MF RC500)相連的天線線圈[3]不斷地向外發(fā)出一組固定頻率的電磁波(13.56MHz),當(dāng)有卡靠近時(shí),卡片內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與讀寫(xiě)器的發(fā)射頻率相同,這樣在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容充電有了電荷。在這個(gè)電容另一端,接有一個(gè)單向?qū)щ姷碾娮颖?,將電容?nèi)的電荷送到另一個(gè)電容內(nèi)存儲(chǔ)。當(dāng)電容器充電達(dá)到2V時(shí),此電容就作為電源為卡片上的其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫(xiě)器發(fā)來(lái)的數(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ù)一次性寫(xiě)入完成。發(fā)卡器實(shí)際上是一種通用寫(xiě)卡器,直接與PC機(jī)的RS-232串行口相連或經(jīng)過(guò)RS-485網(wǎng)絡(luò)間接與PC機(jī)相連,由系統(tǒng)管理員管理,通過(guò)PC機(jī)設(shè)置或選擇好要寫(xiě)入的數(shù)據(jù),發(fā)出寫(xiě)卡命令完成對(duì)Mifare卡的數(shù)據(jù)及密碼的寫(xiě)入。與讀卡器不同,發(fā)卡器往往處于被動(dòng)地位,不主動(dòng)讀寫(xiě)進(jìn)入射頻能量范圍內(nèi)的射頻卡,必須接收PC機(jī)的命令才操作,即必須聯(lián)機(jī)才能工作;而讀卡器往往可以脫離PC管理機(jī)工作。讀卡器是主動(dòng)操作的,只要有非接觸式IC卡進(jìn)入讀卡器天線射頻能量范圍,讀卡器便可讀寫(xiě)卡中相關(guān)指定扇區(qū)的數(shù)據(jù)。 

典型射頻卡應(yīng)用系統(tǒng)組成框圖

圖1 典型射頻卡應(yīng)用系統(tǒng)組成框圖 

    發(fā)卡器與讀卡器在硬件設(shè)計(jì)上大同小異,都是由單片機(jī)控制專(zhuān)用讀寫(xiě)芯片(MF RC500),再加上一些必要的外圍器件組成。圖2為讀卡器硬件系統(tǒng)組成。讀卡器用P89C58BP單片機(jī)作主控制器;MF RC500射頻芯片作為單片機(jī)與射頻卡通訊的中介;74HC595作顯示驅(qū)動(dòng)器驅(qū)動(dòng)LED數(shù)碼顯示器,PS/2總線作為通用編碼鍵盤(pán)接口,鍵盤(pán)與LED顯示器作為人機(jī)交互接口;AT24C256串行E2PROM作數(shù)據(jù)存儲(chǔ)器;DS1302串行時(shí)鐘芯片作硬件實(shí)時(shí)時(shí)鐘;MAX232或MAX485作串口信號(hào)轉(zhuǎn)換;DS1232作看門(mén)狗定時(shí)器;Q9012三極管作提示報(bào)警信號(hào)驅(qū)動(dòng),有卡進(jìn)入并讀卡成功指示燈閃一下,喇叭叫一聲。Mifare射頻卡進(jìn)入距離射頻天線100mm內(nèi),讀卡器就可以讀到卡中的數(shù)據(jù)。讀卡器讀到Mifare射頻卡中的數(shù)據(jù)后,系統(tǒng)單片機(jī)要將所讀數(shù)據(jù)及刷卡的時(shí)間一起存入存儲(chǔ)器 AT24C256,并在LED顯示器上顯示卡數(shù)據(jù)。沒(méi)有卡進(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ù)擦寫(xiě)、修改程序,同時(shí),由于外部不用擴(kuò)展程序存儲(chǔ)器,可以簡(jiǎn)化電路設(shè)計(jì),減小讀卡器的尺寸,同時(shí)有較多的I/O口提供給系統(tǒng)使用。 



圖2 讀卡器硬件系統(tǒng)組成

    4 硬件設(shè)計(jì) 

    4.1 射頻芯片 

    MF RC500是Philips公司為Mifare卡設(shè)計(jì)的專(zhuān)用讀卡芯片,它與非接觸式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位并行“無(wú)縫”接口(直接連接),其內(nèi)部還具有64個(gè)字節(jié)的先進(jìn)先出(FIFO)隊(duì)列,可以和微控制器之間高速傳輸數(shù)據(jù);其片內(nèi)的ISO14443A協(xié)議處理單元包括狀態(tài)和控制單元、數(shù)據(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ù)倪^(guò)程是初級(jí)和次級(jí)兩個(gè)線圈之間的耦合過(guò)程,從讀卡器發(fā)射給卡的數(shù)據(jù)信息在調(diào)制前采用彌勒(Miller)編碼,而從卡到讀卡器的數(shù)據(jù)信息采用曼徹斯特編碼。 

    4.2 實(shí)時(shí)時(shí)鐘 

    刷卡時(shí)要記錄刷卡的時(shí)間,用外接硬件實(shí)時(shí)時(shí)鐘芯片的辦法,為系統(tǒng)提供一個(gè)準(zhǔn)確可靠的時(shí)鐘,用3V備用電池保證在系統(tǒng)掉電時(shí)也能正常走時(shí)。我們選用體積小、接口簡(jiǎn)單的實(shí)時(shí)時(shí)鐘芯片DS1302。它是美國(guó)DALLAS公司推出的低功耗串行通信接口專(zhuān)用芯片,采用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接32768Hz的石英晶振;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ù)寫(xiě)入指定的內(nèi)部地址或從該地址讀取數(shù)據(jù)。寫(xiě)數(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ù)的讀寫(xiě)操作。DS1302內(nèi)部寄存器地址中,00H-06H分別對(duì)應(yīng)存放秒、分、時(shí)、日、月、星期、和年信息的寄存器,07H為寫(xiě)保護(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是寫(xiě)保護(hù)線,一般接地,表示允許讀寫(xiě)操作。A0、A1是地址線,通過(guò)這二根地址線CPU最多可尋址4個(gè)AT24C256器件,4個(gè)芯片都有固定的地址,分別對(duì)應(yīng)A0、A1為00到11,在此二根地址線上可擴(kuò)充1~3片AT24C256串行E2PROM存儲(chǔ)器。串行E2PROM讀寫(xiě)格式和操作時(shí)序如圖4所示。 



圖4 串行E2PROM讀寫(xiě)格式和操作時(shí)序 

    寫(xiě)數(shù)據(jù)到AT24C256有字節(jié)寫(xiě)和頁(yè)面寫(xiě)兩種方式。在字節(jié)寫(xiě)模式下,主器件(單片機(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)生停止信號(hào)后開(kāi)始內(nèi)部數(shù)據(jù)的擦寫(xiě)周期,在內(nèi)部擦寫(xiě)過(guò)程中AT24C256 不再應(yīng)答主器件的任何請(qǐng)求。頁(yè)寫(xiě)模式下一次最多可以寫(xiě)入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è)偽寫(xiě)操作,在 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ī)讀開(kāi)始,在收到AT24C256發(fā)來(lái)的8位數(shù)據(jù)后,主器件不發(fā)停止信號(hào),而發(fā)應(yīng)答信號(hào), AT24C256收到主器件的應(yīng)答信號(hào)后,又傳下一個(gè)地址的數(shù)據(jù),一直進(jìn)行下去,直到主器件發(fā)停止信號(hào)為止。

    5 程序設(shè)計(jì) 

    5.1 單片機(jī)主程序流程圖 

    單片機(jī)的程序包括:IC卡讀/寫(xiě)/密碼驗(yàn)證/擦除操作程序,與RC500通信中斷處理程序,鍵盤(pán)中斷處理程序,與PC機(jī)通信中斷處理程序,顯示程序及存儲(chǔ)器讀寫(xiě)程序等。讀卡器的主程序流程圖如圖5所示: 



圖5 讀卡器的主程序流程圖

    5.2 讀/寫(xiě)卡程序設(shè)計(jì) 

    讀寫(xiě)卡過(guò)程是一個(gè)很復(fù)雜的程序執(zhí)行過(guò)程,要執(zhí)行一系列的操作指令,調(diào)用多個(gè)C51函數(shù)。包括裝載密碼,詢(xún)卡,防沖突,選卡,驗(yàn)證密碼,讀寫(xiě)卡,???。這一系列的操作必須按固定的順序進(jìn)行。在沒(méi)有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混合編程??撮T(mén)狗定時(shí)器中斷服務(wù)程序采用匯編語(yǔ)言編寫(xiě),其它程序采用C語(yǔ)言編寫(xiě)。程序的每一部分按模塊化設(shè)計(jì)成一個(gè)文件,單獨(dú)調(diào)試通過(guò)后,再在KeilC51環(huán)境下加入到工程文件中匯編生成HEX文件,用仿真器進(jìn)行仿真通過(guò)后,寫(xiě)入P89C58BP芯片中脫離仿真器運(yùn)行。

    6 結(jié)束語(yǔ) 

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

本文關(guān)鍵詞:射頻卡,Mifare卡,讀寫(xiě)器
回到頂部