同步、非同步通訊

Mr_John_Liang發表於2013-05-16
在網路通訊過程中,通訊雙方要交換資料,需要高度的協同工作。為了正確的解釋訊號,接收方必須確切地知道訊號應當何時接收和處理,因此定時是至關重要的。在計算機網路中,定時的因素稱為位同步。同步是要接收方按照傳送方傳送的每個位的起止時刻和速率來接收資料,否則會產生誤差。通常可以採用同步或非同步的傳輸方式對位進行同步處理。

1. 非同步傳輸(Asynchronous Transmission): 非同步傳輸將位元分成小組進行傳送,小組可以是8位的1個字元或更長。傳送方可以在任何時刻傳送這些位元組,而接收方從不知道它們會在什麼時候到達。一個常見的例子是計算機鍵盤與主機的通訊。按下一個字母鍵、數字鍵或特殊字元鍵,就傳送一個8位元位的ASCII程式碼。鍵盤可以在任何時刻傳送程式碼,這取決於使用者的輸入速度,內部的硬體必須能夠在任何時刻接收一個鍵入的字元。

非同步傳輸存在一個潛在的問題,即接收方並不知道資料會在什麼時候到達。在它檢測到資料並做出響應之前,第一個位元已經過去了。這就像有人出乎意料地從後面走上來跟你說話,而你沒來得及反應過來,漏掉了最前面的幾個詞。因此,每次非同步傳輸的資訊都以一個起始位開頭,它通知接收方資料已經到達了,這就給了接收方響應、接收和快取資料位元的時間;在傳輸結束時,一個停止位表示該次傳輸資訊的終止。按照慣例,空閒(沒有傳送資料)的線路實際攜帶著一個代表二進位制1的訊號,非同步傳輸的開始位使訊號變成0,其他的位元位使訊號隨傳輸的資料資訊而變化。最後,停止位使訊號重新變回1,該訊號一直保持到下一個開始位到達。例如在鍵盤上數字“1”,按照8位元位的擴充套件ASCII編碼,將傳送“00110001”,同時需要在8位元位的前面加一個起始位,後面一個停止位。

非同步傳輸的實現比較容易,由於每個資訊都加上了“同步”資訊,因此計時的漂移不會產生大的積累,但卻產生了較多的開銷。在上面的例子,每8個位元要多傳送兩個位元,總的傳輸負載就增加25%。對於資料傳輸量很小的低速裝置來說問題不大,但對於那些資料傳輸量很大的高速裝置來說,25%的負載增值就相當嚴重了。因此,非同步傳輸常用於低速裝置。

2. 同步傳輸(Synchronous Transmission):同步傳輸的位元分組要大得多。它不是獨立地傳送每個字元,每個字元都有自己的開始位和停止位,而是把它們組合起來一起傳送。我們將這些組合稱為資料幀,或簡稱為幀。

資料幀的第一部分包含一組同步字元,它是一個獨特的位元組合,類似於前面提到的起始位,用於通知接收方一個幀已經到達,但它同時還能確保接收方的取樣速度和位元的到達速度保持一致,使收發雙方進入同步。

幀的最後一部分是一個幀結束標記。與同步字元一樣,它也是一個獨特的位元串,類似於前面提到的停止位,用於表示在下一幀開始之前沒有別的即將到達的資料了。

同步傳輸通常要比非同步傳輸快速得多。接收方不必對每個字元進行開始和停止的操作。一旦檢測到幀同步字元,它就在接下來的資料到達時接收它們。另外,同步傳輸的開銷也比較少。例如,一個典型的幀可能有500位元組(即4000位元)的資料,其中可能只包含100位元的開銷。這時,增加的位元位使傳輸的位元總數增加2.5%,這與非同步傳輸中25 %的增值要小得多。隨著資料幀中實際資料位元位的增加,開銷位元所佔的百分比將相應地減少。但是,資料位元位越長,快取資料所需要的緩衝區也越大,這就限制了一個幀的大小。另外,幀越大,它佔據傳輸媒體的連續時間也越長。在極端的情況下,這將導致其他使用者等得太久。

同步傳輸方式中傳送方和接收方的時鐘是統一的、字元與字元間的傳輸是同步無間隔的。

非同步傳輸方式並不要求傳送方和接收方的時鐘完全一樣,字元與字元間的傳輸是非同步的。

同步與非同步傳輸的區別

1,非同步傳輸是面向字元的傳輸,而同步傳輸是面向位元的傳輸。

2,非同步傳輸的單位是字元而同步傳輸的單位是楨。

3,非同步傳輸通過字元起止的開始和停止碼抓住再同步的機會,而同步傳輸則是以資料中抽取同步資訊。

4,非同步傳輸對時序的要求較低,同步傳輸往往通過特定的時鐘線路協調時序。

5,非同步傳輸相對於同步傳輸效率較低。

相關文章