文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)06-0021-03
射頻識別RFID(Radio Frequency Identification)是近20年來蓬勃興起的一種自動識別技術(shù),它的應(yīng)用領(lǐng)域十分廣泛,如油田采油車出入自動識別管理與監(jiān)測系統(tǒng)就是一個很好的例子,它能使管理人員及時掌握油田采油車輛和油井采油動態(tài)[1],以便更好地進(jìn)行合理調(diào)度與管理等。
本文設(shè)計開發(fā)的RFID電子標(biāo)簽和閱讀器應(yīng)達(dá)技術(shù)參數(shù)指標(biāo)如表1和表2所示。
1 硬件設(shè)計
1.1 總體方案
本文設(shè)計開發(fā)的射頻收發(fā)系統(tǒng)的組成如圖1所示。計算機(jī)通過異步串口向ARM控制器傳送指令;ARM控制器再通過nRF24L01按照一定通信協(xié)議[2]將信號發(fā)送給指定地址的標(biāo)簽;若標(biāo)簽處于閱讀器范圍內(nèi)[3],經(jīng)外部觸發(fā)后,會發(fā)送標(biāo)簽的一些相關(guān)信息給閱讀器;閱讀器部分的無線收發(fā)模塊通過串口將接收到的數(shù)據(jù)上傳至上位機(jī)進(jìn)行數(shù)據(jù)顯示處理。
1.2 電路設(shè)計
1.2.1 低功耗電子標(biāo)簽
單片機(jī)與nRF24L01連接電路設(shè)計如圖2所示。
MSP430F149單片機(jī)的P1.6引腳接收來自nRF24L01的中斷,低電平有效;由P1.7引腳控制nRF24L01的CE端,CE端的電平?jīng)Q定nRF24L01工作在接收模式還是發(fā)送模式;由P5.0引腳控制nRF24L01的片選使能CSN,CSN為低后SPI接口等待執(zhí)行指令,每一條指令的執(zhí)行都必須經(jīng)過一次CSN由高到低的變化;MISO和MOSI分別為串行輸入和輸出,分別由P5.1和P5.2引腳控制。
1.2.2 閱讀器
ARM系列單片機(jī)STR711FR2芯片與nRF24L01連接電路設(shè)計如圖3所示。由單片機(jī)的P0.7引腳來控制CE端;由P0.10引腳接收來自nRF24L01的中斷;由P1.9引腳控制nRF24L01的片選使能CSN;由P0.12引腳控制串行輸出口MOSI;由P0.13引腳控制串行輸入口MISO。STR711FR2采用16 MHz有源晶振,與上位機(jī)采用串口通信。
2 軟件設(shè)計
2.1 通信協(xié)議和串口中斷
本文所設(shè)計的RFID通信模塊實現(xiàn)的功能包括廣播識別、讀/寫標(biāo)簽編號、讀/寫標(biāo)簽密碼、讀/寫標(biāo)簽數(shù)據(jù)信息。該通信協(xié)議如表3所示。
若在通信協(xié)議中設(shè)置較短的地址和校驗可以提高傳輸?shù)男?,同時為增強(qiáng)程序的運(yùn)行效率,閱讀器采用UART全局接收中斷模式,以保證即時接收到上位機(jī)的指令。閱讀器串口中斷子程序如下:
void UART0_IRQHandler(void)
{ int k;
for (k=0; k<18; k++)
UART_ByteReceive(UART0, (u8*) &
bRByte[k], 0xFF);
uart_flag=1;
}
2.2 軟件流程圖
2.2.1 閱讀器指令發(fā)送子程序
閱讀器上電后,檢查閱讀器與上位機(jī)通信是否正常,當(dāng)調(diào)試好串口工作后,按如圖4所示的發(fā)送主程序流程進(jìn)行指令發(fā)送。首先進(jìn)行初始化,將nRF24L01的工作模式、通信地址及通信速率等參數(shù)配置好,然后等待上位機(jī)的數(shù)據(jù)包。閱讀器在對上位機(jī)發(fā)送來的指令校驗無誤后,會向指定標(biāo)簽發(fā)送數(shù)據(jù)包,標(biāo)簽收到數(shù)據(jù)包后會發(fā)送一幀應(yīng)答數(shù)據(jù)包,閱讀器接收到應(yīng)答數(shù)據(jù)包后,在PDA顯示出來,至此完成一次數(shù)據(jù)的傳遞。
當(dāng)有多個標(biāo)簽時,閱讀器采用分時發(fā)送識別指令方式,可知道哪個標(biāo)簽沒有在閱讀器范圍內(nèi)。但應(yīng)注意的是,閱讀器每次向標(biāo)簽發(fā)送指令后,都應(yīng)隨后再發(fā)送一包指令來清理標(biāo)簽自動應(yīng)答緩沖區(qū)(W_ACK_PAYLOAD),避免下次發(fā)送不同的指令時出現(xiàn)應(yīng)答錯誤。
2.2.2 標(biāo)簽指令接收子程序
標(biāo)簽上電后,首先進(jìn)行初始化,使標(biāo)簽完成一些配置寄存器的設(shè)置,然后進(jìn)入待機(jī)模式,當(dāng)標(biāo)簽進(jìn)入閱讀器的范圍內(nèi),經(jīng)閱讀器喚醒后,標(biāo)簽會產(chǎn)生接收中斷跳入監(jiān)聽指令子程序,即從低功耗模式轉(zhuǎn)入工作模式,開始監(jiān)聽空中的數(shù)據(jù)包。當(dāng)自動應(yīng)答有效時,ACK消息將被發(fā)回。標(biāo)簽指令接收子程序流程圖如圖5所示。
2.3 電子標(biāo)簽低功耗模式軟件編程實現(xiàn)
低功耗標(biāo)簽子程序設(shè)計如下所示:
while(1)
{ if(flag_r==0)
CLR_CE; //使NRF24L01進(jìn)入待機(jī)模式
WDTCTL=WDT_MDLY_32; //定時器
IE1|=WDTIE;
BIS_SR(LPM0); //單片機(jī)進(jìn)入LPM0模式
while(flag_wr==1||flag_r==1) //接收中斷標(biāo)志
{ IE1|=0x00;
flag_wr=0;
lag_r=0; //接收標(biāo)志清零
BIS_SR(LPM2);} //使單片機(jī)進(jìn)入LPM2模式
delay(3000); }
3 標(biāo)簽測試結(jié)果與分析
標(biāo)簽設(shè)計可根據(jù)需要設(shè)計出兩種天線形式,本次測試設(shè)計出板載天線[4]和外置天線兩種電路板。測試時可將毫安表串聯(lián)于電路中,觀察標(biāo)簽的功耗變化,在不同的功耗下分別進(jìn)行測試。測試結(jié)果表明,外置天線和板載天線都能滿足使用者要求。外置標(biāo)簽通信測試結(jié)果如圖6所示。
從圖中可以看出,功耗在12.3 mA時,隨著閱讀器與電子標(biāo)簽距離的增加,到達(dá)10 m處通信成功率恒定為100%,此時標(biāo)簽一直處于接收模式;設(shè)置并調(diào)整軟件中相關(guān)參數(shù)使得標(biāo)簽功耗為6 mA左右時,隨著距離的增加,在6 m以內(nèi)通信成功率為100%,大于6 m時通信成功率會有一定的下降,但能保證在90%以上;設(shè)置并調(diào)整軟件相關(guān)參數(shù)使得功耗降低到1.2 mA左右時,隨著距離的增加通信成功率會明顯降低,但在10 m以內(nèi)仍能保證較高的通信成功率,此時功耗已降到最低,通過重復(fù)2~3次識別,其成功率完全能滿足使用需求。
本文設(shè)計了一種由單片機(jī)控制、以nRF24L01為無線射頻收發(fā)芯片的RFID通信方案,其特點是通信快速和功耗較低。電子標(biāo)簽在不工作情況下,功耗可降到1.2 mA左右。該設(shè)計還適用于多個電子標(biāo)簽場合,閱讀器采用分時向標(biāo)簽發(fā)送指令的方式,每次發(fā)送后應(yīng)再發(fā)送一包指令清理標(biāo)簽自動應(yīng)答緩沖區(qū)(W_ACK_PAYLOAD),以避免下次出現(xiàn)應(yīng)答錯誤。
該設(shè)計所研制的樣機(jī)具有功耗低、通信快速、誤碼率低、抗干擾性好、能識別多個標(biāo)簽等特點,能滿足對體積和功耗要求較高的油田開發(fā)設(shè)備的實際使用要求。
參考文獻(xiàn)
[1] 談衛(wèi),肖菲菲,齊軍.油田智能巡檢系統(tǒng)在生產(chǎn)管理中的應(yīng)用[J].自動化技術(shù)與應(yīng)用,2011,30(10):83-86.
[2] Datasheet for single chip 2.4 GHz transceiver nRF2401[EB/OL].(2003-3)[2003-3].http://pdf.dzsc.com/NRF/NRF2401%20IC.pdf.
[3] 付煒,馬建國.一種有源低功耗微波頻段RFID標(biāo)簽設(shè)計[C].四川省電子學(xué)會半導(dǎo)體與集成技術(shù)專委會2006年度學(xué)術(shù)年會論文集,2006.
[4] 陳華君,林凡,郭東輝,等.RFID技術(shù)原理及其射頻天線設(shè)計[J].廈門大學(xué)學(xué)報,2005,44(B06):312-315.