數(shù)據(jù)通信中常用的兩種通信方式是:
同步通信
所謂同步,就是要求通信的收發(fā)雙方在時間基準上保持一致
異步通信
● 異步傳輸:(起止式異步通信方式)---用于低速設備
是以字符為傳輸單位,每個字符都要附加 1 位起始位和 1 位停止位,以標記一個字符的開始和結束,并以此同步傳輸。
實現(xiàn)數(shù)據(jù)異步傳輸又稱為起止式異步通信方式,其優(yōu)點是簡單、可靠,適用于面向字符的、低速的異步通信場合。
特點:
字符(字節(jié))為單位傳輸!
● 同步傳輸:(區(qū)塊傳輸)----- 用于高速設備
是以數(shù)據(jù)塊為傳輸單位。
每個數(shù)據(jù)塊的頭部和尾部都要附加一個特殊的字符或比特序列,標記一個數(shù)據(jù)塊的開始和結束,一般還要附加一個校驗序列(如16位或32位CRC校驗碼),
以便對數(shù)據(jù)塊進行差錯控制。
所謂同步傳輸是指數(shù)據(jù)塊與數(shù)據(jù)塊之間的時間間隔是固定的,必須嚴格地規(guī)定它們的時間關系。
特點:
數(shù)據(jù)塊為單位傳輸,數(shù)據(jù)塊的"頭部"和"尾部"都要附加一個特殊的字符或比特序列,標記數(shù)據(jù)塊的開始和結束!
同步傳輸是以同步的時鐘節(jié)拍來發(fā)送數(shù)據(jù)信號的,因此在一個串行的數(shù)據(jù)流中,各信號碼元之間的相對位置都是固定的(即同步的)。
在同步傳輸?shù)哪J较,?shù)據(jù)的傳送是以一個數(shù)據(jù)區(qū)塊為單位,因此同步傳輸又稱為區(qū)塊傳輸。
在傳送數(shù)據(jù)時,需先送出2個同步字符,然后再送出整批的數(shù)據(jù)。如圖:
1byte 1byte 1byte 1byte
▏Sync ▏Sync ▏Data block ▏BCC ▏EOB ▏
Sync:同步字符
Data block:數(shù)據(jù)區(qū)塊
BCC:區(qū)塊檢查字符
EOB:區(qū)塊結束字符
同步傳輸(Synchronous Transmission):同步傳輸?shù)谋忍胤纸M要大得多。它不是獨立地發(fā)送每個字符,每個字符都有自己的開始位和停止位,
而是把它們組合起來一起發(fā)送。我們將這些組合稱為數(shù)據(jù)幀,或簡稱為幀。
數(shù)據(jù)幀的第一部分包含一組同步字符(如:i2c的起始位),它是一個獨特的比特組合,類似于前面提到的起始位,用于通知接收方
一個幀已經到達,但它同時還能確保接收方的采樣速度和比特的到達速度保持一致,使收發(fā)雙方進入同步。
幀的后一部分是一個幀結束標記(如I2C的結束位)。與同步字符一樣,它也是一個獨特的比特串,類似于前面提到的停止位,用
于表示在下一幀開始之前沒有別的即將到達的數(shù)據(jù)了。
下圖為一張I2C同步通信協(xié)議的時序圖
I2C 設備的接線引腳中 會有SCL(圖中綠色標記的部分)這樣的引腳 ---表示 同步時鐘
UART(通用的異步收發(fā)器) 通常是下面這些接線,可以看到是沒有時鐘線的!
TXD --- 傳輸引腳
RXD --- 接收引腳
GND --- 地線
異步傳輸與同步傳輸?shù)膮^(qū)別:
● 異步傳輸是面向字符傳輸?shù)模絺鬏斒敲嫦蛭粋鬏數(shù)摹?/p>
● 異步傳輸?shù)膯挝皇亲址,而同步傳輸(shù)膯挝皇谴蟮臄?shù)據(jù)塊。
● 異步傳輸通過傳輸字符的“起止位”和“停止位”而進行收發(fā)雙方的字符同步,但不需要每位嚴格同步;而同步傳輸不但需要每位精確同步,還需要在數(shù)據(jù)塊的起始與終止位置,進行一個或多個同步字符的雙方字符同步的過程。
● 異步傳輸相對于同步傳輸有效率低、速度低、設備便宜、適用低速場合等特點。
補充:
異步傳輸和同步傳輸?shù)膮^(qū)別:
● 收發(fā)兩端對時間的精確度要求高低而已。
● 同步要求高,異步沒有同步要求那么高。
● 異步: --- 發(fā)送端 可以任意時刻發(fā)送字符,不需要同步步調,發(fā)送端不需要在發(fā)送一幀之前和接收端進行協(xié)調(不需要先進行比特同步)。
● 同步: --- 發(fā)送端 需要同步時鐘信號,"同步通信"的通信雙方必須先建立同步,即雙方的時鐘要調整到同一個頻率。
● 兩種不同的同步方式。一種是使用全網同步,用一個非常精確的主時鐘對全網所有結點上的時鐘進行同步。
● 另一種是使用準同步,各結點的時鐘之間允許有微小的誤差,然后采用其他措施實現(xiàn)同步傳輸。