通俗版:
舉個例子:普通B/S模式(同步)AJAX技術(shù)(異步)
同步:提交請求->等待服務(wù)器處理->處理完畢返回 這個期間客戶端瀏覽器不能干任何事
異步: 請求通過事件觸發(fā)->服務(wù)器處理(這是瀏覽器仍然可以作其他事情)->處理完畢
--------------------------------------------------------------------------------------------------------------------
同步就是你叫我去吃飯,我聽到了就和你去吃飯;如果沒有聽到,你就不停的叫,直到我告訴你聽到了,才一起去吃飯。
異步就是你叫我,然后自己去吃飯,我得到消息后可能立即走,也可能等到下班才去吃飯。
所以,要我請你吃飯就用同步的方法,要請我吃飯就用異步的方法,這樣你可以省錢。
--------------------------------------------------------------------------------------------------------------------
舉個例子 打電話時同步 發(fā)消息是異步
綜述版:
異步通信”是一種很常用的通信方式。異步通信在發(fā)送字符時,所發(fā)送的字符之間的時間間隔可以是任意的。當(dāng)然,接收端必須時刻做好接收的準(zhǔn)備(如果接收端主機的電源都沒有加上,那么發(fā)送端發(fā)送字符就沒有意義,因為接收端根本無法接收)。發(fā)送端可以在任意時刻開始發(fā)送字符,因此必須在每一個字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。異步通信的好處是通信設(shè)備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所占比例較大)。
異步通信也可以是以幀作為發(fā)送的單位。接收端必須隨時做好接收幀的準(zhǔn)備。這是,幀的首部必須設(shè)有一些特殊的比特組合,使得接收端能夠找出一幀的開始。這也稱為幀定界。幀定界還包含確定幀的結(jié)束位置。這有兩種方法。一種是在幀的尾部設(shè)有某種特殊的比特組合來標(biāo)志幀的結(jié)束。或者在幀首部中設(shè)有幀長度的字段。需要注意的是,在異步發(fā)送幀時,并不是說發(fā)送端對幀中的每一個字符都必須加上開始位和停止位后再發(fā)送出去,而是說,發(fā)送端可以在任意時間發(fā)送一個幀,而幀與幀之間的時間間隔也可以是任意的。在一幀中的所有比特是連續(xù)發(fā)送的。發(fā)送端不需要在發(fā)送一幀之前和接收端進(jìn)行協(xié)調(diào)(不需要先進(jìn)行比特同步)。 每個字符開始發(fā)送的時間可以是任意的t0 0 1 1 0 1 1 0起始位結(jié)束位t每個幀開始發(fā)送的時間可以是任意的以字符為單位發(fā)送以幀為單位發(fā)送幀開始幀結(jié)束
“同步通信”的通信雙方必須先建立同步,即雙方的時鐘要調(diào)整到同一個頻率。收發(fā)雙方不停地發(fā)送和接收連續(xù)的同步比特流。但這時還有兩種不同的同步方式。一種是使用全網(wǎng)同步,用一個非常精確的主時鐘對全網(wǎng)所有結(jié)點上的時鐘進(jìn)行同步。另一種是使用準(zhǔn)同步,各結(jié)點的時鐘之間允許有微小的誤差,然后采用其他措施實現(xiàn)同步傳輸。
串口進(jìn)行通信的方式有兩種:同步通信方式和異步通信方式。同步通信方式要求通信雙方以相同的時鐘頻率進(jìn)行,而且準(zhǔn)確協(xié)調(diào),通過共享一個單個時鐘或定時脈沖源保證發(fā)送方和接收方的準(zhǔn)確同步,效率較高;異步通信方式不要求雙方同步,收發(fā)方可采用各自的時鐘源,雙方遵循異步的通信協(xié)議,以字符為數(shù)據(jù)傳輸單位,發(fā)送方傳送字符的時間間隔不確定,發(fā)送效率比同步傳送效率低。
具體
專業(yè)版:
串行通信可以分為兩種類型:同步通信、異步通信。
1.異步通信的特點及信息幀格式:
以起止式異步協(xié)議為例,下圖顯示的是起止式一幀數(shù)據(jù)的格式:

圖1
起止式異步通信的特點是:一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結(jié)束,字符之間沒有固定的時間間隔要求。每一個字符的前面都有一位起始位(低電平,邏輯值),字符本身由5-7位數(shù)據(jù)位組成,接著字符后面是一位校驗位(也可以沒有校驗位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位。停止位和空閑位都規(guī)定為高電平(邏輯值1),這樣就保證起始位開始處一定有一個下跳沿。
從圖中可看出,這種格式是靠起始位和停止位來實現(xiàn)字符的界定或同步的,故稱為起止式協(xié)議。
異步通信可以采用正邏輯或負(fù)邏輯,正負(fù)邏輯的表示如下表所示:
? | 邏輯0 | 邏輯1 |
正邏輯 | 低電平 | 高電平 |
負(fù)邏輯 | 高電平 | 低電平 |
異步通信的信息格式如下邊的表所示起始位 | 邏輯0 | 1位 |
數(shù)據(jù)位 | 邏輯0或1 | 5位、6位、7位、8位 |
校驗位 | 邏輯0或1 | 1位或無 |
停止位 | 邏輯1 | 1位,1.5位或2位 |
空閑位 | 邏輯1 | 任意數(shù)量 |
注:表中位數(shù)的本質(zhì)含義是信號出現(xiàn)的時間,故可有分?jǐn)?shù)位,如1.5。 例:傳送8位數(shù)據(jù)45H(0100,0101B),奇校驗,1個停止位,則信號線上的波形象圖2所示那樣:異步通信的速率:若9600bps,每字符8位,1起始,1停止,無奇偶,則實際每字符傳送10位,則960字符/秒。

圖2
2.異步通信的接收過程
接收端以“接收時鐘”和“波特率因子”決定一位的時間長度。下面以波特率因子等于16(接收時鐘每16個時鐘周期,使接收移位寄存器移位一次)、正邏輯為例說明,如圖3所示。

圖3
(1)開始通信時,信號線為空閑(邏輯1),當(dāng)檢測到由1到0的跳變時,開始對“接收時鐘”計數(shù)。
(2)當(dāng)計到8個時鐘時,對輸入信號進(jìn)行檢測,若仍為低電平,則確認(rèn)這是“起始位”B,而不是干擾信號。
(3)接收端檢測到起始位后,隔16個接收時鐘,對輸入信號檢測一次,把對應(yīng)的值作為D0位數(shù)據(jù)。若為邏輯1, 作為數(shù)據(jù)位1;若為邏輯0,作為數(shù)據(jù)位0。
(4)再隔16個接收時鐘,對輸入信號檢測一次,把對應(yīng)的值作為D1位數(shù)據(jù)。….,直到全部數(shù)據(jù)位都輸入。
(5)檢測校驗位P(如果有的話)。
(6)接收到規(guī)定的數(shù)據(jù)位個數(shù)和校驗位后,通信接口電路希望收到停止位S(邏輯1),若此時未收到邏輯1,說明出現(xiàn)了錯誤,在狀態(tài)寄存器中置“幀錯誤”標(biāo)志。若沒有錯誤,對全部數(shù)據(jù)位進(jìn)行奇偶校驗,無校驗錯時,把數(shù)據(jù)位從移位寄存器中送數(shù)據(jù)輸入寄存器。若校驗錯,在狀態(tài)寄存器中置奇偶錯標(biāo)志。
(7)本幀信息全部接收完,把線路上出現(xiàn)的高電平作為空閑位。
(8)當(dāng)信號再次變?yōu)榈蜁r,開始進(jìn)入下一幀的檢測。
3、異步通信的發(fā)送過程
發(fā)送端以“發(fā)送時鐘”和“波特率因子”決定一位的時間長度。
(1)當(dāng)初始化后,或者沒有信息需要發(fā)送時,發(fā)送端輸出邏輯1,即空閑位,空閑位可以有任意數(shù)量。
(2)當(dāng)需要發(fā)送時,發(fā)送端首先輸出邏輯0,作為起始位。
(3)接著,發(fā)送端首先發(fā)送D0位,直到各數(shù)據(jù)位發(fā)送完。
(4)如果需要的話,發(fā)送端輸出校驗位。
(5)最后,發(fā)送端輸出停止位(邏輯1)。
(6)如果沒有信息需要發(fā)送時,發(fā)送端輸出邏輯1,即空閑位,空閑位可以有任意數(shù)量。如果還有信息需要發(fā)送,轉(zhuǎn)入第(2)步。
對于以上發(fā)送、接收過程應(yīng)注意以下幾點:
(1)接收端總是在每個字符的頭部(即起始位)進(jìn)行一次重新定位,因此發(fā)送端可以在字符之間插入不等長的空閑位,不影響接收端的接收。
(2)發(fā)送端的發(fā)送時鐘和接收端的接收時鐘,其頻率允許有一定差異,當(dāng)頻率差異在一定范圍內(nèi),不會引起接收端檢測錯位,能夠正確接收。并且這種頻率差異不會因多個字符的連續(xù)接收而造成誤差累計(因為每個字符的開始(起始位處)接收方均重新定位)。只有當(dāng)發(fā)送時鐘和接收時鐘頻率差異太大,引起接收端采樣錯位,才造成接收錯誤。
(3)起始位、校驗位、停止位、空閑位的信號,由“發(fā)送移位寄存器”自動插入。在接收方,“接收移位寄存器”接收到一幀完整信息(起始、數(shù)據(jù)、校驗、停止)后,僅把數(shù)據(jù)的各位送至“數(shù)據(jù)輸入寄存器”,即CPU從“數(shù)據(jù)輸入寄存器”中讀得的信息,只是有效數(shù)字,不包含起始位、校驗位、停止位信息。
1、同步通信方式的特點:
采用同步通信時,將許多字符組成一個信息組,這樣,字符可以一個接一個地傳輸,但是,在每組信息(通常稱為幀)的開始要加上同步字符,在沒有信息要傳輸時,要填上空字符,因為同步傳輸不允許有間隙。在同步傳輸過程中,一個字符可以對應(yīng)5~8位。當(dāng)然,對同一個傳輸過程,所有字符對應(yīng)同樣的數(shù)位,比如說n位。這樣,傳輸時,按每n位劃分為一個時間片,發(fā)送端在一個時間片中發(fā)送一個字符,接收端則在一個時間片中接收一個字符。
同步傳輸時,一個信息幀中包含許多字符,每個信息幀用同步字符作為開始,一般將同步字符和空字符用同一個代碼。在整個系統(tǒng)中,由一個統(tǒng)一的時鐘控制發(fā)送端的發(fā)送和空字符用同一個代碼。接收端當(dāng)然是應(yīng)該能識別同步字符的,當(dāng)檢測到有一串?dāng)?shù)位和同步字符相匹配時,就認(rèn)為開始一個信息幀,于是,把此后的數(shù)位作為實際傳輸信息來處理。
2、面向字符的同步協(xié)議(IBM的BSC協(xié)議)

該協(xié)議規(guī)定了10個特殊字符(稱為控制字符)作為信息傳輸?shù)臉?biāo)志。其格式為
SYN SOH 標(biāo)題 STX 數(shù)據(jù)塊 ETB/ETX 塊校驗
SYN:同步字符(Synchronous character),每幀可加1個(單同步)或2個(雙同步)同步字符。
SOH:標(biāo)題開始(Start of Header)。
標(biāo)題:Header,包含源地址(發(fā)送方地址)、目的地址(接收方地址)、路由指示。
STX:正文開始(Start of Text)。
數(shù)據(jù)塊:正文(Text),由多個字符組成。
ETB:塊傳輸結(jié)束(end of transmission block), 標(biāo)識本數(shù)據(jù)塊結(jié)束。
ETX:全文結(jié)束(end of text),(全文分為若干塊傳輸)。
塊校驗:對從SOH開始,直到ETB/ETX字段的檢驗碼。
3、面向bit的同步協(xié)議(ISO的HDLC)

一幀信息可以是任意位,用位組合標(biāo)識幀的開始和結(jié)束。 幀格式為:
F場 A場 C場 I場 FC場 F場
F場:標(biāo)志場;作為一幀的開始和結(jié)束,標(biāo)志字符為8位,01111110。
A場:地址場,規(guī)定接收方地址,可為8的整倍位。接收方檢查每個地址字節(jié)的第1位,如果為"0",則后邊跟著另一
個地址字節(jié)。若為"1",則該字節(jié)為最后一個地址字節(jié)。
C場:控制場。指示信息場的類型,8位或16位。若第1字節(jié)的第1位為0,則還有第2個字節(jié)也是控制場。
I場:信息場。要傳送的數(shù)據(jù)。
FC場:幀校驗場。16位循環(huán)冗余校驗碼CRC。除F場和自動插入的"0"位外,均參加CRC計算。
4、同步通信的"0位插入和刪除技術(shù)"
在同步通信中,一幀信息以一個(或幾個)特殊字符開始,例如,F(xiàn)場=01111110B。
但在信息幀的其他位置,完全可能出現(xiàn)這些特殊字符,為了避免接收方把這些特殊字符誤認(rèn)為幀的開始,發(fā)送方采用“0位插入技術(shù)",相應(yīng)地,接收方采用"0位刪除技術(shù)"。
發(fā)送方的0位插入:除了起始字符外,當(dāng)連續(xù)出現(xiàn)5個1時,發(fā)送方自動插入一個0。使得在整個信息幀中,只有起始字符含有連續(xù)的6個1。
接收方的"0位刪除技術(shù)":接收方收到連續(xù)6個1,作為幀的起始,把連續(xù)出現(xiàn)5個1后的0自動刪除。
5、同步通信的"字節(jié)填充技術(shù)"
設(shè)需要傳送的原始信息幀為:
SOT DATA EOT
節(jié)填充技術(shù)采用字符替換方式,使信息幀的DATA中不出現(xiàn)起始字符SOT和結(jié)束字符EOT。
設(shè)按下表方式進(jìn)行替換:
DATA中的原字符 替換為
SOT ESC X
EOT ESC Y
ESC ESC Z
其中,ESC=1AH,X、Y、Z可指定為任意字符(除SOT、EOT、ESC外)。
發(fā)送方按約定方式對需要發(fā)送的原始幀進(jìn)行替換,并把替換后的新的幀發(fā)送給接收方。例如圖所示:

接收方按約定方式進(jìn)行相反替換,可以獲得原始幀信息。
6、異步通信和同步通信的比較
(1)異步通信簡單,雙方時鐘可允許一定誤差。同步通信較復(fù)雜,雙方時鐘的允許誤差較小。
(2)異步通信只適用于點<--> 點,同步通信可用于點<--> 多。
(3)通信效率:異步通信低,同步通信高。