<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 多總線控制的無線傳感器網(wǎng)絡(luò)

          多總線控制的無線傳感器網(wǎng)絡(luò)

          作者: 時(shí)間:2010-08-02 來源:網(wǎng)絡(luò) 收藏

          I2C上的受控器件必須分配地址,PCF8563作為受控器件,其設(shè)備地址在傳送開始后首先被傳送。按I2C規(guī)定SCL端為時(shí)鐘輸入端,數(shù)據(jù)線SDA是雙向端。PCF8563通過I2C進(jìn)行讀地址命令(A3H)和寫地址命令(A2H)實(shí)現(xiàn)對(duì)字節(jié)的讀,寫2種狀態(tài)。對(duì)于SPI總線,主控器件與射頻器件通訊時(shí),數(shù)據(jù)由MOSI輸出,MISO輸入。數(shù)據(jù)在時(shí)鐘的上升或下降沿到來時(shí)由MOSI輸出,在緊接著的下降或上升沿到來時(shí)由MISO讀入,這樣經(jīng)過8/16次時(shí)鐘的改變,完成8/16位數(shù)據(jù)的傳輸。接收主節(jié)點(diǎn)將接收正確的溫、濕度數(shù)據(jù)放入暫存器(SBUF)中,設(shè)置相應(yīng)的波特率,配置好相應(yīng)的特殊功能寄存器以查詢標(biāo)志位的方式向PC機(jī)發(fā)送數(shù)據(jù),如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/162964.htm

          4 監(jiān)控軟件
          主機(jī)用戶監(jiān)控軟件是用Delphi7.0開發(fā)完成。由于Delphi的圖形界面豐富美觀、控件集成度好、數(shù)據(jù)庫功能強(qiáng)大、開發(fā)周期短、效率高,因此比較適合于此管理軟件的開發(fā)。操作界面加載SPCOMM組件后可以通過PC機(jī)上的串口與單片機(jī)保持?jǐn)?shù)據(jù)通信。為了保證通信的可靠性,建立了一個(gè)通信協(xié)議。下位機(jī)向上位機(jī)發(fā)送一幀廣播命令($FF),上位機(jī)收到廣播命令后向下位機(jī)回復(fù)一個(gè)應(yīng)答幀(SEE),只有在下位機(jī)收到應(yīng)答幀后才開始一幀一幀的將溫度數(shù)據(jù)傳輸?shù)缴衔粰C(jī),否則將報(bào)警并再次發(fā)送廣播幀,如圖5所示。

          5 結(jié)束語
          經(jīng)過現(xiàn)場(chǎng)多次實(shí)驗(yàn)證明,多總線可以有效地組成星型,將各個(gè)節(jié)點(diǎn)的采集溫、濕度分時(shí)傳輸?shù)街鹘邮諜C(jī)上,顯示到界面供人實(shí)時(shí)監(jiān)測(cè)預(yù)警,從而避免了復(fù)雜環(huán)境下不能人為作業(yè)。
          通過主控器件多種線,充分發(fā)揮了各個(gè)總線器件的優(yōu)點(diǎn),使得系統(tǒng)免受外界干擾。需要注意的是系統(tǒng)在電源供電方面還存在問題,如何降低功耗延長系統(tǒng)壽命是未來研究的方向。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();