-
同步串行通信
鎖定
所謂同步通信是指在約定的通信速率下,發送端和接收端的時鐘信號頻率和相位始終保持一致(同步),這就保證了通信雙方在發送和接收數據時具有完全一致的定時關係。串行通信是指計算機主機與外設之間以及主機系統與主機系統之間數據的串行傳送。使用串口通信時,發送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0。串行通信可以分為同步通信和異步通信兩類。
- 中文名
- 同步串行通信
- 類 別
- 同步通信和異步通信
- 或稱為
- 信息幀
- 特 點
- 每幀的開始用同步字符來指示
同步串行通信定義
同步通信把許多字符組成一個信息組,或稱為信息幀,每幀的開始用同步字符來指示。由於發送和接收的雙方採用同一時鐘,所以在傳送數據的同時還要傳送時鐘信號,以便接收方可以用時鐘信號來確定每個信息位。
同步通信要求在傳輸線路上始終保持連續的字符位流,若計算機沒有數據傳輸,則線路上要用專用的“空閒”字符或同步字符填充。
同步通信傳送信息的位數幾乎不受限制,通常一次通信傳的數據有幾十到幾千個字節,通信效率較高。但它要求在通信中保持精確的同步時鐘,所以其發送器和接收器比較複雜,成本也較高,一般用於傳送速率要求較高的場合。
同步串行通信數據格式
(a)單同步格式,會送一幀數據僅使用一個同步字符。當接收端收到並識別出一個完整同步字符後,就連續接收數據。一幀數據結束,進行CRC校驗。
同步字符 數據 CRC1 CRC2
(b)雙同步字格式,這時利用兩個同步字符進行同步。
同步字符1 同步字符2 數據 CRC1 CRC2
(c)同步數據鏈路控制(SDC)規程所規定的數據格式。
標誌符01111110 地址符8位 數據 CRC1 CRC2 標誌符01111110
(d)則是一種外同步方式所採用的數據格式。對這種方式,在發送的一幀數據中不包含同步字符。同步信號SYNC通過專門的控制線加到串行的接口上。當SYNC一到達,表明數據部分開始,接口就連續接收數據和CRC校驗碼。
數據場 CRC1 CRC2
(e)高級數據鏈路控制(HDLC)規程所規定的數據格式。它們均用於同步通信。這兩種規程的細節本書不做詳細説明。
標誌符01111110 地址符8位 控制符8位 數據 CRC1 CRC2 標誌符01111110
CRC(cyclic redundancy checks)的意思是循環冗餘校驗碼。它用於檢驗在傳輸過程中是否出現錯誤,是保證傳輸可靠性的重要手段之一。
同步串行通信應用
在異步通信方式中,可以看到在發送的數據中含有起始位和停止位這兩個與實際欲傳送的數據毫無相干的位。換句話説,若在傳送1個8位的字符串時,其校驗位、起始位和停止位都為1個位,則相當於要傳送11個位信號,所以實際上的使用率就只有約73%而已。顯然當需要高速率的通信速度時,異步式的傳輸不能滿足需求。
與異步方式不同的是,同步方式不僅在字符的本身之間是同步的,而且在字符與字符之間的時序仍然是同步的,即同步方式是將許多的字符聚集成一字符塊後,在每塊信息(常常稱之為信息幀)之前要加上1~2個同步字符,字符塊之後再加入適當的錯誤檢測數據才傳送出去。採用同步通信時,在傳輸線上沒有字符傳輸時,要發送專用的“空閒”字符或同步字符,其原因是同步傳輸字符必須連續傳輸,不允許有間隙。
由於同步傳輸採用字符塊的方式,所以相對於異步方式裏每一字符就有一對控制數據和錯誤檢測數據的設計,同步方式的字符塊中的每一個字符就有比較少的控制數據和錯誤檢測的數據,因而有較高的傳輸速率。更重要的是,異步方式下雖然有校驗位可用以檢測錯誤,但其功能也只能檢測錯誤,而不能進行任何的修正操作,而且對於偶數個錯誤位的產生就不易檢測出來。