浙江工業(yè)職業(yè)技術(shù)學(xué)院數(shù)字媒體與信息工程分院 阮勝利
RFID是Radio Frequency Identification的縮寫,即自動(dòng)識(shí)別技術(shù)的一種,通過無線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信,對(duì)目標(biāo)加以識(shí)別并獲取相關(guān)數(shù)據(jù)。射頻識(shí)別的主要核心部件是讀寫器和電子標(biāo)簽,電子標(biāo)簽可以接收相距幾厘米到幾米距離內(nèi)的讀寫器發(fā)射的無線電波,而讀寫器可以讀取電子標(biāo)簽內(nèi)存儲(chǔ)的信息,識(shí)別電子標(biāo)簽代表的物品、人和器具的身份。
射頻識(shí)別技術(shù)具有很多突出的優(yōu)點(diǎn):RFID可工作于各種惡劣環(huán)境,不需要人工干涉,不需要直接接觸,不需要光學(xué)可視即可完成信息的輸入和處理,可識(shí)別高速運(yùn)動(dòng)物體并且可以同時(shí)識(shí)別多個(gè)標(biāo)簽,操作快捷方便,實(shí)現(xiàn)了無源和免接觸操作,應(yīng)用便利,無機(jī)械磨損,壽命長(zhǎng);RFID的總體成本一直處在下降之中,越來越接近接觸式IC卡的成本,甚至更低,這為其廣泛,大規(guī)模的應(yīng)用奠定了基礎(chǔ)。如果RFID技術(shù)能與電子供應(yīng)鏈緊密聯(lián)系,那么它很有可能在幾年之內(nèi)取代條形碼掃描技術(shù)。
射頻識(shí)別的基本模型如圖1所示。其中,電子標(biāo)簽又稱為射頻標(biāo)簽、應(yīng)答器、數(shù)據(jù)載體;閱讀器又稱為讀出裝置、掃描器、讀頭、通信器、讀寫器(取決于電子標(biāo)簽是否可以無線改寫數(shù)據(jù))。電子標(biāo)簽與閱讀器之間通過耦合元件實(shí)現(xiàn)射頻信號(hào)的空間(無接觸)耦合;在耦合通道內(nèi),根據(jù)時(shí)序關(guān)系,實(shí)現(xiàn)能量的傳遞和數(shù)據(jù)交換。
本系統(tǒng)的最初設(shè)想是實(shí)現(xiàn)一個(gè)基于RFID的嵌入式系統(tǒng),根據(jù)嵌入式的可裁剪,便攜等特點(diǎn)實(shí)現(xiàn)一個(gè)手持式的,能夠有效防碰撞的使若干近距離物體條件下也可以有效識(shí)別的RFID系統(tǒng)。
由于本系統(tǒng)的集成度較高,防碰撞效果較好,所以可應(yīng)用范圍很廣,比如圖書館圖書管理和借還書本的應(yīng)用。
本系統(tǒng)可以方便圖書館管理員隨時(shí)攜帶來捕捉書上的智能標(biāo)簽的信息,快速搜索圖書,將書架上放亂的書管理歸類;圖書借還部分無需圖書管理員介入,讀者自行到自助借還書計(jì)算機(jī)處完成借還書手續(xù)。
還有超市物品管理及價(jià)格掃描的應(yīng)用,養(yǎng)殖場(chǎng)動(dòng)物的管理應(yīng)用??偠灾?,在當(dāng)前的硬件條件下,在不同的應(yīng)用領(lǐng)域只需修改上位機(jī)上的相關(guān)軟件便能將本系統(tǒng)有效地應(yīng)用。當(dāng)然任何一方面的應(yīng)用都必須另外去開發(fā)相關(guān)的軟件,本系統(tǒng)只是設(shè)計(jì)一個(gè)應(yīng)用的總體模型,所以后續(xù)的開發(fā)還有待進(jìn)一步的擴(kuò)充和完善。
本系統(tǒng)主要由電源管理單元、單片機(jī)AT89C52、射頻卡讀寫模塊(主要由MFRC500構(gòu)成)、無線模塊、鍵盤顯示電路及其他外圍電路構(gòu)成。
手持射頻卡讀寫器的工作原理如下:整個(gè)手持機(jī)由電源管理單元給各個(gè)模塊提供工作電壓,由單片機(jī)控制射頻卡芯片,并通過天線發(fā)射電磁波(區(qū)域大小取決于天線的設(shè)計(jì)質(zhì)量),當(dāng)有射頻卡(也可以稱作電子標(biāo)簽,RFID卡,非接觸卡)進(jìn)入天線發(fā)射的有效范圍時(shí),射頻卡里有一個(gè)LC串聯(lián)諧振電路,它的工作頻率與射頻卡讀寫器天線發(fā)射的頻率相一致,由于電磁波提供的激勵(lì)能量,使得射頻卡里的LC諧振電路產(chǎn)生了感應(yīng)電勢(shì),電壓達(dá)到一定電壓值,就作為卡內(nèi)其它電路工作的電源,然后射頻卡將數(shù)據(jù)通過內(nèi)部電路以同樣的頻率發(fā)送回去,讀寫器通過天線接收到射頻卡的信號(hào)后,進(jìn)行解調(diào)解碼,并根據(jù)沖突檢測(cè)和校驗(yàn),來判斷有效的數(shù)據(jù),接著通過單片機(jī)的串口發(fā)送數(shù)據(jù)給無線模塊SIM900D,SIM900D可使用短信或者TCP/IP數(shù)據(jù)流兩種方式來進(jìn)行數(shù)據(jù)的無線傳輸,由于短信方式比較適合數(shù)據(jù)量少,單方向的場(chǎng)合,這里為了使該設(shè)計(jì)具有更廣的使用,所以采用TCP/IP數(shù)據(jù)流的方式,與遠(yuǎn)程控制數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交互。
1.讀寫器的主要控制器
手持讀寫器的主要的CPU采用ATMEL公司的AT89C52。它是一款常用的51單片機(jī)。被應(yīng)用到各種工業(yè)控制和消費(fèi)電子領(lǐng)域中。其成本低,開發(fā)平臺(tái)簡(jiǎn)單。當(dāng)然在這個(gè)系統(tǒng)里理論上完全可以用其他單片機(jī)或者ARM控制器來替換。
2.射頻卡讀寫器設(shè)計(jì)
射頻卡讀寫主要通過射頻卡芯片MF RC500及其必要的外圍電路構(gòu)成,射頻卡芯片是整個(gè)讀寫器的核心,它可以實(shí)現(xiàn)讀寫射頻卡(電子標(biāo)簽)所有必要的功能,包括射頻信號(hào)的產(chǎn)生、調(diào)制、解調(diào)等。此芯片實(shí)際上是單片機(jī)與射頻卡之間進(jìn)行數(shù)據(jù)傳輸?shù)年P(guān)鍵。任何射頻卡上的數(shù)據(jù)讀寫都要通過此芯片來傳送。通過傳送不同的命令給此芯片,就能實(shí)現(xiàn)不同的控制。此芯片需要在OSCSIN和OSCOUT引腳上外接13.56MHz晶振,當(dāng)然也可使用其他外部時(shí)鐘,但不推薦這樣做,因?yàn)樗旧淼臅r(shí)鐘已經(jīng)足夠穩(wěn)定。
為了實(shí)現(xiàn)最佳性能,射頻卡芯片的模擬部分使用單獨(dú)的電源,它對(duì)內(nèi)部的震蕩器、模擬解調(diào)器和解碼器提供工作電壓,同時(shí)對(duì)驅(qū)動(dòng)部分和數(shù)字部分也各使用單獨(dú)電源供電,此讀卡器,利用磁珠把各電源進(jìn)行分開。此芯片支持不同的CPU接口,單片機(jī)通過控制射頻卡芯片的NCS引腳來選擇射頻卡芯片,在射頻卡芯片上電或硬件復(fù)位后,此芯片馬上復(fù)位它的接口模式,并根據(jù)幾個(gè)固定引腳上的邏輯電平來識(shí)別當(dāng)前CPU接口的類型。我們這里選擇了地址線與數(shù)據(jù)線分時(shí)復(fù)用的接口類型,其具體操作是:當(dāng)ALE為邏輯1時(shí),將地址鎖存到內(nèi)部的相應(yīng)鎖存器中,然后由讀寫信號(hào)完成對(duì)芯片的數(shù)據(jù)讀寫。
圖1 RFID模型圖
在這個(gè)部分,讀寫器的天線設(shè)計(jì)也相當(dāng)?shù)闹匾脑O(shè)計(jì)質(zhì)量將直接影響讀寫射頻卡的有效距離,我們參考芯片的數(shù)據(jù)手冊(cè),采用直接匹配的天線,其有效距離最遠(yuǎn)可以達(dá)到10cm。在天線電路的設(shè)計(jì)里,我們主要考慮兩個(gè)方面的問題:
第一個(gè)方面是對(duì)電磁干擾的濾波,由于這個(gè)讀寫器的工作頻率為13.56MHz,由時(shí)鐘電路產(chǎn)生,但它也伴隨產(chǎn)生13.56MHz中的3次、5次等高次諧波。為達(dá)到國(guó)際EMC要求,良好地控制這些電磁干擾。本讀寫器使用低通濾波器來控制電磁干擾。
第二個(gè)方面是為了天線的性能達(dá)到最好,需要考慮天線電路的阻抗匹配。
3.電源的設(shè)計(jì)
由于本手持機(jī)在使用無線模塊時(shí),需要較大的電流。另外本設(shè)備為手持機(jī),所以系統(tǒng)設(shè)計(jì)采用優(yōu)科能源的可充電聚合物鋰離子電池組件(2節(jié)串聯(lián),每節(jié)3.7V的標(biāo)稱電壓),可充電(需另購(gòu)充電器,充電電壓為8.4V),電池電壓通過降壓型DCDC芯片AOZ1016A轉(zhuǎn)換成5V電壓輸出,此芯片的輸入電壓范圍較大(從4.5V~16V),最大可以輸出3.6A的電流,完全滿足本手持機(jī)的電壓需要。
4.顯示器的設(shè)計(jì)
顯示部分采用160×96點(diǎn)陣液晶屏,這個(gè)液晶屏是總線型的,它與單片機(jī)的連接采用數(shù)據(jù)并行模式,直接與單片機(jī)的PO口相連,而液晶屏的讀寫控制信號(hào)R/W則直接連接單片機(jī)的讀寫信號(hào)上,另外液晶屏的片選信號(hào)CS,指令/數(shù)據(jù)寄存器選擇信號(hào)A0,復(fù)位信號(hào)RESET和串并行選擇端P/S,都需要分別連接到單片機(jī)的其他I/O口。
5.鍵盤的設(shè)計(jì)
鍵盤設(shè)計(jì)使用單片機(jī)P1口的八個(gè)I/O口實(shí)現(xiàn),采用4×4矩陣動(dòng)態(tài)掃描模式,可設(shè)計(jì)提供11個(gè)數(shù)字鍵(包括小數(shù)點(diǎn))、確認(rèn)鍵、取消鍵、退格鍵、2個(gè)功能鍵,共16個(gè)按鍵。滿足一般手持設(shè)備的按鍵需求。
6.無線通訊模塊
目前市場(chǎng)上提供的無線通訊模塊有很多,為了適應(yīng)更多的國(guó)家使用,我們使用剛剛推出的四頻的無線模塊SIM900D(它是SIM340DZ的替代品),此模塊自帶TCP/IP協(xié)議棧,無需其他CPU的支持就能利用TCP/IP數(shù)據(jù)流方式進(jìn)行無線數(shù)據(jù)傳輸。當(dāng)然它也使用標(biāo)準(zhǔn)的AT命令,性能穩(wěn)定,使用方便。本手持機(jī)中,單片機(jī)通過串口與SIM900D進(jìn)行通信,由于單片機(jī)AT89C52采用5V供電,而SIM900D使用4.3V供電,所以需要在5V電壓的基礎(chǔ)上進(jìn)行降壓,我們這里采用簡(jiǎn)單的二極管進(jìn)行串接降壓。當(dāng)然此模塊還需要SIM卡接口電路,由于SIM卡是經(jīng)常被手碰到的地方,需要給SIM卡加上ESD保護(hù)電路。
手持機(jī)軟件系統(tǒng)用C51進(jìn)行直接編寫,當(dāng)然如果擴(kuò)展外部?jī)?chǔ)存器,也可考慮在本系統(tǒng)中采用嵌入式操作系統(tǒng),并在操作系統(tǒng)的基礎(chǔ)上編寫自己的應(yīng)用驅(qū)動(dòng)程序,我們這里考慮到本手持機(jī)只是作為物流讀寫射頻卡的中間設(shè)備,數(shù)據(jù)處理類型和任務(wù)較少,較復(fù)雜的應(yīng)用處理可以由遠(yuǎn)程數(shù)據(jù)控制中心來實(shí)現(xiàn),所以這里采用C51直接編寫全部程序,系統(tǒng)的各個(gè)單元部分用單獨(dú)的任務(wù)線程設(shè)計(jì),在減少了軟件設(shè)計(jì)的復(fù)雜度的同時(shí),也增強(qiáng)了軟件系統(tǒng)的穩(wěn)定性和可讀性。
本系統(tǒng)軟件設(shè)計(jì)主要包括,系統(tǒng)初始化,鍵盤掃描處理,液晶顯示,射頻卡的讀寫,以及無線模塊的控制與數(shù)據(jù)通訊等主要部分,由于系統(tǒng)初始化,鍵盤掃描處理,LCD顯示,都是非常常見的應(yīng)用設(shè)計(jì),下面主要說明射頻卡的讀寫部分的設(shè)計(jì)。
1.射頻卡的讀寫軟件設(shè)計(jì)
射頻卡的讀寫,最主要是對(duì)芯片進(jìn)行控制。因此讀寫程序也主要是完成單片機(jī)對(duì)射頻卡芯片MF RC500的控制,從而實(shí)現(xiàn)芯片與射頻卡之間的數(shù)據(jù)交互,工作流程如下:
1)單片機(jī)對(duì)射頻卡芯片進(jìn)行初始化,使其進(jìn)入正常的工作狀態(tài);
2)等待中斷信號(hào)(射頻卡芯片通過天線檢測(cè)到有效的射頻卡進(jìn)入有效范圍后,產(chǎn)生中斷信號(hào)給單片機(jī));
3)由單片機(jī)發(fā)送相應(yīng)的指令給射頻卡芯片,進(jìn)行請(qǐng)求,防碰撞,選擇等操作;
4)單片機(jī)發(fā)送相應(yīng)的指令對(duì)讀寫射頻卡密碼進(jìn)行驗(yàn)證;
5)驗(yàn)證完畢后,讀取射頻卡指定塊的內(nèi)容或者寫入相應(yīng)地址塊的數(shù)據(jù);
6)完成數(shù)據(jù)讀寫后,向卡發(fā)送停止命令,并可判斷卡有沒有離開。
2.無線模塊的數(shù)據(jù)傳輸?shù)能浖O(shè)計(jì)
由于無線模塊SIM900D自帶TCP/IP協(xié)議棧,在本手持讀寫器里,單片機(jī)通過其串口,利用AT命令就可以對(duì)SIM900D進(jìn)行數(shù)據(jù)通訊。主要流程如下:
1)先由單片機(jī)通過I/O腳控制模塊上電,使SIM900D上電復(fù)位;
2)單片機(jī)通過串口發(fā)送AT命令控制無線模塊SIM900D與遠(yuǎn)程服務(wù)器建立TCP連接(預(yù)先需要知道遠(yuǎn)程數(shù)據(jù)控制中心服務(wù)器的IP地址和端口);
3)連接建立后,單片機(jī)把準(zhǔn)備好的數(shù)據(jù)發(fā)送給無線模塊SIM900D,通過前面建立好的數(shù)據(jù)通道進(jìn)行數(shù)據(jù)傳輸;并讀取無線模塊SIM900D從遠(yuǎn)程數(shù)據(jù)中心返回的數(shù)據(jù);
4)數(shù)據(jù)處理好后,關(guān)閉當(dāng)前建立的TCP連接,然后再關(guān)閉無線模塊SIM900D的電源,以節(jié)約耗電,繼續(xù)等待下一次的通訊。
本手持機(jī)主要支持IS014443A協(xié)議的射頻卡的讀寫,此射頻卡目前已經(jīng)被廣泛使用。利用此設(shè)計(jì)方案,開發(fā)的物流手持射頻卡讀寫器,具有攜帶方便,成本低,軟件修改方便,可使用場(chǎng)合多的特點(diǎn),隨著物聯(lián)網(wǎng)的發(fā)展,其應(yīng)用前景一定非常廣闊。
[1]姜波編著.WindowsCE.net程序設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2007.
[2]譚浩強(qiáng)編著.C程序設(shè)計(jì)[M].清華大學(xué)出版社,1991.
[3]龔建偉,熊光明編著.VisualC++TurrboC串口通信編程實(shí)踐[M].電子工業(yè)出版社,2005.
[4]魏忠.嵌入式開發(fā)詳解[M].電子工業(yè)出版社,2003.
[5]陳大才.射頻識(shí)別(RFID)技術(shù)-無線電感應(yīng)的應(yīng)答器和非接觸IC卡的原理與應(yīng)用[M].電子工業(yè)出版社,2001.
[6]周立功.ARM與嵌入式系統(tǒng)基礎(chǔ)教程,廣州周立功單片機(jī)發(fā)展有限公司,2004
[7]馬忠梅.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京航空航天大學(xué)出版社,2002.
[8]Microsoft Corporation.SQLServerCEB00ks online.2004.
[9]周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例[M].北京航天航空大學(xué)出版社,2004.
[10]Transmission Control Protocol.RFC793.1981.50-62.