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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > RS232和485通信的波形分析

          RS232和485通信的波形分析

          作者: 時間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
          經(jīng)常遇到初學(xué)者,對單片機(jī)串行通訊出了問題不知道如何辦的情況。其實最有效的調(diào)試方法是用示波器觀察收發(fā)數(shù)據(jù)的波形。通過觀察波形可以確定以下情況:
          是否有數(shù)據(jù)接收或發(fā)送;
          數(shù)據(jù)是否正確;
          波特率是否正確;

          一、串行數(shù)據(jù)的格式
          異步串行數(shù)據(jù)的一般格式是:起始位+數(shù)據(jù)位+停止位,其中起始位1 位,數(shù)據(jù)位可以是5、6、7、8位,停止位可以是1、1.5、2位。

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

          起始位是一個值為0的位,所以對于正邏輯的TTL電平,起始位是一位時間的低電平;停止位是值為1的位,所以對于正邏輯的TTL電平,停止位是高電平。線路路空閑或者數(shù)據(jù)傳輸結(jié)束,對于正邏輯的TTL電平,線路總是1。對于負(fù)邏輯(如RS-232電平)則相反。

          例如,對于16進(jìn)制數(shù)據(jù)55aaH,當(dāng)采用8位數(shù)據(jù)位、1位停止位傳輸時,它在信號線上的波形如圖1(TTL電平)和圖2(RS-232電平)所示。 (先傳第一個字節(jié)55,再傳第二個字節(jié)aa,每個字節(jié)都是從低位向高位逐位傳輸)


          圖1 TTL電平的串行數(shù)據(jù)幀格式(55aah)


          圖2 RS-232電平的串行數(shù)據(jù)幀格式(55aah)

          二、根據(jù)波形圖計算波特率
          如圖3是圖1在示波器中的顯示示意,其中灰色線是示波器的時間分度線,此時假設(shè)是200us/格。

          圖3 波特率計算示意圖

          可以看了,第一個字節(jié)的10位(1位起始位,8位數(shù)據(jù)位和1位停止位)共占約1.05ms,這樣可計算出其波特率約為:

          10bit / 1.05ms X 1000 ≈ 9600 bit/s

          如果上圖中的時間軸是100us/格,同樣可以計算出波特率應(yīng)是19200bit/s。

          當(dāng)通訊不正常,又能觀察到波形時,就可根據(jù)上述方法,從波形圖計算一下波特率是否正確。

          三、根據(jù)波形圖判斷RS-485收發(fā)數(shù)據(jù)的正確與否
          RS-485是一種半雙工的串行通訊方式(RS-422為全雙工),485電平芯片所以要正確接收和發(fā)送數(shù)據(jù),必需保證控制信號和數(shù)據(jù)的同步,否則要么發(fā)送數(shù)據(jù)丟失,要么接收數(shù)據(jù)可能丟失。

          RS-485發(fā)送數(shù)據(jù)時的正確時序如圖4所示。


          圖4 RS-485的正確發(fā)送數(shù)據(jù)時序

          在圖4中,發(fā)送控制信號的寬度基本與數(shù)據(jù)信號的寬度一致,所以能保證發(fā)送數(shù)據(jù)的正確和發(fā)送后及時轉(zhuǎn)為接收。

          圖5 和圖6 分別是控制信號太短和控制信號太長的情況。


          圖5 RS-485控制信號太短時的時序

          圖6 RS-485控制信號太短時的時序

          在圖5中,由于控制信號關(guān)閉過早,則第二個字節(jié)的后兩位將發(fā)送錯誤;在圖6中,由于控制信號關(guān)閉過遲,使485芯片在發(fā)送數(shù)據(jù)后,不能及時轉(zhuǎn)到接收狀態(tài),此時總線若有數(shù)據(jù)過來,則本單元將不能正確接收。

          總結(jié):只要掌握上述波形分析方法,任何異步串行數(shù)據(jù)的接收和發(fā)送問題,基本都可以得到解決。



          關(guān)鍵詞: RS232485通信波形分

          評論


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