基于SkyeModule M8模塊的UHF射頻讀卡器設(shè)計(jì)
文章出處:http://m.luckydriving.com 作者:李俊敏 張曉光 朱濱峰 人氣: 發(fā)表時(shí)間:2011年10月23日
引言
射頻識(shí)別技術(shù)RFID是二十世紀(jì)九十年代興起的自動(dòng)識(shí)別技術(shù),是一項(xiàng)利用射頻信號(hào)通過(guò)空間耦合(交變磁場(chǎng)或電磁場(chǎng))實(shí)現(xiàn)無(wú)接觸信息傳遞并通過(guò)所傳遞的信息達(dá)到識(shí)別目的的技術(shù)。它與早期的識(shí)別技術(shù)(條形碼、磁卡等)相比,具有可非接觸識(shí)別(識(shí)讀距離可以從10cm至幾十米)、存儲(chǔ)能力大、可識(shí)別高速運(yùn)動(dòng)物體、抗惡劣環(huán)境、保密性強(qiáng)、可同時(shí)識(shí)別多個(gè)識(shí)別對(duì)象等突出特點(diǎn),因此它可在更廣泛的場(chǎng)合得到應(yīng)用。
目前,工作頻率為UHF的射頻讀卡器的設(shè)計(jì)方法主要有三種:采用離散高頻元件設(shè)計(jì)、集成射頻芯片設(shè)計(jì)及OEM方法來(lái)完成射頻模塊。采用離散高頻元件設(shè)計(jì)讀卡器,電路的設(shè)計(jì)和調(diào)試難度非常大,開(kāi)發(fā)設(shè)備要求高。針對(duì)這種情況,許多芯片制造廠商陸續(xù)也開(kāi)發(fā)了UHF集成芯片,如Melexis公司推出的低功耗FSK/FM/ASK收發(fā)器芯片TH71221就屬于這類芯片,但并沒(méi)有給出相應(yīng)的開(kāi)發(fā)評(píng)估板,開(kāi)發(fā)起來(lái)還存在一定的困難。同時(shí)許多廠家推出了UHF射頻識(shí)別模塊,用戶可以通過(guò)OEM方法生產(chǎn)自己的UHF讀卡器,降低了開(kāi)發(fā)難度,縮短開(kāi)發(fā)周期。
射頻識(shí)別系統(tǒng)
一個(gè)典型的射頻識(shí)別系統(tǒng)主要由應(yīng)用系統(tǒng)、射頻讀卡器和射頻標(biāo)簽三部分組成(圖1)。射頻標(biāo)簽和射頻讀卡器分別屬于信息載體和信息采集設(shè)備,而由它們所構(gòu)成的射頻識(shí)別系統(tǒng)歸根到底是為應(yīng)用系統(tǒng)服務(wù)的。射頻讀卡器與應(yīng)用系統(tǒng)之間的應(yīng)用程序接口API通常用一組可由應(yīng)用系統(tǒng)開(kāi)發(fā)工具(如VC++,VB,PB等)調(diào)用的標(biāo)準(zhǔn)接口函數(shù)來(lái)表示。
UHF射頻讀卡器的設(shè)計(jì)
射頻讀卡器主要分為兩部分:控制模塊與射頻模塊。在射頻識(shí)別系統(tǒng)中,射頻讀卡器的任務(wù)是通過(guò)射頻模塊向標(biāo)簽發(fā)射讀取信號(hào),并接收標(biāo)簽的應(yīng)答,對(duì)標(biāo)簽的對(duì)象標(biāo)識(shí)信息進(jìn)行解碼,再通過(guò)控制模塊將對(duì)象標(biāo)識(shí)信息連帶標(biāo)簽上的其他相關(guān)信息傳輸?shù)綉?yīng)用系統(tǒng)計(jì)算機(jī)以供處理。在本設(shè)計(jì)中比較了眾多的射頻收發(fā)模塊最終選用由Skyteck公司開(kāi)發(fā)的Skymodule M8模塊。
M8模塊
M8模塊提供了一個(gè)低功耗、高性能、高效率的UHF讀卡器設(shè)計(jì)平臺(tái),它是一個(gè)多協(xié)議OEM模塊,可以用來(lái)讀寫(xiě)滿足ISO18000-6 A/B、EPC Class 0/0+或1、EPC Class1 Gen2和其它協(xié)議的頻率范圍為860~960MHZ的UHF標(biāo)簽。還可以在現(xiàn)場(chǎng)通過(guò)升級(jí)固件程序來(lái)增加新的標(biāo)簽協(xié)議和兼容性。M8模塊的射頻輸出功率可以通過(guò)程序在15mw~500mw之間范圍內(nèi)設(shè)定。在5V電壓下,M8模塊的智能電源管理可以使電流低于100μA(休眠模式),這樣可以使設(shè)備用電池來(lái)驅(qū)動(dòng)。為了簡(jiǎn)化對(duì)M8模塊的操作,模塊留有一個(gè)20針的接口。只需要根據(jù)具體應(yīng)用來(lái)設(shè)計(jì)相關(guān)的控制模塊,并通過(guò)導(dǎo)線與接口相連,就可以以指定的通訊方式與M8模塊進(jìn)行數(shù)據(jù)交互。與控制模塊的接口包括UART (TTL)、I2C和SPI,還可以通過(guò)RS-232、USB接口直接與計(jì)算機(jī)通訊。M8模塊內(nèi)置有便攜式天線,還具有一個(gè)50Ω的輸出阻抗,用來(lái)與外部天線相連,模塊的讀卡距離與外部天線有著直接關(guān)系。其外觀圖如圖2所示。
控制模塊設(shè)計(jì)
由圖1可知,控制模塊主要包括兩部分:以微控制器(如單片機(jī))為核心的控制單元和通訊接口單元。
控制單元的主要功能就是對(duì)射頻模塊功能進(jìn)行配置并與之通信取得射頻模塊所獲得的射頻標(biāo)簽信息,將獲取的標(biāo)簽信息通過(guò)通訊接口上傳給上位計(jì)算機(jī),同時(shí)也可以接收上位機(jī)對(duì)射頻讀卡器的配置指令。還有,射頻讀卡器還需要留有一個(gè)可以直接與計(jì)算機(jī)通訊的接口,有利于上位機(jī)軟件的設(shè)計(jì)與開(kāi)發(fā)。因此,需要根據(jù)控制單元的功能要求來(lái)選擇控制單元微控制器,并實(shí)現(xiàn)各種通信接口。在此,控制單元是一個(gè)以AT89S53為核心的單片機(jī)系統(tǒng),該單片機(jī)片內(nèi)含有12K Bytes的Flash Memory和256Bytes×8的RAM,3個(gè)16位定時(shí)器/計(jì)數(shù)器,9個(gè)中斷源,可編程串行UART通道,SPI接口。
通訊接口單元又可以分為兩部分:芯片級(jí)總線接口單元(M8模塊支持I2C、SPI、UART等)和現(xiàn)場(chǎng)總線級(jí)接口單元(RS232、RS485、CAN總線等)。控制單元通過(guò)芯片級(jí)總線接口單元來(lái)對(duì)射頻模塊進(jìn)行配置和讀取射頻模塊所捕獲的射頻標(biāo)簽信息。
在本設(shè)計(jì)中控制模塊上需要留有一個(gè)接口,一方面與單片機(jī)的SPI引腳相連,另一方面通過(guò)導(dǎo)線與M8模塊通訊,這樣就實(shí)現(xiàn)了控制模塊與M8模塊的通訊。為了將所采集的標(biāo)簽信息傳輸給上位計(jì)算機(jī),可以使控制模塊與計(jì)算機(jī)之間通過(guò)串口通訊??刂颇K的電路原理圖如圖3所示。
軟件設(shè)計(jì)
本設(shè)計(jì)中單片機(jī)軟件主要分為兩部分:?jiǎn)纹瑱C(jī)與M8模塊之間的SPI通訊和單片機(jī)與上位計(jì)算機(jī)的串口通訊。Skyteck公司已經(jīng)為M8模塊制定了專門(mén)的通訊協(xié)議,單片機(jī)只需要按照通訊協(xié)議格式就可以通過(guò)SPI接口與M8模塊進(jìn)行通訊,讀取標(biāo)簽信息或?qū)8模塊進(jìn)行配置。為了實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的通訊,也需要制定兩者之間的通訊協(xié)議。這樣,單片機(jī)就可以把獲得的標(biāo)簽信息按照通訊協(xié)議的格式傳輸給計(jì)算機(jī)。用戶則可以根據(jù)具體應(yīng)用,開(kāi)發(fā)出相應(yīng)計(jì)算機(jī)軟件來(lái)對(duì)標(biāo)簽信息進(jìn)行管理。
結(jié)語(yǔ)
目前,筆者已經(jīng)采用M8模塊設(shè)計(jì)出了射頻讀卡器,并通過(guò)選擇合適的天線并將其應(yīng)用在遠(yuǎn)距離人員考勤系統(tǒng)中。通過(guò)讀卡器對(duì)人員的非接觸信息采集,然后把信息傳到上位機(jī),可以對(duì)人員進(jìn)行有效的管理,用來(lái)瀏覽、查詢、統(tǒng)計(jì)和修改數(shù)據(jù)庫(kù)內(nèi)的員工信息。該讀卡器在實(shí)際應(yīng)用中操作方便、運(yùn)行可靠。