基于 RFID 的數(shù)據(jù)采集網(wǎng)絡(luò)的設(shè)計與實現(xiàn)
1 引言
射頻識別技術(shù)RFID(Radio Frequency Identification)作為一種高速發(fā)展的自動識別技術(shù)具有諸多優(yōu)點:數(shù)據(jù)讀取方便快捷、識別速度快、可同時識別多目標(biāo)、數(shù)據(jù)容量大、使用壽命長、應(yīng)用范圍廣、標(biāo)簽數(shù)據(jù)可動態(tài)修改等。因此其推廣應(yīng)用越來越廣泛。但目前實際應(yīng)用中的讀寫器大多只適合單機工作,不適合組網(wǎng),不便于集中控制,不能應(yīng)用到多點高密度數(shù)據(jù)采集場合?;赗S485標(biāo)準(zhǔn)利用超高頻RFID讀寫器構(gòu)建數(shù)據(jù)采集網(wǎng)絡(luò),遵循IS018000-6B協(xié)議的電子標(biāo)簽中的數(shù)據(jù),很好解決了多點高密度數(shù)據(jù)采集的難題。網(wǎng)絡(luò)節(jié)點數(shù)目可以根據(jù)具體應(yīng)用場合靈活設(shè)置,最多可以拓展至256個數(shù)據(jù)采集節(jié)點。節(jié)點終端設(shè)備還配置有USB接口、LCD顯示、聲光提示、時鐘模塊等,也可以脫機使用,作為通用的RFID讀寫器,讀、寫標(biāo)簽、記錄操作時間等。
2 整體方案設(shè)計
該系統(tǒng)借鑒計算機網(wǎng)絡(luò)中經(jīng)典的C/S架構(gòu),利用RS485總線連接整個網(wǎng)絡(luò)。其中計算機作為網(wǎng)絡(luò)服務(wù)器,節(jié)點終端設(shè)備作為客戶機。計算機向各節(jié)點終端設(shè)備發(fā)送命令控制整個網(wǎng)絡(luò),接收采集到的數(shù)據(jù)并做進(jìn)一步處理;節(jié)點終端設(shè)備主要負(fù)責(zé)采集標(biāo)簽數(shù)據(jù),響應(yīng)計算機的命令。系統(tǒng)選用的RS485器件MAX1483使網(wǎng)絡(luò)節(jié)點數(shù)最大可達(dá)到256個。系統(tǒng)方案框圖如圖1所示。
3 硬件電路設(shè)計
系統(tǒng)設(shè)計的重點在于節(jié)點終端設(shè)備的設(shè)計,即超高頻RFID讀寫器的設(shè)計。讀寫器的主要功能是發(fā)出詢問信號,選擇能量場內(nèi)的應(yīng)答器,建立數(shù)據(jù)通信鏈路并對應(yīng)答器進(jìn)行讀寫操作。超高頻RFID讀寫器的數(shù)據(jù)采集距離較遠(yuǎn),可達(dá)到1~30 m,通過軟件設(shè)置射頻收發(fā)模塊增益大小來控制讀寫距離,靈活地滿足實際要求。讀寫器硬件按照不同的功能可劃分為主控模塊、射頻收發(fā)模塊、電源模塊、數(shù)據(jù)存儲模塊、接口部分、時鐘模塊、LCD顯示模塊、聲光提示模塊及調(diào)試電路等,具體如圖2所示。
(1)主控模塊選用混合信號系統(tǒng)級器件C8051F340作為節(jié)點終端設(shè)備的主控器件,負(fù)責(zé)控制、協(xié)調(diào)各功能模塊,實現(xiàn)數(shù)據(jù)采集和命令響應(yīng)。利用器件的雙串口分別控制射頻收發(fā)模塊和RS485接口器件MAX1483;自帶的USB功能控制器構(gòu)成USB接口;通過I/O端口模擬I2C時序控制數(shù)據(jù)存儲器件AT24C16;通過I/O端口控制時鐘DS1302;LCD通過端口并行傳輸顯示數(shù)據(jù),外加其他I/O端口作為輔助控制:由I/O端口控制LED和蜂鳴器構(gòu)成聲光提示模塊。
(2)射頻收發(fā)模塊選用RMU900超高頻讀寫模塊。該模塊通過天線解調(diào)、解碼射頻標(biāo)簽發(fā)射的信號,把數(shù)據(jù)發(fā)送給主控器件實現(xiàn)數(shù)據(jù)的采集,或?qū)⒚詈蛿?shù)據(jù)編碼、調(diào)制后經(jīng)天線發(fā)送給標(biāo)簽,實現(xiàn)對標(biāo)簽的寫操作。數(shù)據(jù)的傳輸通過與C8051F340的串口O相連的TX0和RX0實現(xiàn)。圖3為主控模板和射頻收發(fā)模塊原理圖。
(3)電源模塊 射頻模塊的功率較大。因此對于電源的要求較高,要求輸出大功率并且整個系統(tǒng)用到5 V和3.3 V兩種不同電源。所以選擇LT1085作為電源轉(zhuǎn)換器件。該器件可將5 V電壓轉(zhuǎn)換成3.3 V,最大輸出電流可達(dá)2 A。完全滿足射頻模塊和系統(tǒng)其他部分對電源的需要。
(4)數(shù)據(jù)儲存模塊存儲節(jié)點設(shè)備采集到的數(shù)據(jù),待接收到計算機的發(fā)送數(shù)據(jù)命令后再將數(shù)據(jù)轉(zhuǎn)發(fā)到計算機。I2C接口的AT24C16容量為16 Kbit,可存儲2 K字節(jié)的數(shù)據(jù)。通過主控器件I/O端口模擬I2C時序,實現(xiàn)數(shù)據(jù)的讀和寫。
(5)接口部分RS485接口采用MAX1483器件。最多可驅(qū)動256個節(jié)點,通過RJ11接口實現(xiàn)與總線的連接:USB接口使用主控器件自帶的USB控制器,具有很高的可靠性。圖4是電源模塊、數(shù)據(jù)存儲模塊、接口部分的原理圖。
(6)其他模塊1602單色液晶顯示屏,可顯示采集到的數(shù)據(jù)和操作時間或?qū)崟r時間。顯示數(shù)據(jù)的傳輸采用并行傳輸?shù)姆绞?,加快了屏幕的刷新頻率。聲光提示模塊提示操作完成情況。主要通過主控器件的I/O端口控制LED閃爍和蜂鳴器的鳴笛。時鐘模塊顯示數(shù)據(jù)采集的時間或?qū)崟r時間。除板載電源外還設(shè)計有備用的紐扣電池,使掉電時時鐘不丟失。調(diào)試電路實現(xiàn)在線編程,向主控器件C8051F340燒寫程序,監(jiān)測變量值的變化情況,調(diào)試程序,輔助完成軟件的編寫。圖5、圖6為上述模塊的原理電路圖。
4 軟件設(shè)計
系統(tǒng)的軟件設(shè)計包括上位機軟件和下位機軟件兩部分。上位機軟件部分主要針對計算機平臺,采用C++語言編寫.控制節(jié)點終端設(shè)備和接收節(jié)點終端設(shè)備發(fā)送的數(shù)據(jù),然后做進(jìn)一步處理??紤]到網(wǎng)絡(luò)的規(guī)模最大為256節(jié)點,上位機采用輪詢方式控制各個節(jié)點終端設(shè)備,維持整個網(wǎng)絡(luò)正常運行。控制節(jié)點終端設(shè)備的命令主要有:(1)發(fā)送數(shù)據(jù)命令:下位機接收到該命令的響應(yīng)是發(fā)送采集到的數(shù)據(jù),即緩存在數(shù)據(jù)存儲模塊中的數(shù)據(jù);(2)寫標(biāo)簽命令:下位機接收到該命令的響應(yīng)是向感應(yīng)區(qū)內(nèi)的標(biāo)簽寫入新的數(shù)據(jù);(3)時間設(shè)置命令:下位機的響應(yīng)是根據(jù)參數(shù)更新DS1302的數(shù)據(jù);(4)設(shè)置功率命令:設(shè)置射頻收發(fā)模塊的發(fā)射功率以調(diào)節(jié)讀寫標(biāo)簽的距離;(5)寫分機號命令:該命令為單機命令,可為每個節(jié)點終端設(shè)備寫入一個唯一的分機號,以便區(qū)別不同的終端設(shè)備。下位機軟件設(shè)計主要針對單片機平臺,采用C語言編寫,主要是各功能模塊的驅(qū)動程序,如射頻模塊的控制、數(shù)據(jù)存儲模塊的數(shù)據(jù)讀寫、時鐘模塊的輸出、LCD顯示模塊的數(shù)據(jù)顯示程序、USB接口的驅(qū)動程序等。圖7為下位機軟件流程圖。
5 通信協(xié)議設(shè)計
通信協(xié)議是網(wǎng)絡(luò)正常工作必不可少的,主要是對計算機和節(jié)點終端設(shè)備間通信幀格式的具體規(guī)范與統(tǒng)一,例如幀長度確定、命令字意義、參數(shù)長度、幀起始標(biāo)志、結(jié)束標(biāo)志等。具體幀格式規(guī)定如表1所示。每幀數(shù)據(jù)有23字節(jié),其中起始位1字節(jié),固定為Oxaa;分機號1字節(jié),可設(shè)置范圍為0~255;命令1字節(jié),包括5個命令:OxOf、Ox2f、Ox4f、Ox8f、Oxaf,依次為發(fā)送數(shù)據(jù)命令、寫數(shù)據(jù)命令、時間設(shè)置命令、功率設(shè)置命令、寫分機號;數(shù)據(jù)17字節(jié),包括標(biāo)簽數(shù)據(jù)12字節(jié)和時間數(shù)據(jù)5字節(jié);CRE校驗采用CRC-16,共2字節(jié),是起始位到數(shù)據(jù)位之間所有數(shù)據(jù)的CRC校驗值;停止位1字節(jié),固定為Ox55。
系統(tǒng)通過RS485總線實現(xiàn)上位機與下位機之間的通信。計算機根據(jù)分機號選擇不同節(jié)點終端設(shè)備,選擇命令代碼實現(xiàn)各命令,數(shù)據(jù)部分為操作響應(yīng)代碼(“0”標(biāo)識操作失敗,“1”標(biāo)識操作成功)、相關(guān)參數(shù)(如時間設(shè)置命令中的時間參數(shù))或返回具體數(shù)據(jù)(如標(biāo)簽數(shù)據(jù)和時間數(shù)據(jù))。
6 結(jié)束語
RFID技術(shù)以其優(yōu)勢必將在信息化建設(shè)過程中得到推廣與應(yīng)用。系統(tǒng)利用RFID技術(shù)構(gòu)建一種低成本、高可靠性、維護(hù)方便的數(shù)據(jù)采集網(wǎng)絡(luò)。目前該網(wǎng)絡(luò)已應(yīng)用于某公司自動生產(chǎn)線中。運行狀況良好,具有廣泛的應(yīng)用前景。