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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > GPRS設計的自來水流量監(jiān)測終端技術

          GPRS設計的自來水流量監(jiān)測終端技術

          作者: 時間:2011-04-16 來源:網絡 收藏

          系統(tǒng)總體構成
          自來水流量遠程監(jiān)測系統(tǒng)的結構如圖1所示。系統(tǒng)由若干監(jiān)測終端、無線數據傳輸網絡和監(jiān)控中心三部分組成。其中,監(jiān)測終端安裝于各供水分區(qū)的監(jiān)測點,及時將監(jiān)測到的流量數據通過GPRS網絡傳輸到設在自來水公司的監(jiān)控中心,由中心對各分區(qū)的數據進行分析,從而實現對各分區(qū)供水的科學管理。這里所說的供水分區(qū)不是一般的給水系統(tǒng)分區(qū)(并聯分區(qū)或串聯分區(qū)),而是在供水管網上安裝流量計將整個供水系統(tǒng)劃分成若干個供水區(qū)域,每個區(qū)域作為一個監(jiān)測點,對管理區(qū)域內流進的自來水總量和實際銷售的水量進行量化管理,以此來了解和掌握各區(qū)域內的需水量、供銷差、漏失量、未收費水量等情況。

          圖1 系統(tǒng)結構圖

          其中,監(jiān)測終端應實現下列功能:

          (1)現場采集流量信息,包括瞬時流量、正向總量、反向總量、流量百分比、差值總量、流速等信息。

          (2)具有遠程通信功能。定時將采集的流量信息通過GPRS網絡,上傳至監(jiān)控中心。

          (3)監(jiān)測終端可以按監(jiān)控中心的指令完成校時。

          (4)停電復電時間記錄。監(jiān)測流量計的供電,一旦停電立即記錄下停電時間,并報告監(jiān)控中心,隨即進入睡眠模式;恢復供電時,記錄來電時間,也上傳到中心。

          (5)歷史數據記錄。具有一定的非易失性數據存儲區(qū),可在本地保存斷電/復電時間以及歷史數據。

          (6)軟件在線升級。監(jiān)測終端預留升級接口,可在不改變硬件設計的情況下根據用戶的需要對軟件進行升級,滿足不同用戶的需求。

          監(jiān)測終端的硬件設計
          監(jiān)測終端由單片機、GPRS DTU(包括SIM卡、天線等)、供電電路、實時時鐘、Flash存儲器以及數據采集設備組成,如圖2所示。其中,虛線框中是需要用硬件實現的部分。

          圖2 監(jiān)測終端的硬件組成

          1 PIC16F877A單片機
          鑒于監(jiān)測終端設置在無人看管、環(huán)境較惡劣的地方,要求抗干擾能力強、性能可靠,采用了Microchip公司的PIC單片機中的PIC16F877A。

          PIC16F877A單片機內部有8K*14的Flash程序存儲器和368B的RAM數據存儲器;采用哈佛結構,數據線和指令線分離,取數據和取指令可以同時進行,執(zhí)行效率高、速度快。

          2 GPRS DTU
          無線通信模塊采用成都眾山科技有限公司的ZSD2110 GPRS DTU。ZSD2110是一款使用GPRS進行無線數據傳輸的終端設備,支持PPP、TCP、UDP、ICMP等眾多復雜網絡協(xié)議,支持透明數據傳輸和用戶自由控制傳輸模式,同時支持點對點、點對多點、設備間、設備與中心間等各種不同的通信模式。

          3 串行通信接口
          從圖2中可看出,單片機采集數據以及跟DTU之間的通信都是通過串行接口,而PIC16F877A只有一個USART接口。這里采用分時復用的原則,通過一片4位總線開關芯片FST3125在流量計與DTU之間切換,平時與流量計接通,采集數據,上傳時間到時,斷開與流量計的連接,接通DTU,上傳數據(必要時完成校時)。

          4 DS1302實時時鐘
          實時時鐘用于提供系統(tǒng)采樣、定時上傳、記錄斷電/復電時間等操作的時間基準,是本系統(tǒng)不可缺少的一部分。本設計選用了DS1302實時時鐘芯片。

          DS1302使用32.768kHz的外部晶振,該振蕩電路不需要外接任何電阻或電容,設計簡單。需要注意的是,在晶振的選擇上,只能選用負載電容為6pF的32.768kHz晶振,否則可能會導致晶振不能起振,DS1302不計時的問題。

          5 SPI Flash存儲器
          采用串行Flash作為外部存儲器,記錄歷史數據和斷電/復電時間。與以往的并行存儲器或鐵電存儲器相比,串行存儲器具有很大優(yōu)勢。并行存儲器存儲容量大,讀寫速度快,但是抗干擾能力差;鐵電存儲器采用串行接口,抗干擾能力強,也具有很高的靈活性,可以單字節(jié)讀寫(不需要擦除,可直接改寫數據),但其存儲密度小,單位成本高,讀寫速度較慢。而本系統(tǒng)中采用的M25P16存儲器綜合了這二者的優(yōu)點,不僅存儲容量大,讀寫速度快,而且抗干擾能力強,占用MCU引腳資源少。

          6 供電電路及掉電檢測
          整個電路板上器件都工作在5V電壓下。

          除了正常供電外,為保證在突然斷電的情況下,能及時記錄斷電時間,以備向監(jiān)控中心報告,還需要備用電源以及斷電檢測電路。本系統(tǒng)主電源采用UPS供電,可保證在交流電斷電的情況下仍能工作,另外從220V交流電直接接一電源作為掉電檢測電路的輸入,經光耦隔離,連接到單片機的RB0引腳,斷電時,觸發(fā)單片機的RB0外部中斷實現斷電保護,讀取當前DS1302的時間保存到Flash存儲器,并經DTU上傳到監(jiān)控中心,然后使單片機進入低功耗工作狀態(tài)?;謴凸╇姇r,同樣要記錄復電時間并上傳。

          監(jiān)測終端的軟件設計
          在監(jiān)測終端的軟件設計中,采用模塊化設計,根據功能將程序劃分為多個模塊分別設計。這種設計方法不僅使得程序結構清晰,而且為以后新功能的擴展以及程序的移植提供了便利,在調試過程中也便于對軟件故障的定位。

          軟件在MPLAB IDE8.10環(huán)境下,采用PICC編譯器,用C語言實現。主程序流程如圖3所示。監(jiān)測終端上電后,先進行初始化,然后進入循環(huán),根據條件調用各個子程序。其中初始化包括各I/O端口的方向設置、SPI初始化、中斷標志的設置等。寫數據到Flash時,須先判斷整個Flash是否寫滿,惹是須先擦除才能寫入新數據。

          圖3 主程序流程圖

          在本系統(tǒng)中,單片機需處理多個任務,而且有的任務又是隨機的,故MCU采用查詢和中斷相結合的工作方式。其中,定時上報采用查詢方式,如圖3所示,而斷電檢測、來電喚醒則通過PIC單片機的RB0電平變化中斷來完成。但是,在中斷服務程序中,只簡單的設置掉電/復電標志,并不執(zhí)行其他復雜的操作,相應的掉電/復電服務是在主程序中檢測到掉電/復電標志后才執(zhí)行的。這是因為PIC16F877A單片機只有8層深度的硬件堆棧,在中斷里調用子程序極易出現堆棧溢出的情況。為了保證程序的可靠運行,故將讀取DS1302的時間、轉入睡眠模式等操作都放在主程序中執(zhí)行,使中斷服務程序盡量短小,提高系統(tǒng)運行的可靠性。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();