沈陽(yáng)工業(yè)大學(xué)化工過(guò)程自動(dòng)化學(xué)院 孫 鐸 佟維妍 張佳楠 王余杰 王 建
基于MSP430和Zigbee的RFID讀寫(xiě)設(shè)備
沈陽(yáng)工業(yè)大學(xué)化工過(guò)程自動(dòng)化學(xué)院 孫 鐸 佟維妍 張佳楠 王余杰 王 建
本文提出了一種基于RFID和Zigbee的讀寫(xiě)設(shè)備的設(shè)計(jì)方案。介紹了系統(tǒng)的總體結(jié)構(gòu)及工作過(guò)程,簡(jiǎn)述了基于MSP430和Zigbee的RFID讀寫(xiě)設(shè)備的軟硬件設(shè)計(jì)。該系統(tǒng)的實(shí)施將大大提高管理效率,具有一定的應(yīng)用價(jià)值。
RFID讀寫(xiě)設(shè)備;Zigbee;MSP430
RFID是一種非接觸式自動(dòng)識(shí)別技術(shù),它通過(guò)無(wú)線射頻方式,實(shí)現(xiàn)對(duì)RFID標(biāo)簽的信息獲取。RFID技術(shù)可同時(shí)識(shí)別多個(gè)高速運(yùn)動(dòng)的標(biāo)簽,其工作可靠性高、保密性強(qiáng)、方便快捷[1]。
ZigBee技術(shù)是一種具有低復(fù)雜度、近距離、低成本等特點(diǎn)的雙向無(wú)線通訊技術(shù)[2]。主要應(yīng)用于功耗低、低傳輸率且近距離的各種電子設(shè)備之間數(shù)據(jù)的傳輸,也適用于典型的間歇性、周期性數(shù)據(jù)和低反應(yīng)時(shí)間數(shù)據(jù)的傳輸[3]。ZigBee作為一種新興起的短距離無(wú)線通信國(guó)際標(biāo)準(zhǔn)協(xié)議,在通信產(chǎn)品中的應(yīng)用得到了快速發(fā)展,進(jìn)入大規(guī)模的商業(yè)生產(chǎn)和應(yīng)用時(shí)期。
基于物聯(lián)網(wǎng)的先進(jìn)思想,提出一種基于MSP430和Zigbee的RFID讀寫(xiě)設(shè)備,將ZigBee技術(shù)和RFID技術(shù)相結(jié)合,以MSP430F149單片機(jī)為系統(tǒng)控制器,利用ZigBee無(wú)線傳感器網(wǎng)絡(luò)的無(wú)線自組網(wǎng)原理實(shí)現(xiàn)了手持移動(dòng)式RFID讀寫(xiě)端和PC機(jī)接收端的遠(yuǎn)程無(wú)線通信,無(wú)需布線,可根據(jù)具體的情況隨時(shí)隨地將RFID讀寫(xiě)端連入網(wǎng)絡(luò),網(wǎng)絡(luò)管理容易,能夠迅速采集多個(gè)電子標(biāo)簽信息,提高了組網(wǎng)的數(shù)據(jù)傳輸?shù)目煽啃?、安全性和便捷性,滿足物聯(lián)網(wǎng)的發(fā)展要求。
RFID讀寫(xiě)設(shè)備是利用射頻技術(shù)(RFID)讀/寫(xiě)電子標(biāo)簽信息的設(shè)備,可將上位PC機(jī)的讀寫(xiě)命令傳送到電子標(biāo)簽,同時(shí)進(jìn)行數(shù)據(jù)加密,將電子標(biāo)簽返回的數(shù)據(jù)解密后送到上位PC機(jī)或通過(guò)LCD顯示[4]。
RFID讀寫(xiě)設(shè)備包括手持移動(dòng)式RFID讀寫(xiě)端和PC機(jī)接收端兩部分,如圖1。工作時(shí),管理員啟動(dòng)手持移動(dòng)式RFID讀寫(xiě)端,當(dāng)工作區(qū)域內(nèi)有電子標(biāo)簽時(shí),RFID讀寫(xiě)端自動(dòng)讀取該標(biāo)簽的相關(guān)信息,實(shí)時(shí)地將數(shù)據(jù)通過(guò)ZigBee無(wú)線傳感器網(wǎng)絡(luò)發(fā)送至PC機(jī)接收端,PC機(jī)接收端通過(guò)RS232串行通信與PC上位機(jī)進(jìn)行通訊連接,將現(xiàn)場(chǎng)數(shù)據(jù)傳輸至上位機(jī)管理系統(tǒng)進(jìn)行數(shù)據(jù)管理[5]。
圖1 RFID讀寫(xiě)設(shè)備結(jié)構(gòu)示意圖
手持移動(dòng)式RFID讀寫(xiě)端采用電池供電方式,主要由MCU、RFID讀卡模塊、讀寫(xiě)端ZigBee模塊、LCD顯示模塊、鍵盤(pán)電路、電源模塊等構(gòu)成。
MCU采用了超低功耗的16位單片機(jī)MSP430F149,其采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu),只有簡(jiǎn)潔的27條指令,運(yùn)算速度快。片上集成了豐富的外設(shè),如12位模數(shù)轉(zhuǎn)換器、看門(mén)狗、SPI等。MSP430適應(yīng)工業(yè)級(jí)的運(yùn)行環(huán)境,更適合應(yīng)用于使用電池供電的儀器儀表類(lèi)產(chǎn)品中,如圖2所示。本設(shè)計(jì)的軟件采用高效的MSP430系列的C語(yǔ)言編寫(xiě),軟件的開(kāi)發(fā)選擇了IAR 5.5開(kāi)發(fā)環(huán)境。利用IAR 5.5軟件可直接通過(guò)單片機(jī)的JTAG接口下載程序或讀取單片機(jī)內(nèi)數(shù)據(jù)。在MSP430F149中存儲(chǔ)RFID中間件程序和ZigBee通訊程序,起著連接底層設(shè)備的作用,實(shí)現(xiàn)數(shù)據(jù)傳輸和處理、實(shí)時(shí)數(shù)據(jù)的采集功能。
圖2 手持移動(dòng)式RFID讀寫(xiě)端MCU原理圖
RFID讀寫(xiě)卡芯片選用了低電壓、低功耗、小尺寸非接觸式讀寫(xiě)基站芯片RC522,通過(guò)10Mbit/s的SPI方式與手持移動(dòng)式RFID讀寫(xiě)端MCU通信。
圖3 RFID讀卡模塊電路圖
手持移動(dòng)式RFID讀寫(xiě)端通過(guò)與讀寫(xiě)卡芯片連接的天線和電子標(biāo)簽線圈產(chǎn)生共振來(lái)傳遞數(shù)據(jù),當(dāng)有電子標(biāo)簽處在讀寫(xiě)端的有效工作范圍內(nèi)時(shí),MSP430通過(guò)RC522向電子標(biāo)簽發(fā)出尋卡命令,當(dāng)讀寫(xiě)卡芯片的天線檢測(cè)到電子標(biāo)簽的響應(yīng)信號(hào)后,經(jīng)過(guò)天線匹配后把接收信號(hào)傳送到讀寫(xiě)卡芯片,讀寫(xiě)卡芯片內(nèi)部對(duì)該信號(hào)進(jìn)行解調(diào),并進(jìn)行相應(yīng)的解密處理,從而完成讀寫(xiě)卡芯片與電子標(biāo)簽的通訊,讀寫(xiě)卡芯片完成和電子標(biāo)簽的通訊后再將接收到的數(shù)據(jù)發(fā)送至手持移動(dòng)式RFID讀寫(xiě)端MCU[6],如圖3所示。
若同時(shí)有多張電子標(biāo)簽在天線的工作范圍內(nèi),讀寫(xiě)端將啟動(dòng)防沖撞機(jī)制,依據(jù)電子標(biāo)簽的序列號(hào)來(lái)選擇一張電子標(biāo)簽,被選中的電子標(biāo)簽再與讀寫(xiě)端進(jìn)行密碼校驗(yàn),確定讀寫(xiě)端對(duì)電子標(biāo)簽存在操作權(quán)限并且保證電子標(biāo)簽的合法性,而未被選中的則仍然處在閑置狀態(tài),等待下一次尋找命令。
防沖撞程序如下:
char PcdAntlcoll(unslgned char *str)
{
char stts;
unslgned char l,hecha=0;
unslgned lnt changdu;
unslgned char hcsj[ZHUIDA];
Qishiwei(Zhuangtai,0x08);
Xierame(Biaozhi,0x00);
Qishiwei(Xunhuan,0x80);
hcsj[0] = PLCC_ANTLCOLL1;
hcsj[1] = 0x20;
stts = Pqqsd(PCD_TRANSCELVE,hcsj,2,hcsj,&chan gdu);
lf (stts == WANHAO)
{
for (l=0; l<4; l++)
{
*(str+l) = hcsj[l];
hecha ^= hcsj[l];
}
lf (hecha != hcsj[l])
{stts = CHUOWU; }
}
Shezhimas(Xunhuan,0x80);
return stts;
}
PC機(jī)接收端主要由MCU、接收端ZigBee模塊、電平轉(zhuǎn)換模塊、電源模塊等構(gòu)成。
手持移動(dòng)式RFID讀寫(xiě)端和PC機(jī)接收端的ZigBee模塊選用符合2.4GHz IEEE802.15.4標(biāo)準(zhǔn)的射頻收發(fā)器CC2420。CC2420支持?jǐn)?shù)據(jù)傳輸率高達(dá)250kbps,通過(guò)SPI接口進(jìn)行編程配置,如圖4所示。PC機(jī)接收端ZigBee模塊可同時(shí)與多個(gè)手持移動(dòng)式RFID讀寫(xiě)端ZigBee模塊之間進(jìn)行數(shù)據(jù)傳輸。
圖4 ZigBee收發(fā)模塊電路圖
圖5 PC機(jī)接收端電平轉(zhuǎn)換模塊電路圖
接收數(shù)據(jù)并判斷程序如下:
if(CC2420_RxPacket())
{
CC2420_ReadRXFIFO();
CC2420_SetRxMode();
if(CC2420_PSDU[25] == 1)
{
LED1_1;LED2_0;BELL_0;delay_ms(50);LED1_0;LED2 _0;BELL_1; CC2420_PSDU[25] = 0;
}
if(CC2420_PSDU[25] == 2)
{
LED1_0;LED2_1;BELL_0;delay_ms(50);LED1_0;LED2 _0;BELL_1; CC2420_PSDU[25] = 0;
}
SCLK_OFF();CSN_ON();CC2420_ Command(CMD_SFLUSHRX);
}
在本設(shè)備中,PC機(jī)與PC機(jī)接收端采用近距離的串行通信,采用RS232實(shí)現(xiàn)。MSP430單片機(jī)串口的輸入輸出均為T(mén)TL低電平,PC機(jī)的RS232接口采用RS232標(biāo)準(zhǔn)的EIA電平,故選用MAX232CSE芯片實(shí)現(xiàn)這兩種電平之間的轉(zhuǎn)化,如圖5所示。
本文主要研究的是基于MSP430和ZigBee的RFID讀寫(xiě)設(shè)備的設(shè)計(jì)。采用MSP430F149單片機(jī)微處理器與RFID模塊或芯片構(gòu)建RFID讀寫(xiě)器,實(shí)現(xiàn)對(duì)RFID標(biāo)簽的信號(hào)采集、顯示及傳輸?shù)裙δ堋T撛O(shè)備網(wǎng)絡(luò)適應(yīng)能力強(qiáng),可根據(jù)具體的情況隨時(shí)隨地將RFID讀寫(xiě)設(shè)備連入網(wǎng)絡(luò),網(wǎng)絡(luò)管理容易。
[1]駱波濤,馬文清,李沛東.基于RFID的實(shí)驗(yàn)室設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊:教育技術(shù),2011(08):84-86.
[2]王占領(lǐng).淺析無(wú)線通訊技術(shù)中近距離通訊技術(shù)的發(fā)展[J].科技創(chuàng)新與應(yīng)用,2014(10):31.
[3]劉建杰,梁高紅,等.?dāng)?shù)字化系統(tǒng)在盤(pán)古梁油田的建設(shè)及應(yīng)用[J].中國(guó)科技博覽,2012,14.
[4]蔣武洲.RFID應(yīng)用系統(tǒng)通過(guò)Web服務(wù)傳輸數(shù)據(jù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(13):3126-3129.
[5]佟維妍,等.基于ZigBee的RFID讀寫(xiě)設(shè)備:中國(guó),ZL20 1320707110.2[P].2014-04-30.
[6]朱炳瑞,裴煥斗,劉春力.基于RFID的單片機(jī)系統(tǒng)設(shè)計(jì)[J].電子世界,2013(01):129-130.
孫鐸(1994—),男,遼寧錦州人,大學(xué)本科,現(xiàn)就讀于沈陽(yáng)工業(yè)大學(xué)化工過(guò)程自動(dòng)化學(xué)院電氣工程系測(cè)控技術(shù)與儀器專(zhuān)業(yè)。
佟維妍(1981—),女,遼寧遼陽(yáng)人,碩士,講師,研究方向:智能控制理論及其應(yīng)用。
遼寧省教育廳科學(xué)研究一般項(xiàng)目(項(xiàng)目編號(hào):L2015394);2015年遼寧省教育廳大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目。