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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 利用RS-485實現(xiàn)多路溫度測量

          利用RS-485實現(xiàn)多路溫度測量

          作者:郭慶亮 中國電子科技集團公司第四十一研究所 時間:2010-03-09 來源:電子產品世界 收藏

            的按鍵是行列線組成的2輸入4輸出結構形式,采用定時掃描,利用MCU內部的定時器產生10ms定時中斷,CPU響應中斷時對鍵盤進行掃描,并在有鍵按下時識別出該鍵并執(zhí)行相應的鍵功能程序。

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

            采用Atmel公司的ATMEG16L-8AI作為處理器,該芯片具有16k的ISP-FLASH、512B的EEPROM、1k的SRAM,該芯片同樣可以在系統(tǒng)編程,該芯片具有8路10位A/D轉換器,當采樣的基準電壓為5V時,系統(tǒng)的采樣精度可達到5毫伏每字,即基準電壓變化5毫伏,采樣的數(shù)字量變化1個字。

            模塊主要完成8路溫度采樣、與的通訊、硬件地址編碼,功能框圖如圖3。每個從機模塊有個地址編碼跳線器,由硬件完成對該模塊的地址編碼。這樣在擴張時,將每個模塊的地址唯一確定,不會由于通訊地址的重復造成通訊的不成功。我們采用的芯片最多可以負載32個從機模塊,芯片采用Maxim公司的MAX483CPA。不同的芯片,其負載能力不同,有的RS-485芯片如MAX487可以帶120個負載,MAX1487能夠將負載數(shù)量擴大到230個。

            RS-485串行通訊

            在工程實踐當中,多點數(shù)據(jù)采集系統(tǒng)的網絡拓撲一般采用總線方式,傳送數(shù)據(jù)采用主從機結構的方法。

            RS-485采用平衡發(fā)送和差分接收方式來實現(xiàn)通信:在發(fā)送端TXD將串行口的TTL電平信號轉換成差分信號A、B兩路輸出,經傳輸后在接收端將差分信號還原成TTL電平信號。兩條傳輸線通常使用雙絞線,又是差分傳輸,因此有極強的抗共模干擾的能力,接收靈敏度也相當高。同時,最大傳輸速率和最大傳輸距離也大大提高。如果以10kb/s速率傳輸數(shù)據(jù)時傳輸距離可達12m,而用100kb/s時傳輸距離可達1.2km。如果降低波特率,傳輸距離還可進一步提高。本系統(tǒng)的波特率設置為2400b/s。

            圖1就是用RS-485構成的總線型網絡系統(tǒng),采用主從方式進行多機通信。采用8位微處理器ATMEG128L,從機采用ATMEG16L。每個從機通過地址編碼擁有自己固定的地址,由主機控制完成網上的每一次通信。圖4是MAX485和微處理器的接口電路,A、B為RS-485總線接口,D是發(fā)送端,R為接收端,分別與單片機串行口的TXD、RXD連接,由于采用半雙工通訊,所以還有收發(fā)控制端,MAX485的RE、DE為收發(fā)使能端,由微處理器的 PE4(主機)、PC5(從機)口作為收發(fā)控制。該控制口高電平時,MAX485處于發(fā)送狀態(tài),將微處理器TXD處的數(shù)據(jù)經A、B差分送出到RS-485的總線上;當該控制口為低電平時,MAX485處于接受狀態(tài),將RS-485總線上的差分信號轉換成TTL電平的信號由R端輸出到微處理器的RXD端。當總線上沒有信號傳輸時,總線處于懸浮狀態(tài),容易受干擾信號的影響。應將總線上差分信號的正端A+和+5V電源間接一個10KW電阻;正端A+和負端B-間接一個10KW電阻;負端B-和地間接一個10KW電阻,形成一個電阻網絡。當總線上沒有信號傳輸時,正端A+的電平大約為3.2V,負端B-的電平大約為1.6V,即使有干擾信號,卻很難產生串行通信的起始信號0,從而增加了總線抗干擾的能力。



          評論


          相關推薦

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