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