電子設(shè)備診斷系統(tǒng)中RFID系統(tǒng)與ZigBee網(wǎng)絡混合組網(wǎng)的設(shè)計與實現(xiàn)
摘要:針對傳統(tǒng)的條形碼識別管理系統(tǒng)數(shù)據(jù)實時性差,自動化程度低,以及單一的RFID管理系統(tǒng)因為與服務器的有線通信而受到的諸多限制缺點,提出了一種將搜集電子設(shè)備健康信息的RFID射頻識別系統(tǒng)整合到ZigBee無線網(wǎng)絡中的無線數(shù)據(jù)傳輸方案。該方案將RFID閱讀器和ZigB ee終端集成為ZigBee-RFID節(jié)點,可實現(xiàn)兩個網(wǎng)絡的混合組網(wǎng)。實際測試結(jié)果表明,本設(shè)計可以使RFID系統(tǒng)和ZigBee網(wǎng)絡良好的結(jié)合,從而解決傳統(tǒng)RFID閱讀器布局受限的問題,具有一定的實用性和推廣價值。
關(guān)鍵詞:ZigBee;CC2430;有限狀態(tài)機;混合組網(wǎng)
0 引言
目前,有些采用RFID射頻識別裝置的檢測系統(tǒng)雖然能夠獲得設(shè)備的健康信息,但是,無論是同定式的RFID閱讀器還是移動式閱讀器,將數(shù)據(jù)及時傳同服務器的方式無非是采用有線的方式或者用存儲卡來轉(zhuǎn)移數(shù)據(jù)。有線通信方式的檢測范圍有限,而移動式閱讀器又無法滿足實時性的需求。針對這一問題,本文提出了一種將RFID閱讀器與ZigBee無線網(wǎng)絡終端整合的方案,該方案使得RFID閱讀器也成為ZigBee無線網(wǎng)絡的一個節(jié)點,這樣,檢測的范圍可以極大的拓展,實時性的需求也可以得到滿足。本文的主要工作是考慮ZigBee終端如何與RFID閱讀器通信以及自身狀態(tài)轉(zhuǎn)換的問題,具體闡述了ZigBee終端與RFID閱讀器混合組網(wǎng)的軟硬件設(shè)計方法。
1 系統(tǒng)總體結(jié)構(gòu)
電子設(shè)備遠程診斷系統(tǒng)的總體結(jié)構(gòu)如圖1所示,本設(shè)計的主要丁作是設(shè)計并實現(xiàn)RFID閱讀器與ZigBee無線網(wǎng)絡的混合組網(wǎng),用于對電子沒備健康狀態(tài)參數(shù)的采集和存儲。RFID標簽將從被測電子設(shè)備上采集健康狀態(tài)參數(shù),然后通過ZigBee-RFID節(jié)點內(nèi)部的RFID閱讀器模塊讀取這些數(shù)據(jù)并傳給ZigBee終端模塊,最后經(jīng)過無線網(wǎng)絡傳輸給ZigBee協(xié)調(diào)器,協(xié)調(diào)器與上位機服務器采用USB口連接,健康狀態(tài)參數(shù)傳回給服務器后,利用電子設(shè)備故障診斷和預測軟件對數(shù)據(jù)進行分析后即可得到該被測裝備的健康信息。服務器上的故障診斷和預測軟件還可提供遠程登錄功能,通過互聯(lián)網(wǎng)即可監(jiān)控到被測裝備的健康狀態(tài)。ZigBee RFID節(jié)點的設(shè)計里有LCD顯示模塊,一些明顯的和易被檢測的故障在ZigBee-
RFID節(jié)點上也可以顯示出來,從而構(gòu)成了一套覆蓋范圍廣,功能強,實時性好的電子設(shè)備診斷系統(tǒng)。
2 硬件設(shè)計
整個ZigBee-RFID節(jié)點的硬件設(shè)計框圖如圖2所示,分為RFID閱讀器模塊和ZigBee終端模塊,其中RFID閱讀器模塊采用的是利用nRF9E5芯片設(shè)計的無線射頻收發(fā)模塊,其接口主要包括電源、4個A/D口和12個I/O口,以方便靈活地應對各種擴展應用。由于nRF9E5中沒有片內(nèi)Fla sh等存儲器,所以,程序代碼必須從片外存儲器裝載,利用SPI接口從片外E2PROM加載程序時,其默認使用的存儲器為25AA320。本設(shè)計中主要運用的就是這四個SPI接口以及兩個I/O口來進行UART串行通信。ZigBee終端模塊采用德州儀器的CC2430芯片。該芯片集成了ZigBee射頻前端、內(nèi)存和1個8位處理器(8051內(nèi)核)。系統(tǒng)中的CC2430在接收和發(fā)射時的工作電流均低于27 mA,休眠時最低僅0.6μA,加上其休眠模式與工作模式的超短切換時間等特點,都使得其非常適合對電池壽命要求很高的應用。
CC2430因為已將很多功能都集中在芯片內(nèi)了,所以,其外圍電路設(shè)計得到了簡化。CC2430采用兩種工作電壓,內(nèi)部使用1.8 V的工作電壓,外部數(shù)字I/O口使用3.3 V電壓,片內(nèi)集成一個自流穩(wěn)壓器,能夠把3.3 V的外接電壓轉(zhuǎn)換成1.8 V的電壓,這樣,外圍電路就只需要考慮3.3 V的電源供應,而不用再專門設(shè)計一個電壓轉(zhuǎn)換電路。天線部分為了減少組件的個數(shù),德州儀器公司提供了一個適用于CC2430的微帶線巴倫,其原理圖如圖3所示。
本設(shè)汁在TX模式下,把兩個差分RF引腳的輸出結(jié)合為一個單端50 Ω的RF信號,并在RX模式下把單端50 Ω天線信號分成差分RF信號。提供給輸出階段的阻抗匹配以及DC也在巴倫中實現(xiàn)。這個巴倫設(shè)計包括兩個用于阻抗匹配的組件(L1和L3)、一個RF塊(L2)以及一個DC塊(C2)。除了上述四個分立組件外,還有一個1/2波長的長傳輸線,可用于保證正確的RF信號相位以及一個70 Ω、23度的傳輸線的阻抗匹配。為了實現(xiàn)合適的性能,適當長度的傳輸線以及L2的連接點都很重要。L3和1/2波長傳輸線之間的布線的適當尺寸也很重要。選擇這個布線的尺寸可以確保合適的阻抗匹配。巴倫布線的阻抗受第一層布線與下面接地平面之間距離的影響。因此參考設(shè)計建議使用1 mm厚的兩層FR4基板。
因為RFID閱讀器模塊和ZigBee終端模塊之間需要進行通信,同時,在調(diào)試時,也需要與計算機進行串行通信,所以安排了兩組跳線,以方便RFID閱讀器模塊和ZigBee模塊的自由選擇和相互通信,同時也可各自連接電腦以方便調(diào)試。當需要調(diào)試或與電腦連接時,跳線可提供連接SP3232芯片的選擇。SP3232芯片的主要作用是將TTL電平轉(zhuǎn)化為RS232電平。SP3232芯片所需供電電壓低,適合便攜式設(shè)備應用。各模塊間的具體連接圖如圖4所示。
為了使ZigBee網(wǎng)絡節(jié)點工作的情況更透明,本沒汁為節(jié)點加上了一塊LCD屏幕以顯示其工作狀態(tài)、各項參數(shù)和部分數(shù)據(jù)。所使用的MzLH03 -12864為一塊128×64點陣的LCD顯示模組。該模組使用串行SPI接口,除電源線之外通信連接需要一根片選線(CS)、一根時鐘線(SCK)、一根數(shù)據(jù)線(SDA)以及一根BUSY線即可,其引腳連接圖如圖5所示。
工作時,CC2430通過串行SPI對模組進行控制,CS為從機選擇線;CS從高電平變?yōu)榈碗娖胶?,模組開始接收串行通訊的第一個數(shù)據(jù),即控制指令,模組對SDA的采樣在每個時鐘線的SCK上升沿進行,當CS為高電平時,傳輸無效。
3 軟件設(shè)計
ZigBee-RFID節(jié)點的軟件設(shè)計主要包括ZigBee網(wǎng)絡的建立、組網(wǎng)、數(shù)據(jù)傳輸以及ZigBee終端模塊與RFID閱讀器模塊的通信等部分。這些應用均運行在ZigBee協(xié)議棧的應用層,ZigBee協(xié)議棧基本是按照OSI網(wǎng)絡模型來定義的,由IEEE802.15.4定義物理層和MAC子層,然后ZigBee聯(lián)盟繼續(xù)定義網(wǎng)絡層和應用層。本設(shè)計的應用程序底層運行的是MSSTATE_LRWPAN協(xié)議棧。應用程序首先對CC2430進行初始化,然后對協(xié)議棧初始化,再初始化串口和LCD顯示模塊(ZigBee-RFID節(jié)點),接著判斷是否為協(xié)調(diào)器,如果是協(xié)調(diào)器,則建立網(wǎng)絡,然后處理各種網(wǎng)絡信息;如果是ZigBee-RFID節(jié)點,則進入應用程序有限狀態(tài)機FSM。其應用程序流程圖如圖6所示。
ZigBee-RFID節(jié)點的應用程序采用有限狀態(tài)機風格,其狀態(tài)轉(zhuǎn)換關(guān)系如圖7所示。其中狀態(tài)關(guān)系主要分為:節(jié)點加入網(wǎng)絡;節(jié)點加入成功信息通報;節(jié)點關(guān)鍵應用以及節(jié)點網(wǎng)絡維護。在節(jié)點關(guān)鍵應用狀態(tài)里,UART口和ZigBee無線網(wǎng)絡都處于等待接收的狀態(tài),兩個狀態(tài)都有一定的等待時限,一旦超時,則相互轉(zhuǎn)換,直到其中一個狀態(tài)接收到數(shù)據(jù)。其中UART接收設(shè)置為中斷接收。如果UART口接收到來自RFID閱讀器的數(shù)據(jù),ZigBee-RFID節(jié)點立即將數(shù)據(jù)存儲并處理后顯示在LCD上,然后打包發(fā)送回協(xié)調(diào)器,再通過協(xié)調(diào)器傳回給服務器,發(fā)送成功后轉(zhuǎn)入ZigB ee網(wǎng)絡消息等待的狀態(tài)。如果有來自服務器或者ZigBee網(wǎng)絡的消息,則接收并根據(jù)接收的消息進行相應的處理,如果是ZigBee網(wǎng)絡的控制信息,則進入響應控制信息狀態(tài);如果是上位機對RFID閱讀器的操作信息,則轉(zhuǎn)入UART發(fā)送狀態(tài),并將操作信息轉(zhuǎn)發(fā)給閱讀器。處理完畢后,再回到UART口接收等待的狀態(tài),繼續(xù)與ZigBee無線網(wǎng)絡等待狀態(tài)一起,切換著等待新的信息。
LCD顯示模塊的工作需要使用SPI串行通信方式。模塊有一個復位引腳,對該引腳輸入一個低電平的脈沖可使模塊復位,復位需要低電平輸入持續(xù)至少10 ms,在恢復輸入高電平后等待15 ms后方可對模塊進行顯示控制操作(即通過串行接口輸入指令和數(shù)據(jù))。在通過串行SPI對模塊進行控制時,CS為從機選擇線;CS從高電平變?yōu)榈碗娖胶螅=M開始接收串行通訊的第一個數(shù)據(jù)(即控制指令),模組對SDA的采樣在每個時鐘線SCK的上升沿進行,當CS為高電平時,傳輸無效。
此外,用戶在傳輸給模塊指令時,如果指令是附帶有指令數(shù)據(jù)的,則需要在200 ms以內(nèi)將數(shù)據(jù)傳輸模塊,否則將會產(chǎn)生超時錯誤。BUSY線會在緩沖區(qū)快滿的時候輸出高電平,直到緩沖區(qū)的數(shù)據(jù)和指令處理完以后才會拉低。SPI串行通信時序圖如圖8所示。
4 性能測試
本系統(tǒng)的測試主要分為兩個方面,即RFID閱讀器與ZigBee節(jié)點通信的測試和ZigBee節(jié)點參數(shù)的測試。測試時,首先設(shè)置RFID閱讀器對三個標簽分別讀寫1 000次,然后通過上位機觀察ZigBee節(jié)點傳回的消息,便可以得知閱讀器是否將讀取的標簽信息傳給了ZigBee節(jié)點。測試結(jié)果是全部讀取,由此可知,RFID閱讀器和ZigBee節(jié)點的通信是可靠的。
ZigBee節(jié)點的參數(shù)主要包括通信距離,丟包率和RSSI等。其中RSSI值為信號強度檢測值,不過這里所給出的RSSI值并不是CC2430數(shù)據(jù)手冊所定義的值,而足通過調(diào)用aplGetRxRSSI()函數(shù)獲得的。其測試數(shù)據(jù)如表1所列。
通過測試可知,節(jié)點內(nèi)通信正常,工作性能穩(wěn)定,能夠滿足電子設(shè)備遠程診斷系統(tǒng)中診斷數(shù)據(jù)無線傳輸?shù)囊?。ZigBee節(jié)點的通信距離也超過設(shè)計要求。
5 結(jié)語
本文介紹了電子設(shè)備遠程診斷系統(tǒng)的框架,并著重介紹了該系統(tǒng)中無線傳輸?shù)牟糠?,指出了本設(shè)計的技術(shù)性能優(yōu)勢。實驗表明,在電子設(shè)備遠程診斷系統(tǒng)中,采用RFID系統(tǒng)與ZigBee網(wǎng)絡相結(jié)合的方式具有通信距離遠,組網(wǎng)靈活和不受有線連接的局限等諸多優(yōu)勢。