基于RFID的數(shù)據(jù)采集網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)
(4)數(shù)據(jù)儲(chǔ)存模塊存儲(chǔ)節(jié)點(diǎn)設(shè)備采集到的數(shù)據(jù),待接收到計(jì)算機(jī)的發(fā)送數(shù)據(jù)命令后再將數(shù)據(jù)轉(zhuǎn)發(fā)到計(jì)算機(jī)。I2C接口的AT24C16容量為16 Kbit,可存儲(chǔ)2 K字節(jié)的數(shù)據(jù)。通過(guò)主控器件I/O端口模擬I2C時(shí)序,實(shí)現(xiàn)數(shù)據(jù)的讀和寫。
(5)接口部分RS485接口采用MAX1483器件。最多可驅(qū)動(dòng)256個(gè)節(jié)點(diǎn),通過(guò)RJ11接口實(shí)現(xiàn)與總線的連接:USB接口使用主控器件自帶的USB控制器,具有很高的可靠性。圖4是電源模塊、數(shù)據(jù)存儲(chǔ)模塊、接口部分的原理圖。
(6)其他模塊1602單色液晶顯示屏,可顯示采集到的數(shù)據(jù)和操作時(shí)間或?qū)崟r(shí)時(shí)間。顯示數(shù)據(jù)的傳輸采用并行傳輸?shù)姆绞?,加快了屏幕的刷新頻率。聲光提示模塊提示操作完成情況。主要通過(guò)主控器件的I/O端口控制LED閃爍和蜂鳴器的鳴笛。時(shí)鐘模塊顯示數(shù)據(jù)采集的時(shí)間或?qū)崟r(shí)時(shí)間。除板載電源外還設(shè)計(jì)有備用的紐扣電池,使掉電時(shí)時(shí)鐘不丟失。調(diào)試電路實(shí)現(xiàn)在線編程,向主控器件C8051F340燒寫程序,監(jiān)測(cè)變量值的變化情況,調(diào)試程序,輔助完成軟件的編寫。圖5、圖6為上述模塊的原理電路圖。本文引用地址:http://m.butianyuan.cn/article/157732.htm
4 軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括上位機(jī)軟件和下位機(jī)軟件兩部分。上位機(jī)軟件部分主要針對(duì)計(jì)算機(jī)平臺(tái),采用C++語(yǔ)言編寫.控制節(jié)點(diǎn)終端設(shè)備和接收節(jié)點(diǎn)終端設(shè)備發(fā)送的數(shù)據(jù),然后做進(jìn)一步處理??紤]到網(wǎng)絡(luò)的規(guī)模最大為256節(jié)點(diǎn),上位機(jī)采用輪詢方式控制各個(gè)節(jié)點(diǎn)終端設(shè)備,維持整個(gè)網(wǎng)絡(luò)正常運(yùn)行。控制節(jié)點(diǎn)終端設(shè)備的命令主要有:(1)發(fā)送數(shù)據(jù)命令:下位機(jī)接收到該命令的響應(yīng)是發(fā)送采集到的數(shù)據(jù),即緩存在數(shù)據(jù)存儲(chǔ)模塊中的數(shù)據(jù);(2)寫標(biāo)簽命令:下位機(jī)接收到該命令的響應(yīng)是向感應(yīng)區(qū)內(nèi)的標(biāo)簽寫入新的數(shù)據(jù);(3)時(shí)間設(shè)置命令:下位機(jī)的響應(yīng)是根據(jù)參數(shù)更新DS1302的數(shù)據(jù);(4)設(shè)置功率命令:設(shè)置射頻收發(fā)模塊的發(fā)射功率以調(diào)節(jié)讀寫標(biāo)簽的距離;(5)寫分機(jī)號(hào)命令:該命令為單機(jī)命令,可為每個(gè)節(jié)點(diǎn)終端設(shè)備寫入一個(gè)唯一的分機(jī)號(hào),以便區(qū)別不同的終端設(shè)備。下位機(jī)軟件設(shè)計(jì)主要針對(duì)單片機(jī)平臺(tái),采用C語(yǔ)言編寫,主要是各功能模塊的驅(qū)動(dòng)程序,如射頻模塊的控制、數(shù)據(jù)存儲(chǔ)模塊的數(shù)據(jù)讀寫、時(shí)鐘模塊的輸出、LCD顯示模塊的數(shù)據(jù)顯示程序、USB接口的驅(qū)動(dòng)程序等。圖7為下位機(jī)軟件流程圖。
5 通信協(xié)議設(shè)計(jì)
通信協(xié)議是網(wǎng)絡(luò)正常工作必不可少的,主要是對(duì)計(jì)算機(jī)和節(jié)點(diǎn)終端設(shè)備間通信幀格式的具體規(guī)范與統(tǒng)一,例如幀長(zhǎng)度確定、命令字意義、參數(shù)長(zhǎng)度、幀起始標(biāo)志、結(jié)束標(biāo)志等。具體幀格式規(guī)定如表1所示。每幀數(shù)據(jù)有23字節(jié),其中起始位1字節(jié),固定為Oxaa;分機(jī)號(hào)1字節(jié),可設(shè)置范圍為0~255;命令1字節(jié),包括5個(gè)命令:OxOf、Ox2f、Ox4f、Ox8f、Oxaf,依次為發(fā)送數(shù)據(jù)命令、寫數(shù)據(jù)命令、時(shí)間設(shè)置命令、功率設(shè)置命令、寫分機(jī)號(hào);數(shù)據(jù)17字節(jié),包括標(biāo)簽數(shù)據(jù)12字節(jié)和時(shí)間數(shù)據(jù)5字節(jié);CRE校驗(yàn)采用CRC-16,共2字節(jié),是起始位到數(shù)據(jù)位之間所有數(shù)據(jù)的CRC校驗(yàn)值;停止位1字節(jié),固定為Ox55。
系統(tǒng)通過(guò)RS485總線實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的通信。計(jì)算機(jī)根據(jù)分機(jī)號(hào)選擇不同節(jié)點(diǎn)終端設(shè)備,選擇命令代碼實(shí)現(xiàn)各命令,數(shù)據(jù)部分為操作響應(yīng)代碼(“0”標(biāo)識(shí)操作失敗,“1”標(biāo)識(shí)操作成功)、相關(guān)參數(shù)(如時(shí)間設(shè)置命令中的時(shí)間參數(shù))或返回具體數(shù)據(jù)(如標(biāo)簽數(shù)據(jù)和時(shí)間數(shù)據(jù))。
6 結(jié)束語(yǔ)
RFID技術(shù)以其優(yōu)勢(shì)必將在信息化建設(shè)過(guò)程中得到推廣與應(yīng)用。系統(tǒng)利用RFID技術(shù)構(gòu)建一種低成本、高可靠性、維護(hù)方便的數(shù)據(jù)采集網(wǎng)絡(luò)。目前該網(wǎng)絡(luò)已應(yīng)用于某公司自動(dòng)生產(chǎn)線中。運(yùn)行狀況良好,具有廣泛的應(yīng)用前景。
評(píng)論