新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 非接觸式e5551讀寫(xiě)器的開(kāi)發(fā)

非接觸式e5551讀寫(xiě)器的開(kāi)發(fā)

作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:介紹了非接觸式e5551卡工作原理和與的接口,給出了非接觸式e5551卡讀寫(xiě)器的硬件電路和讀卡、寫(xiě)卡程序流程圖。關(guān)鍵詞:非接觸式卡 射頻識(shí)別 讀寫(xiě)器 RF 射頻識(shí)別RFIDRadio Frequency Identification技術(shù)是二十世紀(jì)九十年代興起的一項(xiàng)自動(dòng)識(shí)別技術(shù),它利用無(wú)線射頻方式進(jìn)行非接觸式雙向通信。RFID系統(tǒng)中卡片與讀寫(xiě)器之間無(wú)須物理接觸即可完成識(shí)別,可實(shí)現(xiàn)多目標(biāo)識(shí)別和運(yùn)動(dòng)目標(biāo)識(shí)別,應(yīng)用范圍更加廣泛。 根據(jù)工作頻率不同,RFID系統(tǒng)可分為低頻、中頻、高頻系統(tǒng)。低頻系統(tǒng)一般工作在100kHz~500kHz,中頻系統(tǒng)工作在10MHz~15MHz,它們主要適用于短距離、低成本識(shí)別高頻系統(tǒng)工作在850MHz~950MHz以及2.4GHz~5GHz的微波段,適用于距離長(zhǎng)、讀寫(xiě)數(shù)據(jù)率高的場(chǎng)合。本文介紹的e5551 RFID系統(tǒng)屬于低頻系統(tǒng),工作頻率范圍為100kHz~150kHz,最大識(shí)別距離約為20cm。1 非接觸式e5551卡工作原理 e5551 RFID系統(tǒng)組成如圖1所示。其中PC通過(guò)RS485通信遠(yuǎn)程操作e5551讀寫(xiě)器。讀寫(xiě)器利用微控制器(MCU)與e5551卡進(jìn)行交互讀寫(xiě)。 通過(guò)e5551卡內(nèi)線圈在特定交變磁場(chǎng)100kHz~150kHz中耦合,e5551獲得感應(yīng)電流,再通過(guò)整流得到直流加到卡內(nèi)電路,e5551得到工作電壓和電流。通過(guò)讀寫(xiě)器的線圈感應(yīng)e5551卡產(chǎn)生的磁場(chǎng)來(lái)讀取e5551發(fā)送的數(shù)據(jù)。 1.1 e5551卡的存儲(chǔ)結(jié)構(gòu) e5551卡內(nèi)置264位EEPROM。這些EEPROM共分為8塊,每塊33位,其分布如圖2所示。其中BLOCK0存儲(chǔ)e5551卡的參數(shù)設(shè)置信息;BLOCK7在口令加密功能啟動(dòng)時(shí)存放e5551卡的讀寫(xiě)控制密碼,當(dāng)加密功能沒(méi)有使用時(shí)存放用戶(hù)數(shù)據(jù);其它六個(gè)存儲(chǔ)塊存放各種數(shù)據(jù)。1.2 e5551卡工作參數(shù)的設(shè)定 BLOCK0用于設(shè)置e5551卡的各種操作特性,如同步信號(hào)、數(shù)據(jù)流格式、數(shù)據(jù)流長(zhǎng)度、加密、口令喚醒和停止發(fā)射的啟用/關(guān)閉等。 (1)位率(Bitrate)設(shè)定:位率可設(shè)置為RF/8、RF/16、RF/32、RF/40、RF/50、RF/64、RF/100、RF/128,由第12、13、14位確定。其中RF指載波頻率Radio Frequency。 (2)調(diào)制方式設(shè)定:調(diào)制方式由兩部分組成。第一部分為二進(jìn)制編碼方式,有直接編碼、曼切斯特編碼和雙相位編碼三種方式,由第16、17位確定;第二部分為頻率調(diào)制方式,有相位鍵控、頻率鍵控和直接編碼三種方式,由第18、19、20位確定。 (3)口令加密設(shè)定:由第28位決定。該位置1啟動(dòng)口令加密功能,在啟動(dòng)口令加密功能前應(yīng)該事先在BLOCK7寫(xiě)入密碼。啟動(dòng)口令加密功能后,用戶(hù)對(duì)e5551卡中數(shù)據(jù)進(jìn)行修改均要求提供密碼驗(yàn)證,密碼正確時(shí)修改有效,否則修改無(wú)效。圖3 e5551芯片上電后線圈兩端的電壓(4)請(qǐng)求應(yīng)答(Answer On Request)設(shè)定:由第23位決定。該位置1啟動(dòng)AOR功能,這時(shí)e5551卡進(jìn)入射頻區(qū)后不主動(dòng)發(fā)射數(shù)據(jù),由基站給e5551卡發(fā)射喚醒命令后再發(fā)射數(shù)據(jù)。該功能要求首先啟動(dòng)口令加密功能,即基站喚醒e5551卡必須在喚醒命令序列中向e5551卡發(fā)射口令密碼,e5551卡檢測(cè)到合法喚醒命令時(shí)才恢復(fù)發(fā)射數(shù)據(jù)。 (5)同步信號(hào)設(shè)定:e5551卡可以使用兩種不同的同步信號(hào)—Sequence Terminator和Block Terminator。Sequence Terminator在每個(gè)數(shù)據(jù)循環(huán)開(kāi)始時(shí)出現(xiàn);Block Terminator在每個(gè)BLOCK數(shù)據(jù)開(kāi)始時(shí)出現(xiàn)。兩種同步信號(hào)分別由第29、30位確定,它們既可以獨(dú)立使用也可以結(jié)合使用。 (6)發(fā)射最大數(shù)據(jù)塊數(shù)設(shè)定(MAXBLK):由第25、26、27位確定。當(dāng)MAXBLK設(shè)置為0時(shí),e5551卡只發(fā)射BLOCK0的數(shù)據(jù)給基站;當(dāng)設(shè)置為1時(shí)e5551卡只發(fā)射BLOCK1的數(shù)據(jù)給基站;當(dāng)設(shè)置為2時(shí),e5551卡發(fā)射BLOCK1和BLOCK 2的數(shù)據(jù)給基站,余者依次類(lèi)推。在啟動(dòng)口令加密功能后MAXBLK的值應(yīng)小于7,這樣e5551將不發(fā)射BLOCK7的數(shù)據(jù)。 2 e5551卡的讀寫(xiě) 2.1 e5551卡的讀 讀e5551卡是指U2270B通過(guò)MCU進(jìn)行讀卡。在e5551卡內(nèi)部,有個(gè)與e5551芯片相連的線圈,該線圈是e5551芯片供電與讀卡器的雙向通信接口。e5551卡就是利用該線圈產(chǎn)生具有阻尼特性的載頻信號(hào)向讀卡器發(fā)送數(shù)據(jù)。具體工作原理如圖3所示。當(dāng)e5551卡接近讀卡器時(shí),由讀卡器振蕩電路產(chǎn)生的磁場(chǎng)感應(yīng)e5551卡內(nèi)的LC調(diào)諧電路產(chǎn)生感應(yīng)電流,該電流經(jīng)過(guò)e5551芯片內(nèi)的整流器和過(guò)壓保護(hù)電路得到e5551芯片的直流工作電壓,形成上電復(fù)位,對(duì)應(yīng)圖3中的第一段;接著讀?。澹担担担毙酒瑑?nèi)BLOCK0的數(shù)據(jù),即圖3中的第二段;約2ms后,e5551卡按照設(shè)定的工作模式發(fā)送數(shù)據(jù),首先從BLOCK1的第一位開(kāi)始,直到MAXBLK所設(shè)定的最大塊的最后一位。 2.2 e5551卡的寫(xiě) 寫(xiě)e5551卡指U2270B通過(guò)MCU進(jìn)行寫(xiě)卡。讀卡器通過(guò)對(duì)e5551卡內(nèi)流過(guò)線圈的電流間隔性中斷實(shí)現(xiàn)寫(xiě)卡,用電流流過(guò)e5551卡內(nèi)線圈的持續(xù)時(shí)間實(shí)現(xiàn)對(duì)0和1的編碼。詳細(xì)過(guò)程如圖4所示。 e5551卡讀完BLOCK0數(shù)據(jù)后進(jìn)入默認(rèn)的讀卡操作,如圖4左半部分。若檢測(cè)到起始電流中斷,則e5551卡觸發(fā)寫(xiě)卡操作,即圖4的右半部分。電流中斷持續(xù)時(shí)間一般為50μs~150μs,但為了便于可靠地檢測(cè)起始電流中斷,起始電流中斷一般大于150μs。一般地,電流持續(xù)24個(gè)磁場(chǎng)脈沖周期編碼為0,電流持續(xù)56個(gè)磁場(chǎng)脈沖周期編碼為1。當(dāng)電流持續(xù)了64個(gè)磁場(chǎng)脈沖周期后仍未檢測(cè)到電流中斷,e5551卡自動(dòng)退出寫(xiě)卡模式。如果前面寫(xiě)卡數(shù)據(jù)正確就開(kāi)始將數(shù)據(jù)編程寫(xiě)入e5551芯片的EEPROM,否則進(jìn)行讀卡操作。圖5 讀寫(xiě)器硬件接口電路3 讀寫(xiě)器 3.1 硬件接口 U2270B是與e5551卡配套的一種近距離非接觸式讀寫(xiě)基站芯片,它所產(chǎn)生的載波頻率為100kHz~150kHz,工作電壓為5V或12V,適用于曼徹斯特編碼或雙相位編碼,與微控制器有兼容接口。配上小量外圍元件構(gòu)成的讀卡器電路如圖5所示。 圖5中用電阻R5、電容C6組成選頻電路,去掉高頻及低頻,讓?zhuān)保埃埃耄龋保担埃耄龋l率通過(guò),與U2270B內(nèi)部電路共同構(gòu)成解調(diào)電路;用天線與內(nèi)部驅(qū)動(dòng)電路形成125kHz電磁場(chǎng)發(fā)射電路,傳輸能量;用4個(gè)二極管形成反饋電路穩(wěn)定頻率;用電阻R1及R7調(diào)節(jié)發(fā)射頻率;通過(guò)二極管D5進(jìn)行信號(hào)整形。 3.2 軟件編程 本文以曼徹斯特編碼、RF/32為例介紹e5551軟件編程。采用曼徹斯特編碼調(diào)制的數(shù)據(jù),位數(shù)據(jù)1對(duì)應(yīng)著電平上跳,位數(shù)據(jù)0對(duì)應(yīng)著電平下跳。設(shè)RF=125kHz,位傳送速率Bitrate=RF/32,則每傳送一位數(shù)據(jù)的時(shí)間(位傳送周期)為: 1P=32/125kHz=256μs圖6 讀卡流程圖在一串?dāng)?shù)據(jù)序列中,兩個(gè)相鄰位數(shù)據(jù)傳送跳變時(shí)間間隔為1P。若相鄰位數(shù)據(jù)極性相同,則在該兩次數(shù)據(jù)傳送電平跳變之間,有一次非數(shù)據(jù)傳送的電平空跳。程序開(kāi)始時(shí)先等待一個(gè)TS=270μs~330μs高電平同步信號(hào),然后按上述編碼規(guī)則逐個(gè)檢測(cè)電平變化并記錄對(duì)應(yīng)時(shí)間T1或T2,T1=90μs~180μs,T2=210μs~300μs。如前一數(shù)據(jù)為1的情況下,測(cè)得高電平時(shí)間為T1,對(duì)應(yīng)下降沿?zé)o效,應(yīng)接著測(cè)下一上升沿并得1;若測(cè)得高電平時(shí)間為T2,對(duì)應(yīng)下降沿有效并得0。如前一數(shù)據(jù)為0的情況下,測(cè)得低電平時(shí)間為T1,對(duì)應(yīng)上升沿?zé)o效,應(yīng)接著測(cè)下一下降沿并得0;若測(cè)得低電平時(shí)間為T2,對(duì)應(yīng)上升沿有效并得1。據(jù)此即可以串行方式讀出卡內(nèi)的數(shù)據(jù)。讀卡程序流程圖如圖6所示。 寫(xiě)卡時(shí),寫(xiě)0,CFE=1持續(xù)192μs,然后CFE=0持續(xù)280μs;寫(xiě)1,CFE=1持續(xù)448μs,然后CFE=0持續(xù)280μs。寫(xiě)卡程序流程圖如圖7所示。e5551卡是一種低成本非接觸式卡,雖然容量較小,但也能用于許多場(chǎng)合,如門(mén)禁系統(tǒng)、考勤系統(tǒng)等。如果硬件和軟件設(shè)計(jì)合理,進(jìn)一步提高其可靠性和安全性,再加上成本低廉、讀寫(xiě)電路簡(jiǎn)單,應(yīng)用必然更加廣泛。

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉