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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 單工、半雙工和全雙工簡介

          單工、半雙工和全雙工簡介

          作者: 時間:2011-06-19 來源:網(wǎng)絡 收藏

          串行通訊簡單認識

          串行通訊的基本概念:與外界的信息交換稱為通訊。基本的通訊方式有并行通訊和串行通訊兩種。

          一條信息的各位數(shù)據(jù)被同時傳送的通訊方式稱為并行通訊。并行通訊的特點是:各數(shù)據(jù)位同時傳送,傳送速度快、效率高,但有多少數(shù)據(jù)位就需多少根數(shù)據(jù)線,因此傳送成本高,且只適用于近距離(相距數(shù)米)的通訊。

          一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點是:數(shù)據(jù)位傳送,傳按位順序進行,最少只需一根傳輸線即可完成,成本低但送速度慢。串行通訊的距離可以從幾米到幾千米。

          根據(jù)信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。信息只能單向傳送為單工;信息能雙向傳送但不能同時雙向傳送稱為半雙工;信息能夠同時雙向傳送則稱為全雙工。

          串行通訊又分為異步通訊和同步通訊兩種方式。在單片機中,主要使用異步通訊方式。

          MCS_51單片機有一個全雙工串行口。全雙工的串行通訊只需要一根輸出線和一根輸入線。數(shù)據(jù)的輸出又稱發(fā)送數(shù)據(jù)(TXD),數(shù)據(jù)的輸入又稱接收數(shù)據(jù)(RXD)。串行通訊中主要有兩個技術問題,一個是數(shù)據(jù)傳送、另一個是數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)傳送主要解決傳送中的標準、格式及工作方式等問題。數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的串并行轉(zhuǎn)換。具體說,在發(fā)送端,要把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù);而在接收端,卻要把接收到的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。

          單工、半雙工和全雙工的定義

          如果在通信過程的任意時刻,信息只能由一方A傳到另一方B,則稱為單工。

          如果在任意時刻,信息既可由A傳到B,又能由B傳A,但只能由一個方向上的傳輸存在,稱為半雙工傳輸。

          如果在任意時刻,線路上存在A到B和B到A的雙向信號傳輸,則稱為全雙工。

          電話線就是二線全雙工信道。 由于采用了回波抵消技術,雙向的傳輸信號不致混淆不清。雙工信道有時也將收、發(fā)信道分開,采用分離的線路或頻帶傳輸相反方向的信號,如回線傳輸。

          -------->

          -------->

          -------->

          A---------B

          A----------B

          A---------B

           

          --------

          單工

          半雙工

          全雙工



          評論


          相關推薦

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