基于RFID的電子關(guān)鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
引言
現(xiàn)行海關(guān)轉(zhuǎn)關(guān)貨物監(jiān)管主要采用傳統(tǒng)的一次性鉛封方式,以人工操作、肉眼識(shí)別等方式對集裝箱進(jìn)行機(jī)械施封、驗(yàn)封、解封,運(yùn)行成本高、安全性低,更關(guān)鍵的是這種監(jiān)管方式運(yùn)行效率低,遠(yuǎn)遠(yuǎn)不能滿足海關(guān)大密度、高強(qiáng)度業(yè)務(wù)流量的監(jiān)管要求。RFID(Radio Frequency Identification,射頻識(shí)別)技術(shù)是利用感應(yīng)、無線電波或微波能量進(jìn)行非接觸雙向通信,實(shí)現(xiàn)以識(shí)別和交換數(shù)據(jù)為目的的自動(dòng)識(shí)別技術(shù)。它通過射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),識(shí)別工作無需人工干預(yù)。本文基于主動(dòng)式 RFID技術(shù)設(shè)計(jì)了電子關(guān)鎖系統(tǒng),采用電子關(guān)鎖代替?zhèn)鹘y(tǒng)的鉛制封條對轉(zhuǎn)關(guān)集裝箱進(jìn)行電子監(jiān)控管理。
系統(tǒng)架構(gòu)及運(yùn)行方式
本系統(tǒng)由監(jiān)控中心服務(wù)器、道口監(jiān)控機(jī)、射頻讀寫器(道口讀寫器、手持讀寫器)、電子關(guān)鎖四部分組成,其系統(tǒng)架構(gòu)如圖1所示。監(jiān)控中心服務(wù)器負(fù)責(zé)后臺(tái)數(shù)據(jù)存儲(chǔ)和管理;道口監(jiān)控機(jī)通過串口控制道口讀寫器同關(guān)鎖進(jìn)行射頻通信;電子關(guān)鎖作為無線終端,主要實(shí)現(xiàn)信息存儲(chǔ)、無線通訊、機(jī)構(gòu)控制、狀態(tài)監(jiān)測等功能。
圖1 電子關(guān)鎖系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D
系統(tǒng)底層硬件結(jié)構(gòu)與設(shè)計(jì)
電子關(guān)鎖系統(tǒng)底層部分由讀寫器和電子關(guān)鎖組成,基本組成單元為MCU和射頻收發(fā)電路。區(qū)別在于:道口讀寫器增加了RS-485通信接口,手持讀寫器增加了人機(jī)交互接口,包括44薄膜鍵盤和12864點(diǎn)陣式液晶顯示模塊,電子關(guān)鎖則擴(kuò)展了異常狀態(tài)監(jiān)測電路和電機(jī)驅(qū)動(dòng)電路。電機(jī)驅(qū)動(dòng)電路用來驅(qū)動(dòng)電機(jī),實(shí)現(xiàn)對關(guān)鎖的電子施封和解封。
電子關(guān)鎖要求實(shí)現(xiàn)10~20米的無線數(shù)據(jù)通信,本文選用了Nordic公司生產(chǎn)的nRF2401(以下簡稱2401)作為射頻收發(fā)芯片。2401工作在全球開放的2.4GHz頻段,125個(gè)頻道,采用GFKS調(diào)制,最高無線數(shù)據(jù)傳輸速率可達(dá)1Mbit/s,內(nèi)置硬件地址解碼和CRC編解碼電路。實(shí)際設(shè)計(jì)中采用單通道模式,MCU需要同2401的6個(gè)引腳相連,分別為DATA、CLK1、DR1、PWR、CE、CS。其中PWR、CE、CS用來配置工作模式。DATA、CLK1組成SPI總線。DR1為數(shù)據(jù)準(zhǔn)備引腳,與MCU的中斷I/O引腳相連。圖2為射頻收發(fā)電路原理圖。
軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)分為三個(gè)層次:監(jiān)控中心服務(wù)器為頂層;道口監(jiān)控機(jī)為中間層;讀寫器及電子關(guān)鎖為底層。限于篇幅,這里主要說明底層系統(tǒng)的軟件設(shè)計(jì)。
2401通信方式分析
2401存在兩種通信方式,分別為直接傳輸模式(Dire Mode)和突發(fā)傳輸模式(Shock Burst),本設(shè)計(jì)采用后者。
本設(shè)計(jì)中設(shè)置地址段為2個(gè)字節(jié),數(shù)據(jù)段為28個(gè)字節(jié),校驗(yàn)碼為2個(gè)字節(jié)。地址段為2401芯片配置的接收地址,在系統(tǒng)中設(shè)定電子關(guān)鎖為被呼叫方,它們的接收地址相同;相應(yīng)地,主叫方即所有的讀寫器設(shè)置的接收地址也相同。2401為半雙工方式,要通過配置狀態(tài)字來進(jìn)行數(shù)據(jù)收發(fā)方式的切換。
通信協(xié)議研究
設(shè)計(jì)定義的RF數(shù)據(jù)包裝載于數(shù)據(jù)段(PAYLOAD)中,該數(shù)據(jù)包為定長28個(gè)字節(jié)。
分析系統(tǒng)的應(yīng)用需求,由于現(xiàn)場存在多個(gè)讀寫器和多個(gè)關(guān)鎖分別通信的情況,所以制訂的無線通信協(xié)議必須是針對多點(diǎn)對多點(diǎn)的。在每次通信開始時(shí),主叫方需要同應(yīng)答方建立連接,下面是連接的建立過程:
1、讀寫器發(fā)出廣播呼叫(簡稱全呼)指令,這是一個(gè)單包指令,需在應(yīng)答方標(biāo)識(shí)填0xFFFFFF,命令碼為‘S’。此時(shí),有效通信距離內(nèi)的電子鎖都會(huì)被喚醒,它們會(huì)在應(yīng)答方標(biāo)識(shí)中填入自己的ID并返回給讀寫器。
2、讀寫器會(huì)從返回的關(guān)鎖標(biāo)識(shí)中選擇一個(gè)目標(biāo)鎖對其發(fā)出單點(diǎn)呼叫指令(簡稱點(diǎn)呼)。對于道口讀寫器,采用定向天線保證每次全呼僅呼叫到一把鎖,則直接點(diǎn)呼該鎖;對于手持讀寫器,有可能得到多把鎖應(yīng)答,可通過鍵盤進(jìn)行選擇后點(diǎn)呼。點(diǎn)呼時(shí)需在應(yīng)答方標(biāo)識(shí)中填入目標(biāo)鎖的ID。
3、電子鎖在收到該指令后會(huì)解析數(shù)據(jù)包,在認(rèn)證主機(jī)身份并確認(rèn)應(yīng)答方標(biāo)識(shí)為己方ID后,向主機(jī)返回應(yīng)答確認(rèn)指令。主機(jī)收到確認(rèn)指令后認(rèn)為該連接已確立。
圖2 射頻收發(fā)電路
電子關(guān)鎖主程序設(shè)計(jì)
一般情況下,電子關(guān)鎖處于休眠監(jiān)聽狀態(tài),2401收到RF數(shù)據(jù)幀后,產(chǎn)生DR1中斷喚醒MCU,MCU根據(jù)RF協(xié)議數(shù)據(jù)包格式進(jìn)行數(shù)據(jù)解析和身份認(rèn)證后,根據(jù)命令碼進(jìn)行處理,最后對應(yīng)答數(shù)據(jù)進(jìn)行打包發(fā)送。電子施封后的異常狀態(tài)檢測采用定時(shí)中斷處理。電子關(guān)鎖主程序流程如圖3所示。
關(guān)鍵問題分析
低功耗設(shè)計(jì)
電子關(guān)鎖采用電池供電,因此低功耗是設(shè)計(jì)重點(diǎn),軟件設(shè)計(jì)中合理設(shè)置工作方式可以大大降低功耗。電子關(guān)鎖在大部分時(shí)間里是無需進(jìn)行通信的,但是它必須保持無線監(jiān)聽狀態(tài),以保證隨時(shí)應(yīng)答主機(jī)的呼叫。2401處于接收模式時(shí)的消耗電流為18mA,這種消耗相對較大,不滿足系統(tǒng)需求。設(shè)計(jì)中采用時(shí)間窗監(jiān)聽方式,電子關(guān)鎖每秒鐘僅開啟2401無線監(jiān)聽1ms,在接收到喚醒指令后,才進(jìn)入長時(shí)間監(jiān)聽模式。實(shí)際測試時(shí)間窗監(jiān)聽狀態(tài)時(shí)的功耗僅為0.68mA,功耗顯著降低。對于主機(jī)即讀寫器,每次連接關(guān)鎖前需要增加一個(gè)喚醒過程,在1秒鐘內(nèi)持續(xù)發(fā)送喚醒指令,保證其時(shí)長覆蓋關(guān)鎖監(jiān)聽時(shí)間窗。
避免鄰道干擾
在海關(guān)卡口一般存在多條車道,相鄰幾條車道可能存在同頻干擾,在系統(tǒng)設(shè)計(jì)中結(jié)合兩種方式避免此干擾:一種是道口讀寫器采用定向天線,這樣讀寫器發(fā)射的射頻信號(hào)定向于單一車道,可避免讀寫器射頻信號(hào)對相鄰車道的影響。但是電子關(guān)鎖不可能采用定向天線,所以再附加一種跳頻通信工作方式,各車道工作基頻設(shè)置相同,但是,一旦讀寫器與電子關(guān)鎖建立通信連接后,雙方便跳到由主機(jī)即讀寫器指定的固定頻率上工作,這樣,不同車道由于跳頻設(shè)置不同,可有效避免鄰道干擾。對2401進(jìn)行跳頻設(shè)置十分方便,只需在配置模式下對頻道狀態(tài)字進(jìn)行設(shè)定即可。
圖3 電子關(guān)鎖主程序流程圖
分時(shí)應(yīng)答
手持讀寫器的應(yīng)用環(huán)境同道口讀寫器不同,它采用廣向天線,有效通信范圍內(nèi)可能存在多把關(guān)鎖。由于頻率相同,廣播呼叫時(shí)電子關(guān)鎖同步應(yīng)答會(huì)造成信號(hào)沖突。為避免沖突,在軟件設(shè)計(jì)中采用分時(shí)應(yīng)答,關(guān)鎖在收到廣播呼叫指令后,先隨機(jī)延時(shí)一段時(shí)間再返回應(yīng)答指令。需要注意的是隨機(jī)延時(shí)不是任意的,而是分段的,以保證主機(jī)在時(shí)間間隙內(nèi)處理不同的應(yīng)答信號(hào)。
這里對分時(shí)應(yīng)答設(shè)計(jì)進(jìn)行分析,設(shè)讀寫器發(fā)送廣播指令后的通信時(shí)間為Tc,將Tc分為n個(gè)時(shí)間間隙,每個(gè)間隙足夠完成對某一把關(guān)鎖的標(biāo)識(shí)讀取和存儲(chǔ)。關(guān)鎖收到廣播呼叫后隨機(jī)分配應(yīng)答時(shí)間點(diǎn)至某個(gè)時(shí)間間隙內(nèi),并返回應(yīng)答指令。設(shè)有x個(gè)關(guān)鎖在通信范圍內(nèi),則當(dāng)n>>x時(shí),返回信號(hào)的沖突概率會(huì)非常低。實(shí)際應(yīng)用中,現(xiàn)場關(guān)鎖數(shù)量一般不會(huì)超過10個(gè),通常情況為3~4個(gè),所以,n設(shè)置為100時(shí)就可保證較低的沖突概率。同時(shí),由于應(yīng)答時(shí)間非常短(大批量數(shù)據(jù)交互在連接確認(rèn)以后發(fā)生),n設(shè)置的較大也不會(huì)明顯降低響應(yīng)時(shí)間。
結(jié)語
實(shí)際測試表明,該電子關(guān)鎖系統(tǒng)可靠性高,抗干擾能力強(qiáng),可擴(kuò)展性好。本系統(tǒng)是主動(dòng)式RFID技術(shù)在物流監(jiān)控領(lǐng)域的一個(gè)新應(yīng)用,它顯著提高了海關(guān)轉(zhuǎn)關(guān)業(yè)務(wù)的運(yùn)行效率。
評(píng)論