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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 電度表信息自動采集終端的設計及防干擾措施

          電度表信息自動采集終端的設計及防干擾措施

          作者: 時間:2016-11-28 來源:網絡 收藏

            1.7 操作鍵盤模塊

            操作鍵盤模塊由鍵盤和AT89C51-2組成。通過操作鍵盤,可設置一些參數,如終端的地址、各用戶的電度表常數等,也可以對單片機發(fā)出簡單的指令,如顯示各項參數、手動需量等。

            2 軟件設計

            結合自動采集終端硬件來設計軟件,通過分析要實現的功能,整個程序可分為主程序和中斷服務程序模塊。系統(tǒng)主程序對系統(tǒng)進行初始化設置,完成上電后對上次停電后的信息處理,采集電能量并進行相應的處理,處于待機狀態(tài)接收收集站下達的指令,并做分析處理,控制數據傳輸、鏈路檢查和校對時鐘等任務的執(zhí)行,流程如圖2所示。其中,電能量的采集使用定時中斷;采樣間隔可根據用戶電度表容量設置,樣機中采樣間隔設置為100μm,程序流程見圖3。中斷服務程序模塊有定時中斷、通信中斷等實時性處理的功能模塊。通過各功能模塊之間的調用,一層一層地實現程序功能。

            




            3 自動采集終端的抗干擾措施

            為了保證采集數據的準確性和數據傳輸的可靠性,系統(tǒng)必須具有較強的抗干擾性。在系統(tǒng)設計的過程中,采取以下措施來增強系統(tǒng)的抗干擾能力:

            (1)采用施密特觸發(fā)器和積分處理等對脈沖信號進行多次濾波和整形操作,以去除窄干擾脈沖的干擾。

            (2)采用光電措施實現主板電路和電度表的隔離以及軟件的防干擾處理。

            (3)用D觸發(fā)器對脈沖進行鎖存,累加計數后清除。

            (4)存儲芯片采用具有掉電保護功能的AT24C32,防止因掉電造成數據丟失,電力線調制解調芯片采用具有掉電保護、看門狗等多種功能的ST7538,以防止程序跑飛。

            (5)在所有環(huán)節(jié)中,對傳輸的數據進行CRC校驗,以保證數據的可靠接收。

            (6)在軟件中對脈沖的邊沿抖動進行處理,以防止因“毛刺”現象引起誤差。

            (7)在CPU處于空閑時,用軟件使之進入待機狀態(tài),這時CPU不執(zhí)行任何操作,只有系統(tǒng)中斷可以喚醒它,所以相應地對干擾也不敏感。

            4 結語

            利用硬件和軟件防干擾相結合的方法,采用雙CPU共用數據存儲器技術、脈沖硬處理電路、先進的調制解調和CRC循環(huán)冗余編碼解碼技術,實現了高可靠的脈沖采集,防止了脈沖的漏記和多記,解決了脈沖計數和電力線載波通信的實時性和引腳不足等問題,實現了低成本、高可靠性、高穩(wěn)定性的電能信息自動采集終端的脈沖計數、分時計費和電力線載波通信功能,形成了功能強大,易維護性強,可擴展性好,安全性高的電能信息自動采集終端系統(tǒng)。這種技術可應用于電子信息、電力、環(huán)保、自來水、煤氣等行業(yè)的檢測儀器設備中。隨著供電、用電管理系統(tǒng)的不斷完善與發(fā)展,該系統(tǒng)無疑具有廣闊的發(fā)展空間和使用價值。


          上一頁 1 2 下一頁

          評論


          技術專區(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); })();