張 巍,趙 光
(天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津 300222)
RFID(radio frequency identification)技術(shù)是興起于20世紀(jì)90年代的一種自動(dòng)識(shí)別技術(shù),現(xiàn)早已被大多數(shù)人熟知。其主要功能是通過一些先進(jìn)的技術(shù)手段,使人們?cè)诓煌瑺顟B(tài)下對(duì)各類物體或設(shè)備進(jìn)行自動(dòng)識(shí)別和管理。隨著科學(xué)技術(shù)的不斷發(fā)展,RFID技術(shù)逐漸進(jìn)入了人們的生活中,在安全、管理、交通、物流和生產(chǎn)等領(lǐng)域都可以發(fā)現(xiàn)它的身影[1]。RFID技術(shù)的應(yīng)用,很大程度地提高了工作效率,降低了成本,對(duì)提升社會(huì)信息化水平、提高人們的生活質(zhì)量、增強(qiáng)公共安全等方面都具有深遠(yuǎn)的影響。然而,目前的讀寫器只有單一工作頻率,在某些場(chǎng)合會(huì)有很多局限性。針對(duì)此問題,本文設(shè)計(jì)了基于MSP430的雙頻讀寫器。該讀寫器主要應(yīng)用在物流管理、物品管理、交通管理等系統(tǒng)中[2-3]。該讀寫器只有識(shí)別超高頻和微波2種頻段的功能,可選擇性地采用其中1種頻率工作,也可在某些特殊情況下同時(shí)工作。系統(tǒng)工作時(shí)能自動(dòng)檢測(cè)范圍內(nèi)所有設(shè)備上的電子標(biāo)簽,進(jìn)行設(shè)備信息的讀取,經(jīng)過處理后發(fā)送到上一層的PC機(jī)或其他設(shè)備上。該讀寫器還具有數(shù)據(jù)容量大、適應(yīng)環(huán)境能力強(qiáng)、安全可靠性高、多個(gè)標(biāo)簽同時(shí)讀寫等特點(diǎn)。因此,可以應(yīng)用到物流等領(lǐng)域,利用電子標(biāo)簽對(duì)有價(jià)值的物品進(jìn)行監(jiān)管。
RFID是一種通信技術(shù),以非接觸的方式自動(dòng)讀取某個(gè)范圍內(nèi)電子標(biāo)簽發(fā)出的無(wú)線信號(hào)。一個(gè)完整的RFID系統(tǒng),由電子標(biāo)簽、閱讀器及上位機(jī)軟件組成。根據(jù)電子標(biāo)簽是否內(nèi)置電池可分為有源標(biāo)簽和無(wú)源標(biāo)簽,有源標(biāo)簽輻射距離較遠(yuǎn)。讀寫器一般安裝在固定位置,可以接收電子標(biāo)簽發(fā)送來(lái)的信息,電子標(biāo)簽會(huì)發(fā)送固化在其內(nèi)部的唯一的識(shí)別編碼[4]。
目前市場(chǎng)上的一些雙頻讀寫器主要有以下3種:低頻讀寫器與中高頻讀寫器組合;中高頻讀寫器與超高頻讀寫器組合;超高頻讀寫器與微波讀寫器組合[5]。但是采用超高頻與微波讀寫器組合的雙頻讀寫器較少。因?yàn)樵谀承┪锲饭芾?、物流管理等?chǎng)合中出現(xiàn)頻率和距離問題,例如在某些閘門的車輛、集裝箱自動(dòng)識(shí)別等應(yīng)用中要求系統(tǒng)識(shí)別電子標(biāo)簽距離10 m~20 m(915 MHz可滿足),而在空曠廠房或廠區(qū)則要求系統(tǒng)識(shí)別電子標(biāo)簽距離100 m~200 m為佳(2.4 GHz可滿足)。因此,在不同的應(yīng)用環(huán)境應(yīng)選擇不同的工作頻率。本設(shè)計(jì)選用超高頻915 MHz讀寫器與微波2.4 GHz讀寫器相結(jié)合,它們都具有識(shí)別距離較遠(yuǎn)、主動(dòng)讀卡、可大量讀取等優(yōu)點(diǎn)。
本設(shè)計(jì)的主硬件電路以MSP430F5529單片機(jī)為核心,整個(gè)系統(tǒng)由MCU核心電路、超高頻讀寫模塊電路、微波讀寫電路、通信接口電路以及4個(gè)超高頻電子標(biāo)簽?zāi)K電路和4個(gè)2.4 GHz電子標(biāo)簽?zāi)K電路組成。
ZigBee技術(shù)是基于IEEE802.15.4標(biāo)準(zhǔn),具有超低成本、超低功耗的特性,并能以Mesh的方式組成大規(guī)模的無(wú)線網(wǎng)絡(luò),1個(gè)ZigBee無(wú)線傳感器網(wǎng)絡(luò)最多可支持65 536個(gè)節(jié)點(diǎn)[6],它廣泛用于無(wú)線傳感器網(wǎng)絡(luò)、工業(yè)自動(dòng)化、軍事信息化、家庭網(wǎng)絡(luò)等方面。本設(shè)計(jì)使用了Mesh網(wǎng)絡(luò)模式,即用短距離無(wú)線技術(shù),將RFID讀寫器通過ZigBee透?jìng)鞯姆绞揭訫esh組網(wǎng)模式連接起來(lái),可以實(shí)現(xiàn)多個(gè)RFID讀寫器協(xié)同工作。在此基礎(chǔ)上,利用簡(jiǎn)單的通信接口與計(jì)算機(jī)對(duì)接,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)與操控的功能[7]。使用ZigBee網(wǎng)絡(luò)傳輸數(shù)據(jù)其成本低,功耗??;配置簡(jiǎn)單,組網(wǎng)靈活,無(wú)線配置;容量大,有較強(qiáng)的可擴(kuò)展性和開放性,可隨需增減;延時(shí)短,速度快,數(shù)據(jù)傳輸安全可靠,可加密。傳輸系統(tǒng)總體設(shè)計(jì)原理如圖1所示。
圖1 傳輸系統(tǒng)原理圖
本文設(shè)計(jì)的RFID讀寫器主要由讀寫器MCU模塊、超高頻射頻模塊、微波射頻模塊和數(shù)據(jù)傳輸模塊組成。讀寫器的微控制器采用低功耗MSP430F5529單片機(jī);射頻部分核心器件采用頻率為915 MHz的nRF905芯片與頻率為2.4 GHz的nRF24L01+無(wú)線收發(fā)器芯片;ZigBee網(wǎng)絡(luò)傳輸部分的核心芯片采用德州儀器的CC2530芯片。
MSP430F5529單片機(jī)是一種16位超低功耗、具有精簡(jiǎn)指令集的混合信號(hào)處理器,具有128 kB閃存、8 kB RAM、USB接口、3個(gè) Timer_A 塊、1個(gè) Timer_B塊、16通道 12位 ADC、2 個(gè) USCI(UART/SPI/I2C)塊、63個(gè)I/O接口,系統(tǒng)時(shí)鐘最高達(dá)25 MHz[8-9]。讀寫器具有JATG接口,可用于完整的4線編程和調(diào)試。MSP430F5529單片機(jī)共有8組雙向可編程I/O接口,所有IO接口可內(nèi)部設(shè)置上拉、下拉,可以推挽輸出。另外,幾乎所有的I/O接口上都有復(fù)用功能,主要包括定時(shí)器比較輸出、系統(tǒng)時(shí)鐘輸出、SPI接口、串口、I2C接口、USB接口、AD輸入口、比較輸入口、晶振接口。
超高頻讀寫部分是由nRF905無(wú)線模塊組成,使用SPI接口進(jìn)行通信。nRF905芯片是挪威NORDIC公司推出的一款無(wú)線數(shù)據(jù)傳輸芯片,可根據(jù)寄存器設(shè)置工作于433/868/915 MHz任意1個(gè)頻段上。芯片內(nèi)集成了功率放大器、頻率調(diào)制器、晶體振蕩器、帶解調(diào)器的接收器、調(diào)節(jié)器等。其供電范圍為1.9~3.6 V,功耗低,可通過SPI接口與MCU連接,輸出最高功率為10 dBm。
微波射頻模塊采用nRF24L01+芯片。該芯片是挪威NORDIC公司推出的一款工作于2.4 GHz的ISM頻段上的無(wú)線數(shù)據(jù)傳輸芯片。芯片內(nèi)集成了功率放大器、頻率調(diào)制器、晶體振蕩器、帶解調(diào)器的接收器和調(diào)節(jié)器等。其電源供電范圍為1.9~3.6V,功耗低,可通過SPI接口與MCU連接,輸出功率最大為0 dBm,最大傳輸速率為2 Mbps。微波讀寫部分由nRF24L01+無(wú)線模塊組成,使用SPI接口進(jìn)行通信。
德州儀器生產(chǎn)的CC2530芯片結(jié)合了RF收發(fā)器的優(yōu)良性能,可在低成本的條件下構(gòu)建一個(gè)強(qiáng)大的網(wǎng)絡(luò)。芯片內(nèi)部具有1個(gè)增強(qiáng)型8051處理器核,在系統(tǒng)內(nèi)具有可編程的閃存和許多其他強(qiáng)大的功能。在存儲(chǔ)容量上,CC2530具有4個(gè)不同的版本(CC2530F32/64/128/256),每個(gè)版本的閃存容量分別為32 kB、64 kB、128 kB、256 kB。為適應(yīng)超低功耗要求的系統(tǒng),CC2530具有多種運(yùn)行模式,各模式之間根據(jù)功耗的要求進(jìn)行切換。本文設(shè)計(jì)的讀寫器選用的芯片型號(hào)為CC2530F256,其中結(jié)合了德州儀器的ZigBee協(xié)議棧,可提供一個(gè)強(qiáng)大和完整的ZigBee解決方案[10]。ZigBee模塊如圖2所示。
圖2 ZigBee模塊框圖
本文設(shè)計(jì)的雙頻RFID讀寫器的軟件主要由2部分組成,即RFID業(yè)務(wù)控制部分與ZigBee數(shù)據(jù)傳輸部分。RFID業(yè)務(wù)控制部分主要由電子標(biāo)簽的識(shí)別、電子標(biāo)簽信息的修改等程序組成,ZigBee數(shù)據(jù)傳輸部分使用TI提供的Z-stack協(xié)議棧軟件,在協(xié)議棧軟件的基礎(chǔ)上實(shí)現(xiàn)數(shù)據(jù)傳輸。
根據(jù)設(shè)計(jì)要求,RFID業(yè)務(wù)控制程序流程如圖3所示。系統(tǒng)上電后,單片機(jī)對(duì)I/O接口、通信接口、定時(shí)器等程序進(jìn)行初始化,然后等待上位機(jī)指令,根據(jù)不同指令執(zhí)行不同功能。主要包括標(biāo)簽識(shí)別、標(biāo)簽信息讀取、標(biāo)簽信息修改3個(gè)主要功能。
標(biāo)簽識(shí)別程序?yàn)椋航邮盏綐?biāo)簽識(shí)別指令后,單片機(jī)控制無(wú)線模塊對(duì)所有電子標(biāo)簽依次進(jìn)行查找,檢測(cè)所有標(biāo)簽的狀態(tài)。如果監(jiān)測(cè)不到某個(gè)標(biāo)簽或連接不成功,則視為標(biāo)簽識(shí)別失敗并統(tǒng)計(jì)次數(shù),達(dá)到一定次數(shù)后則判定該標(biāo)簽不在線,繼續(xù)查找下一個(gè)標(biāo)簽,最后將各個(gè)標(biāo)簽所在的狀態(tài)返回到上位機(jī)中。
標(biāo)簽信息讀取程序?yàn)椋航邮盏叫畔⒆x取指令后,單片機(jī)控制無(wú)線模塊對(duì)相應(yīng)電子標(biāo)簽進(jìn)行查找,監(jiān)測(cè)到標(biāo)簽在線后進(jìn)一步讀回標(biāo)簽內(nèi)部的設(shè)備信息,加以處理后返回到上位機(jī)中。如果監(jiān)測(cè)不到標(biāo)簽或連接不成功,則視為標(biāo)簽識(shí)別失敗并統(tǒng)計(jì)次數(shù),達(dá)到一定次數(shù)后則判定該標(biāo)簽不在線,返回標(biāo)簽不存在的消息到上位機(jī)中。
圖3 RFID業(yè)務(wù)控制程序流程
標(biāo)簽信息修改程序?yàn)椋航邮盏綐?biāo)簽修改指令后,單片機(jī)控制無(wú)線模塊對(duì)相應(yīng)電子標(biāo)簽進(jìn)行查找,監(jiān)測(cè)到標(biāo)簽在線后進(jìn)一步修改標(biāo)簽內(nèi)部的設(shè)備信息,并返回修改成功標(biāo)志到上位機(jī)中。如果監(jiān)測(cè)不到標(biāo)簽或連接不成功,則視為標(biāo)簽識(shí)別失敗并統(tǒng)計(jì)次數(shù),達(dá)到一定次數(shù)后則判定該標(biāo)簽不在線,返回標(biāo)簽不存在的消息到上位機(jī)中。
傳輸模塊程序流程如圖4所示。
3.2.1 協(xié)調(diào)器網(wǎng)絡(luò)組建
網(wǎng)絡(luò)的建立過程是由ZDO(ZigBee Device Object,ZigBee設(shè)備對(duì)象)來(lái)實(shí)現(xiàn)的,ZDO是一種應(yīng)用,它利用網(wǎng)絡(luò)層和應(yīng)用支持子層的服務(wù)來(lái)實(shí)現(xiàn)協(xié)調(diào)器、路由器和終端設(shè)備其中之一個(gè)設(shè)備角色。網(wǎng)絡(luò)建立后,在應(yīng)用層收到ZDO_STATE_CHANGE消息,該消息中包含了當(dāng)前節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)[12]。網(wǎng)絡(luò)建立的過程描述如下:
圖4 傳輸模塊程序流程
3.2.2 ZigBee協(xié)議棧串口透?jìng)鞣治?/p>
在ZigBee協(xié)議棧中已對(duì)串口初始化所需要的函數(shù)進(jìn)行了編寫,用戶只需設(shè)定幾個(gè)參數(shù)便可以使用串口,此外ZigBee協(xié)議棧還編寫了串口的讀取函數(shù)和寫入函數(shù)。ZigBee協(xié)議棧提供與UART相關(guān)的函數(shù)如下:
3.2.3 主體程序
程序設(shè)計(jì)主要包括協(xié)調(diào)器程序和終端設(shè)備程序設(shè)計(jì)。協(xié)調(diào)器軟件流程如圖5所示,終端設(shè)備軟件流程如圖6所示。協(xié)調(diào)器設(shè)備作為ZigBee設(shè)備1,終端設(shè)備作為ZigBee設(shè)備2。協(xié)調(diào)器設(shè)備上電初始化后,首先建立ZigBee無(wú)線網(wǎng)絡(luò),進(jìn)入操作系統(tǒng)判斷應(yīng)用層事件SampeApp_CMD_SERIA_MSG是否發(fā)生,如果發(fā)生,執(zhí)行串口處理函數(shù)SampeApp_SeriaCMD()將串口傳來(lái)的信息通過射頻收發(fā)器以射頻的方式發(fā)送出去;接著判斷事件AF_INCOMING_MSG_CMD接收無(wú)線數(shù)據(jù)是否發(fā)生,如果發(fā)生,將接收到的無(wú)線數(shù)據(jù)通過串口發(fā)送給PC機(jī)顯示。終端設(shè)備上電初始化后,發(fā)現(xiàn)并加入到協(xié)調(diào)器產(chǎn)生的網(wǎng)絡(luò)中,進(jìn)入操作系統(tǒng)后,事件處理與協(xié)調(diào)器的操作過程相同。
圖5 協(xié)調(diào)器的軟件流程
圖6 終端設(shè)備的軟件流程
本文設(shè)計(jì)了一款基于ZigBee網(wǎng)絡(luò)傳輸?shù)腞FID雙頻讀寫器并對(duì)系統(tǒng)的原理、硬件組成以及軟件設(shè)計(jì)進(jìn)行了介紹。其傳輸模式采用了ZigBee網(wǎng)絡(luò),該網(wǎng)絡(luò)是一種比較新型的讀寫傳輸模式,省去了傳統(tǒng)的有線傳輸系統(tǒng)布線的過程,是對(duì)各種物資管理的先進(jìn)化、合理化發(fā)展的一種有益探索。本設(shè)計(jì)操作簡(jiǎn)單,成本低,性能穩(wěn)定,有2種工作頻段可供選擇,能廣泛應(yīng)用于安全、管理、物流等領(lǐng)域,提高了工作效率,節(jié)約了人力資源,實(shí)現(xiàn)了智能化管理。
天津職業(yè)技術(shù)師范大學(xué)學(xué)報(bào)2018年2期