在計算機系統中,CPU和外部通信有兩種通信方式:並行通信和串行通信。而按照串行數據的時鍾控制方式,串行通信又可分為同步通信和異步通信兩種方式。
1、異步串行方式的特點
所謂異步通信,是指數據傳送以字符為單位,字符與字符間的傳送是完全異步的,位與位之間的傳送基本上是同步的。異步串行通信的特點可以概括為:
①以字符為單位傳送信息。
②相鄰兩字符間的間隔是任意長。
③因為一個字符中的比特位長度有限,所以需要的接收時鍾和發送時鍾只要相近就可以。
④異步方式特點簡單的說就是:字符間異步,字符內部各位同步。
異步位系統是面向字符來傳輸信息的,也就是我們一般情況下的一個字符,8位,1bit,當然了傳輸的時候還要加上起始位和結束位,沒有這兩位接收方就不知道什么時候開始接收數據什么時候結束了。如此一來字符與字符之間就不是連着的,打個比喻,就像秋天的葉子一樣,一片一片往下落。發送方和接收方不要求同步,就是說你想什么時候落就什么時候落,我都接着,用不着先通知我
2、異步串行方式的數據格式
異步串行通信的數據格式如圖8-1所示,每個字符(每幀信息)由4個部分組成:
①1位起始位,規定為低電0;
②5~8位數據位,即要傳送的有效信息;
③1位奇偶校驗位;
④1~2位停止位,規定為高電平1。
圖1 異步串行數據格式
3、同步串行方式的特點
所謂同步通信,是指數據傳送是以數據塊(一組字符)為單位,字符與字符之間、字符內部的位與位之間都同步。同步串行通信的特點可以概括為:
①以數據塊為單位傳送信息。
②在一個數據塊(信息幀)內,字符與字符間無間隔。
③因為一次傳輸的數據塊中包含的數據較多,所以接收時鍾與發送進鍾嚴格同步,通常要有同步時鍾。
同步位系統就不同了,他要求發送方與接收方嚴格的同步,二者波特率要相同。
同步位系統傳輸的什么呢,不是字符,是字符組合,也就是幀,我們在OSI數據鏈路層可以學習到。幀的長度沒有規定,傳輸的時候視情況而定吧。這個幀里面包含了同步信息,來通知接收方調整以同步。這里再打個比喻,前面我們說異步位系統傳輸的數據像樹葉,那么同步位系統傳輸的就像是把這些樹葉串成一串,是連續的。
4、同步串行方式的數據格式
同步串行通信的數據格式如圖8-2所示,每個數據塊(信息幀)由3個部分組成:
①2個同步字符作為一個數據塊(信息幀)的起始標志;
②n個連續傳送的數據
③2個字節循環冗余校驗碼(CRC)
圖2 同步串行數據格式
5.用途:
同步串行:通信網中,有大批量數據需要傳輸
異步串行:應用於在工業、實際應用中。適用於短距離、速率不高的情況下。
同步位系統比異步位系統要實用高效。這個比較好理解,計算機對幀的處理比對字符要少的多,在傳送相同大小的數據量的時候,計算機要對大量的字符進行開始與結束操作,幀則要少的多。同時同步位系統的下的網絡效率也更高,因為每個字符都至少包含兩位的開始結束信息,這個在數據量大的時候開銷是很客觀的。
時鍾在通信中的作用就是在數據收發時起協調作用的,異步時鍾用到比較少,同步時鍾肯定會用到。
單工、半雙工、全雙工
單工數據傳輸只支持數據在一個方向上傳輸;
半雙工數據傳輸允許數據在兩個方向上傳輸,但是,在某一時刻,只允許數據在一個方向上傳輸,它實際上是一種切換方向的單工通信;
全雙工數據通信允許數據同時在兩個方向上傳輸,因此,全雙工通信是兩個單工通信方式的結合,它要求發送設備和接收設備都有獨立的接收和發送能力。
網卡的全雙工(Full Duplex)是指網卡在發送數據的同時也能夠接收數據,兩者同步進行,這好像我們平時打電話一樣,說話的同時也能夠聽到對方的聲音。目前的網卡一般都支持全雙工。
提到全雙工,就不能不提與之密切對應的另一個概念,那就是“半雙工(Half Duplex)”,所謂半雙工就是指一個時間段內只有一個動作發生,舉個簡單例子,一條窄窄的馬路,同時只能有一輛車通過,當目前有兩量車對開,這種情況下就只能一輛先過,等到頭兒后另一輛再開,這個例子就形象的說明了半雙工的原理。早期的對講機、以及早期集線器等設備都是基於半雙工的產品。隨着技術的不斷進步,半雙工會逐漸退出歷史舞台。