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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > RS485應(yīng)用中的問題解決

          RS485應(yīng)用中的問題解決

          作者: 時間:2016-12-13 來源:網(wǎng)絡(luò) 收藏

          一、信號反射問題

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

          在溝通心過程中,當(dāng)阻抗不連續(xù)或阻抗不匹配時,會產(chǎn)生信號反射,和光從一種介質(zhì)進入另一種介質(zhì)時產(chǎn)生發(fā)射是一樣的。

          信號反射對數(shù)據(jù)傳輸?shù)挠绊懀悍瓷湫盘栍|發(fā)了接收器輸入端的比較器,使接收器收到錯誤的信號,從而導(dǎo)致數(shù)據(jù)接受的錯誤。

          二、信號反射的消除

          1、使電纜的末端的阻抗和電纜的特性阻抗大小一樣,由于信號在電纜上的傳輸是雙向的,因此在通訊電纜的另一端跨接一個同樣大小的終端電阻即可。一般線纜的阻抗大小在100-120歐之間,因此終端電阻可選用120歐。在實際中,由于線纜的特性阻抗不可能與終端電阻完全相等,因此或多或少的信號反射還是會存在的;

          2、加偏置電阻,將A加上拉電阻,B端加下拉電阻,使總線空閑時接收器輸出固定為1。否則,總線空閑時的反射信號可能使接收器的輸出變?yōu)?,從而使控制器誤以為有新的數(shù)據(jù)發(fā)送。

          三、信號接地

          接地處理不當(dāng)往往會導(dǎo)致電子系統(tǒng)不能穩(wěn)定的工作甚至危及整個系統(tǒng)的安全。很多情況下,連接5通信鏈路時只是簡單的用一對雙絞線將各個接口的“A”、“B”端連接起來,而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患。

          四、共模干擾問題

          RS485接口均采用差分方式傳輸信號,并不需要相對于某個參照點來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了。但是人們往往忽視了收發(fā)器有一定的共模電壓范圍,如RS485收發(fā)器共模電壓范圍為-7-+12V,只有滿足上述條件,整個網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時就會影響通信的穩(wěn)定,甚至損壞接口。例如:當(dāng)驅(qū)動器A向B發(fā)送數(shù)據(jù)時,發(fā)送驅(qū)動器共模電壓為Va,由于兩個系統(tǒng)具有各自獨立的系統(tǒng)地,存在著地電位差Vg,那么接收器輸入端的共模電壓Vb就會達到Vb=Va+Vg,雖然5標(biāo)準(zhǔn)規(guī)定Va<=3V,但是Vg可能很大,導(dǎo)致接收器共模輸入Vb超出正常范圍,使系統(tǒng)不能正常工作。

          解決共模干擾:可使用一根低阻的信號地將兩個工作地連接起來,使共模干擾Vg被短路,可以有限的解決共模干擾。但是當(dāng)干擾源內(nèi)阻比較小時,這種方法不太有效,因為會在接地線上形成較大的環(huán)路電流。這時可采用浮地技術(shù),即使系統(tǒng)的電路地與機殼或大地隔離。



          關(guān)鍵詞: RS48

          評論


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