同步通信和異步通信


一、同步通信和異步通信
串行通信可以分爲兩種類型,一種叫同步通信,另一種叫異步通信。
同步通信方式,是把許多字符組成一個信息組,這樣,字符可以一個接一個地傳輸,但是,在每組信息(通常稱爲信息幀)的開始要加上同步字符,在沒有信息要傳輸時,要填上空字符,因爲同步傳輸不允許有間隙。同步方式下,發送方除了發送數據,還要傳輸同步時鐘信號,信息傳輸的雙方用同一個時鐘信號確定傳輸過程中每1位的位置。見右圖5.2所示。



圖5.2 同步通信示意圖
在異步通信方式中,兩個數據字符之間的傳輸間隔是任意的,所以,每個數據字符的前後都要用一些數位來作爲分隔位。
從圖5.2中可以看到,按標準的異步通信數據格式(叫做異步通信幀格式),1個字符在傳輸時,除了傳輸實際數據字符信息外,還要傳輸幾個外加數位。具體說,在1個字符開始傳輸前,輸出線必須在邏輯上處於“1”狀態,這稱爲標識態。傳輸一開始,輸出線由標識態變爲“0”狀態,從而作爲起始位。起始位後面爲5~8個信息位,信息位由低往高排列,即先傳字符的低位,後傳字符的高位。信息位後面爲校驗位,校驗位可以按奇校驗設置,也可以按偶校驗設置,或不設校驗位。最後是邏輯的“1”作爲停止位,停止位可爲1位、1.5位或者2位。如果傳輸完1個字符以後,立即傳輸下一個字符,那麼,後一個字符的起始位便緊挨着前一個字符的停止位了,否則,輸出線又會進入標識態。在異步通信方式中,發送和接收的雙方必須約定相同的幀格式,否則會造成傳輸錯誤。在異步通信方式中,發送方只發送數據幀,不傳輸時鐘,發送和接收雙方必須約定相同的傳輸率。當然雙方實際工作速率不可能絕對相等,但是隻要誤差不超過一定的限度,就不會造成傳輸出錯。圖5.3是異步通信時的標準數據格式。

圖5.3 異步通信示意圖
比較起來,在傳輸率相同時,同步通信方式下的信息有效率要比異步方式下的高,因爲同步方式下的非數據信息比例比較小。
二、傳輸率
所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。在計算機中,每秒傳輸多少位和波特率的含義是完全一致的,但是,在最初的定義上,每秒傳輸多少位和波特率是不同的,前者是指每秒鐘傳輸的數位是多少,而波特率是指每秒鐘傳輸的離散信號的數目。所謂離散信號,就是指不均勻的、不連續的也不相關的信號。在計算機裏,只允許高電平和低電平兩種離散信號,它們分別表示l和0,於是,造成了波特率與每秒傳輸數位這兩者的吻合。但在其他一些場合,就未必如此。比如,採用脈衝調製時,可以允許取4種相位,而每種相位代表2個數位,這種情況下,按每秒傳輸多少位(bps)計算的傳輸率便是波特率的兩倍。
國際上規定了一個標準波特率系列,標準波特率也是最常用的波特率,標準波特率系列爲110、300、600、1200、1800、2400、4800、9600、19200......。
大多數接口的波特率可以通過編程來指定。
作爲例子,我們可以考慮這樣一個異步傳輸過程:設每個字符對應1個起始位、7個數據位、1個奇/偶校驗位和1個停止位,如果波特率爲1200,那麼,每秒鐘能傳輸的最大字符數爲1200/10=120個。 
作爲比較,我們再來看一個同步傳輸的例子。假如也用1200的波特率工作,每個字符爲7位,用4個同步字符作爲信息幀頭部,但不用奇/偶校驗,那麼,傳輸100個字符所用的時間爲7×(100+4)/1200=0.6067,這就是說,每秒鐘能傳輸的字符數可達到100/0.6067=165個。
三、異步通信的差錯類型
異步通信過程中,可能發生通信錯,一般有3種錯誤:
1、幀格式錯:在應該接收到停止位的時候,接收到邏輯的“0”,便產生幀格式錯誤。
2、奇偶錯:接收到的奇偶校驗位錯。
3、覆蓋錯:通信接口接收到數據並存放到數據輸入寄存器中,但是CPU沒有及時來取,後面新接收的數據覆蓋了前面收到的數據,叫做覆蓋錯。
發生幀格式錯和奇偶錯的原因可能爲下面幾種:
◆ 發送和接收雙方採用了不同的傳輸率,或雖然雙方約定了相同的傳輸率,但傳輸率不可能絕對相等。在通信的速率比較高的情況下,如果雙方的傳輸率誤差達到一定的程度,也會造成通信出錯;
◆ 通信雙方採用了不相同的幀格式;
◆ 干擾。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章