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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于P89LPC932的紅外抄表系統(tǒng)設計

          基于P89LPC932的紅外抄表系統(tǒng)設計

          作者: 時間:2010-05-20 來源:網絡 收藏

            為了利用遙控器件實現無線數據通信,通信雙方要制定好相關的通信協(xié)議,即要對數據進行編碼和解碼。由于通信方式與串行通信方式類似,因此在該模塊的電路連接上,將通信的接收和發(fā)射信號線直接連到CPU串行通信的2個引腳RXD和TXD上。采用這種方式的優(yōu)點是:用熟悉的串口通信代替相對復雜的紅外解碼操作十分簡便,表面上CPU是和串口通信,實際上是紅外通信。這樣處理也有助于單片機和PC機之間的串行數據傳輸。本中采用的通信方式是主-從結構異步串行多機通信方式,手持抄表終端是主站,多功能電度表是從站,每個多功能電度表都有惟一的地址編碼。通信鏈路的建立和解除均由主站發(fā)出的信息幀來控制。
            在抄表的通信過程中,可采用如表1所示的信息幀傳輸格式。

            為了提高傳輸的可靠性,在幀校驗的基礎上,可采用除地址域外的其他數據域取反重發(fā)的方法。當判斷出錯或受到其他紅外線的干擾時,則請求重發(fā)信息幀。由于發(fā)送和接收模塊在印制板上相互距離比較近,通信過程中必須采用半雙工通信方式,即發(fā)射與接收不同時進行,否則就會造成自發(fā)自收的情況,干擾正常的通信。
          3 手持抄表終端的
            手持抄表終端要完成的主要功能是紅外無線抄表、數據存儲和上傳數據給PC機等。由于抄表終端是手持設備,只能采用電池供電,故設備有很高的低功耗要求,待機電流應非常小,而且存儲的數據要安全可靠。
            針對這些要求(主要是低功耗要求),在手持抄表終端的軟、硬件設計上做了一些考慮。由于不僅功能強,內部有豐富的存儲單元,而且當其工作在完全掉電模式時,功耗僅為1μA,故手持抄表終端的CPU選用是較為理想的。內部有512B的附加片內RAM,512B的用戶E2PROM,還有8KB的Flash存儲器,完全不需要再擴展片外存儲器。抄表時所得的數據一般可以保存在E2PROM,若容量不夠,也可以將其保存在未用完的Flash存儲器中。P89LPC932提供了對Flash存儲器的擦寫操作。
            手持抄表終端的紅外通信模塊與多功能電度表的相同,不同之處主要是在鍵盤以及與計算機的通信方面。由于P89LPC932提供了鍵盤中斷功能(一有鍵按下,硬件就會自動產生一個鍵盤中斷),因此手持抄表終端的鍵盤接口非常簡單,只需將按鍵接到相應的鍵盤中斷引腳即可,具體連接如圖5所示。為了省電,手持抄表終端在沒有按鍵操作時,CPU處于完全掉電狀態(tài),一旦有按鍵就會通過鍵盤中斷喚醒CPU,執(zhí)行相應操作。

            手持抄表終端與計算機的通信可采用有線串口或無線串口的方式通行工作。有線串口是在手持抄表終端中增加1片MAX232實現與計算機的串口通信,但平時這部分電路不供電,只有需要通信時才供電。無線串口則是在計算機一端增加1個裝置,將手持抄表終端發(fā)射的紅外信號轉化為RS-232電平信號傳給計算機,或將計算機送來的數據通過紅外發(fā)送給手持抄表終端(這也是前面提到的紅外通信采用串口通信協(xié)議的原因之一)。
          4 結束語
            本已完成設計和制作,正在進行實際測試。該系統(tǒng)的最大特點是充分利用了P89LPC932微處理器功耗低、功能強大的優(yōu)勢,結合簡單實用的紅外通信技術和軟件抗干擾技術,因而系統(tǒng)結構簡單、可靠性高、成本低、使用和維護方便。該系統(tǒng)的設計綜合了多種技術,為抄表系統(tǒng)的設計提供了一種新的方案,可供設計時參考。

          電度表相關文章:電度表原理



          上一頁 1 2 3 下一頁

          評論


          相關推薦

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