基于EM4469射頻卡的手持式讀寫(xiě)設(shè)備的開(kāi)發(fā)
文章出處:http://m.botanicstilllife.com 作者:馬秀麗 姜學(xué)軍 人氣: 發(fā)表時(shí)間:2011年10月22日
RFID系統(tǒng)主要由射頻電子標(biāo)簽、讀寫(xiě)設(shè)備和計(jì)算機(jī)網(wǎng)絡(luò)及軟件組成。其中,讀寫(xiě)設(shè)備主要作為射頻卡數(shù)據(jù)采集終端,其任務(wù)是啟動(dòng)作為數(shù)據(jù)載體的射頻電子標(biāo)簽,并與這個(gè)射頻電子標(biāo)簽通過(guò)空間耦合建立雙向通信聯(lián)系,從而實(shí)現(xiàn)射頻電子標(biāo)簽與讀寫(xiě)設(shè)備之間的數(shù)據(jù)傳輸,最終實(shí)現(xiàn)對(duì)射頻卡中數(shù)據(jù)的讀寫(xiě)、存儲(chǔ)和向計(jì)算機(jī)網(wǎng)絡(luò)傳送數(shù)據(jù),它是RFID系統(tǒng)中十分重要的一個(gè)硬件設(shè)備。
射頻電子標(biāo)簽EM4469
EM4469射頻卡是EM微電子公司推出的一款工作頻率為100kHz~150kHz,具有讀/寫(xiě)功能的非接觸式RFID射頻芯片,它可以較低的功耗提供多種數(shù)據(jù)傳輸速率和數(shù)據(jù)編碼方式。由于該射頻芯片不僅兼容ISO 11784/11785標(biāo)準(zhǔn),還符合ISO FDX/B動(dòng)物識(shí)別標(biāo)準(zhǔn),因此,該射頻芯片可被廣泛應(yīng)用于各種應(yīng)用管理系統(tǒng)中,尤其是動(dòng)物識(shí)別和跟蹤管理。
EM4469具有32位的密碼讀/寫(xiě)保護(hù)、32位唯一的ID碼和10位用戶碼。EM4469 的EEPROM存儲(chǔ)空間有512位,被分為16個(gè)扇區(qū),每個(gè)扇區(qū)32位,其中的鎖定位可以將EEPROM的數(shù)據(jù)塊變成只讀模式。EM4469可以較低的功耗提供多種數(shù)據(jù)傳輸率和編碼方式,而且其內(nèi)部集成的諧振電容可掩膜選擇,不需要外部電容。另外,它還有片內(nèi)整流器和限壓器,可以在-40℃~85℃溫度下工作。
手持式讀寫(xiě)設(shè)備設(shè)計(jì)
手持式讀寫(xiě)設(shè)備也叫便攜式讀寫(xiě)器,它是將RFID讀寫(xiě)功能、天線和數(shù)據(jù)處理功能集成在一起的掌上電腦。其主要部分是射頻卡讀寫(xiě)電路,用于實(shí)現(xiàn)射頻卡的讀寫(xiě)和數(shù)據(jù)采集。此外,它通常帶有液晶顯示屏和鍵盤(pán),用來(lái)輸入和顯示數(shù)據(jù),并配有存儲(chǔ)器和通信接口,實(shí)現(xiàn)數(shù)據(jù)的保存并向計(jì)算機(jī)傳送,另外,還配有穩(wěn)定的電源管理電路,用于設(shè)備的供電。
手持式讀寫(xiě)設(shè)備的硬件設(shè)計(jì)
手持式讀寫(xiě)設(shè)備的硬件電路主要包括主控單片機(jī)、射頻讀寫(xiě)、液晶顯示、存儲(chǔ)、鍵盤(pán)、通信、電源和聲光提示電路。
主控單片機(jī)和射頻卡
讀寫(xiě)電路設(shè)計(jì)
考慮到手持機(jī)的存儲(chǔ)容量大、外部中斷和定時(shí)中斷的功能需要,以及開(kāi)發(fā)工具的費(fèi)用等因素,本系統(tǒng)選用了由深圳宏晶科技公司生產(chǎn)的STC89C58RD+單片機(jī)作為主控制模塊。STC89C58RD+具有以下優(yōu)點(diǎn):加密性強(qiáng);超強(qiáng)的抗干擾性,有三大降低單片機(jī)時(shí)鐘對(duì)外部電磁輻射的措施;超低功耗;在線系統(tǒng)可編程和可遠(yuǎn)程升級(jí)。
射頻卡讀寫(xiě)電路是手持機(jī)的重要組成部分,用于實(shí)現(xiàn)對(duì)射頻卡的寫(xiě)入并讀取射頻卡所攜帶的數(shù)據(jù)信息。這里采用射頻卡讀寫(xiě)模塊XM503A來(lái)實(shí)現(xiàn)對(duì)EM4469射頻卡的讀寫(xiě)控制(見(jiàn)圖1)。
圖1 手持設(shè)備的射頻卡讀寫(xiě)電路
液晶顯示電路
本手持式讀寫(xiě)設(shè)備中的數(shù)據(jù)顯示電路采用CSD—12864I液晶顯示模塊。這是一種圖形點(diǎn)陣液晶顯示模塊,主要由行驅(qū)動(dòng)器和列驅(qū)動(dòng)器,以及128×64全點(diǎn)陣液晶顯示器組成。它可以完成圖形顯示,也可以顯示32個(gè)16×16點(diǎn)陣的漢字。液晶顯示模塊與CPU接口采用8位數(shù)據(jù)總線和8條控制線。
在初始化的時(shí)候要先輸入關(guān)顯示屏的指令,然后輸入開(kāi)顯示屏的指令,接下來(lái)就可以設(shè)置顯示的起始行和頁(yè)地址,進(jìn)入讀寫(xiě)顯示數(shù)據(jù)的操作。
存儲(chǔ)電路硬件設(shè)計(jì)
在本RFID手持式讀寫(xiě)設(shè)備中,STC89C58RD+單片機(jī)只有1280B的RAM,需要附加存儲(chǔ)器電路。本手持機(jī)選擇了由Hynix公司生產(chǎn)的HY628400存儲(chǔ)器。
HY628400是一種高速、低功耗的、容量為512k×8bit(共4Mb)的SRAM器件,它采用了先進(jìn)的CMOS技術(shù),兼容TTL輸入和輸出,數(shù)據(jù)保存模式使該器件在最低電壓為2V的時(shí)候,仍然可以保證數(shù)據(jù)是有效的。
HY628400的4Mb存儲(chǔ)單元中,分配2Mb的空間存放漢字字庫(kù),用于液晶顯示模塊的漢字顯示;其余2Mb的空間用于存儲(chǔ)數(shù)據(jù)。 HY628400與單片機(jī)的連接電路如圖2所示?!?nbsp;
圖2 STC89C58RD+單片機(jī)與HY628400存儲(chǔ)器的連接電路
其他部分電路的設(shè)計(jì)
RFID手持式讀寫(xiě)設(shè)備與計(jì)算機(jī)之間通過(guò)RS-232C串行接口進(jìn)行數(shù)據(jù)通信。本手持式讀寫(xiě)設(shè)備選用了兼容RS-232標(biāo)準(zhǔn)的MAX3243芯片。MAX3243具有3個(gè)驅(qū)動(dòng)器、5個(gè)接收器和雙電荷泵電路,而且所有的引腳都具有±15kV ESD保護(hù)。
鍵盤(pán)作為用戶的輸入端口,其功能是實(shí)現(xiàn)數(shù)據(jù)輸入和手持機(jī)功能選擇與操作的控制,從而實(shí)現(xiàn)人機(jī)交互。本手持機(jī)鍵盤(pán)一共設(shè)有19個(gè)鍵,包括0~9數(shù)字鍵10個(gè),F(xiàn)1、F2、F3、“.”和回車共5個(gè)功能鍵,背光鍵、掃描鍵(讀寫(xiě)EM4469的按鍵)、以及開(kāi)關(guān)鍵。
時(shí)鐘電路用于為手持機(jī)提供準(zhǔn)確的時(shí)間,并可以在液晶顯示屏上顯示出當(dāng)前的時(shí)間。本手持機(jī)選用深圳市威帆電子技術(shù)有限公司生產(chǎn)的SD2003A時(shí)鐘芯片,其具有體積小、內(nèi)置晶振、支持I2C總線接口等特點(diǎn),可以定時(shí)中斷輸出,高精度、免調(diào)校,年誤差小于2分鐘(在25±1℃下)。
本手持式讀寫(xiě)設(shè)備的工作電壓為5V,后備電源電壓為3.6V,因此選用Maxim公司的升壓型DC/DC電壓轉(zhuǎn)換器件MAX682為手持機(jī)供電。MAX682通過(guò)2.7V~5.5V的輸入電壓,可獲得穩(wěn)定的5V輸出電壓和250mA的輸出電流,而且停機(jī)狀態(tài)下的電流損耗小(只有0.1mA),完全滿足手持機(jī)的供電需要。電源模塊的電路如圖3所示,其中,C105和C107是濾波電容,電阻R102是控制電阻,C106是電路的升壓電容。
圖3 手持式讀寫(xiě)設(shè)備電源電路
聲光提示電路包括蜂鳴器和LED發(fā)光二極管電路兩部分,用于手持機(jī)操作成功或各種警示狀態(tài)提示。
軟件設(shè)計(jì)
本手持式讀寫(xiě)設(shè)備主要完成射頻電子標(biāo)簽的讀寫(xiě)、數(shù)據(jù)的存儲(chǔ)和與計(jì)算機(jī)的信息通信。手持機(jī)主程序的流程如圖4所示?! ?nbsp;
圖4 手持式讀寫(xiě)設(shè)備主程序流程圖
本文開(kāi)發(fā)的手持式讀寫(xiě)設(shè)備采用曼徹斯特編碼方式來(lái)讀取EM4469的數(shù)據(jù),數(shù)據(jù)傳輸率為RF/64。
XM503感應(yīng)模塊通過(guò)發(fā)送標(biāo)準(zhǔn)命令來(lái)完成對(duì)EM4469射頻卡的讀寫(xiě)操作。讀卡的程序流程是:首先初始化單片機(jī)串口,發(fā)送開(kāi)射頻場(chǎng)的命令,輸入要讀取的數(shù)據(jù)扇區(qū)的區(qū)號(hào)。然后發(fā)送讀數(shù)據(jù)的命令,判斷此命令是否發(fā)送完畢,如果沒(méi)有發(fā)送完就接著發(fā)送;如果發(fā)送結(jié)束就接著判斷是否有數(shù)據(jù),如果沒(méi)有數(shù)據(jù)則提示錯(cuò)誤并返回到初始化的地方。如果有數(shù)據(jù)就開(kāi)始接收。最后判斷接收到的數(shù)據(jù)正確與否,如果正確,則可以將所讀取到的數(shù)據(jù)通過(guò)液晶顯示屏顯示出來(lái)。如果判斷接收到的數(shù)據(jù)是錯(cuò)誤的,則提示錯(cuò)誤并返回初始化。
當(dāng)要往EM4469射頻卡中寫(xiě)入數(shù)據(jù)的時(shí)候,先要將單片機(jī)的串口初始化,設(shè)置波特率,發(fā)送開(kāi)射頻場(chǎng)的命令。然后輸入要寫(xiě)入數(shù)據(jù)的扇區(qū)的區(qū)號(hào)并發(fā)送寫(xiě)數(shù)據(jù)的命令,接著判斷寫(xiě)數(shù)據(jù)命令是否發(fā)送完畢。如果沒(méi)有發(fā)送完畢就接著發(fā)送;如果發(fā)送結(jié)束就進(jìn)一步判斷是否有數(shù)據(jù)。如果沒(méi)有數(shù)據(jù)則提示錯(cuò)誤并返回初始化;如果有數(shù)據(jù)就開(kāi)始接收要寫(xiě)入的數(shù)據(jù)。再判斷接收到的數(shù)據(jù)正確與否。如果判斷接收到的數(shù)據(jù)是錯(cuò)誤的,則提示錯(cuò)誤并返回到初始化的地方;如果正確,還要將其讀出來(lái),判斷是否是要寫(xiě)入的數(shù)據(jù)。如果是就結(jié)束;如果不是就返回初始化。
結(jié)語(yǔ)
本文詳細(xì)論述了基于EM4469射頻卡的手持式讀寫(xiě)設(shè)備的硬件電路設(shè)計(jì)和主要軟件部分的設(shè)計(jì)方法。該產(chǎn)品采用模塊化的結(jié)構(gòu)設(shè)計(jì)方法,將射頻卡讀寫(xiě)電路設(shè)計(jì)成相對(duì)獨(dú)立的模塊,如果有不同類型射頻卡的使用需要,可以將此部分電路更換成其他類型射頻卡讀寫(xiě)電路模塊即可滿足需要。
參考文獻(xiàn)
1. 游戰(zhàn)清,李蘇劍等. 無(wú)線射頻識(shí)別技術(shù)(RFID)理論與應(yīng)用. 電子工業(yè)出版社,2004
2. 郎為民.射頻識(shí)別(RFID)技術(shù)原理與應(yīng)用.北京:機(jī)械工業(yè)出版社,2006.10-60
3. www.szforen.com,EM4469DATASHEET,2006,3
4. 游戰(zhàn)清,劉克勝,張義強(qiáng)等編.無(wú)線射頻識(shí)別技術(shù)(RFID)規(guī)劃與實(shí)施.北京:電子工業(yè)出版社,2005.20-47,50-78
作者簡(jiǎn)介:沈陽(yáng)理工大學(xué) 信息科學(xué)與工程分院 馬秀麗 姜學(xué)軍