在逐位傳送的串行通信中,接受端必須能識別每個二進制位從什么時刻開始,這就是位定時。通信中一般以若干位表示一個字(或字符),除了位定時外還需要在接收端能識別每個字符從哪位開始,這就是字符定時。異步傳輸把每個字符看做一個獨立的信息,在每個字符起始處同步,但各個字符之間的間隔時間是可以變化的,由于發送器和接收器近似于同一頻率的兩個時鐘(要兩個時鐘頻率嚴格完全相同是不可能的)能夠在同一段短時間內保持同步,就可以用字符起始處同步的時鐘來采樣各字符中的各位,而不需要每位都嚴格的同步。同步傳輸則是把許多字符組織成一個數據塊(即幀),除在數據塊的起始處同步外,還要在后邊維持固定的時鐘,實際上是發送端通過某種技術將時鐘混合到數據中一起發送出來,而接收端又從輸入數據分離出時鐘來。該時鐘不但用來定時字符內的各位,也用來定時字符本身。可見,同步和異步主要區別在字符之間,同步是指連續傳送的字符之間是同步的,而異步則指字符之間不是同步的。同步傳輸由于接收器能從輸入數據中分離出時鐘,實現起來較復雜。但是由于同步傳輸是許多字符組成一個數據塊發送的,它能夠有效地利用信道,也便于實現差錯和其它更強的控制功能。
一、異步傳輸方式
異步(Asynchronous)傳輸方式指收發兩端各自有相互獨立的位定時時鐘,數據的傳輸速率是雙方約定的,收方利用數據本身來進行同步的傳輸方式,一般是起止式同步方式。這種方式以字(一般為8比特)為單位進行傳送,在需傳送的字符前設置1比特的零電平作為起始位,預告待傳送字符即將開始;同時在字符之后,設置1~2比特高電平作為終止位,以表示該字符傳送結束。該終止位的電平也表示平時不進行通信的狀態(即處于“閑”時狀態),如圖1所示。在異步方式中,不傳送字符時,并不要求收發時鐘“同步”,但在傳送字符時,要求收發時鐘在每一字符中的每一位上“同步”。
圖1:異步傳輸方式
那么在這一通信過程中,是怎樣進行同步的呢?當從長“1”的“閑”狀態轉到零電平的起始位狀態時,接收端串口電路將檢測出極性狀態的改變,并利用這種極性的變化來啟動串口電路的接收時鐘。串口電路首先在起始位的中間進行取樣判決。若是高電平“1”,則認為是噪聲干擾而不是起始位;若是零電平,則以此為起始時刻,按照雙方預定的速率為時間間隔,對起始位之后的各位進行取樣判決,至終止位結束。若終止位判決為“0”時,則“幀出錯”,該字無效,從而實現收發時鐘同步。接收端收到正確的終止位后,就將定時器復位,準備接收下一個字符。
從圖1中還可以看出:
① 在起始位和終止位之間為信息位和校驗位,各信息位及校驗位所占的時間相等;
② 各字之間的間隔可以是任意的;若只有終止位,則表明連續發送,否則是人工按鍵發送;
③ 收發雙方的時鐘是存在誤差的,一般石英晶體的時鐘精度在10-4~l0-5。在一個字的范圍內,從起始位到終止位,數據長度很短,時鐘的誤差可以忽略不計,因而僅以一字為單位,也就不存在累計誤差了;
④ 起始位為1位零電平,終止位可選1、1.5、2位高電平,起止位之間“夾住”的是信息位和校驗位,可取5、6、7、8位。其中以8位居多。校驗方式通常取偶校驗。
異步傳輸方式的特點是收發雙方有各自獨立的時鐘,從宏觀上看無需雙方時鐘的同步;而從微觀上看收方時鐘的判決時刻取自于接收起始位的沿變化,字符同步也借此可得。異步傳輸方式實現簡單,但是由于增加了起位和止位,影響了傳輸效率。
二、同步傳輸方式
同步(Synchronous)傳輸方式,是相對于異步傳輸方式而談的,是針對時鐘的同步,即指收發雙方采用了統一時鐘的傳輸方式。至于統一時鐘信號的來源,或是雙方有一條時鐘信號的信道,或是利用獨立同步信號來提取時鐘。
在同步傳輸方式中,是以固定的時鐘節拍來傳輸信號的,即有恒定的傳輸速率。在串行數據流中,各個信號碼元之間相對位置都是固定的,接收方為了從收到的數據流中正確地區分出一個個信號碼元,首先必須建立起準確的時鐘信號,即位同步,也就是要求收發兩方具有一個同步(同頻同相)時鐘,從而滿足收發雙方同步工作。如是,同步傳輸方式中的雙方設備,或是雙方之間的信道就比較復雜了。但與異步方式來比,同步方式沒有起止位,所以傳輸效率較高。
但有了位定時的同步后,只是能夠識別某一位,為了進一步識別“某一句”,即某一幀或某一數據塊,一般還要采用幀或群同步的手法。一種典型的幀同步方法是同步字方式。
在采用這種同步方式進行傳輸時,為了通知接收端開始接收數據,還需在每次傳輸信息之前先發送特殊的同步字符(記為SYN)。在平時不傳信息時,在線路上傳送的是“1”,當接收端搜索到SYN時,就開始接收數據塊信息。發送端在發完數據塊報文之后,若無新的報文,則一直發送SYN字符。考慮到數據的透明性,同步字還可以設定為兩個:SYN 1和SYN2。如圖2所示。一般在同步字后會有幀長等控制信息,這需要由通信協議來規范。
圖2:同步字方式結構
應該指出,同步字方式還可以采用數據本身的“自同步”時鐘方式。這時類似異步傳輸方式,收發兩端各有一個位定時時鐘。另外信息幀中還有該數據塊的長度n。當表示“閑”狀態的“1”發生極性變化,即下降沿出現時,處于搜索狀態的收端串口電路開始逐位接收并搜索同步字;在搜索到SYN1和SYN2后,就退出搜索方式,繼而開始接收數據塊(長度為n)信息;當長度為n的數據塊接收完畢后,接收方則復位并再次進入同步字搜索狀態,以便接收下一批的數據塊。而塊長n則取決于收發雙方時鐘的相對誤差。BP機中POCSAG碼的同步方式就類似于這種同步字方式。
由上可見,同步傳輸方式可采用同步字的幀同步方式,而同步字方式則不一定屬于同步傳輸方式范疇,有時也可以屬于異步傳輸方式。
總之,異步傳輸方式簡單、可靠,但所需的通信額外開銷較大。以異步傳輸方式傳輸ASCII碼為例,傳輸8位ASCII碼至少需1位起始位和1位停止位,即通信額外開銷占20%以上。故這種方式廣泛應用于點對點的傳輸速率較低的通信系統。而同步傳輸方式雖然也需要額外開銷(SYN),但所占比重相對于異步傳輸方式小得多,因此主要用于要求速率較高的通信系統和數據通信網。