通信過程中收、發(fā)雙方必須在時間上保持同步,一方面碼元之間要保持同步,另一方面由碼元組成的字符或數(shù)據(jù)塊之間在起止時間上也要保持同步。實現(xiàn)字符或數(shù)據(jù)塊之間在起止時間上同步的常用方法有異步傳輸和同步傳輸兩種。
1.異步傳輸
異步傳輸即前面介紹過的群同步傳輸。異步傳輸方式中,一次只傳輸一個字符(由5~F8位數(shù)據(jù)組成)。每個字符用一位起始位引導(dǎo)、一位停止位結(jié)束。起始位為\"。\",占一位時間;停止位為\"1\",占1~2位的持續(xù)時間。在沒有數(shù)據(jù)發(fā)送時,發(fā)送方可發(fā)送連續(xù)的停止位(稱空閑位)。接收方根據(jù)\"1\"至\"。\"的跳變來判別一個新字符的開始,然后接收字符中的所有位。這種通信方式簡單便宜,但每個字符有2~3位的額外開銷。
2.同步傳輸
同步傳輸時,為使接收方能判定數(shù)據(jù)塊的開始和結(jié)束,還須在每個數(shù)據(jù)塊的開始處和結(jié)束處各加一個幀頭和一個幀尾,加有幀頭、幀尾的數(shù)據(jù)稱為一幀(Fram)。幀頭和幀尾的特性取決于數(shù)據(jù)塊是面向字符的還是面向位的。
如果采用面向字符的方案,那么每個數(shù)據(jù)塊以一個或多個同步字符作為開始。同步字符通常稱為SYN,這一控制字符的位模式與傳輸?shù)娜魏螖?shù)據(jù)字符都有明顯的差別。幀尾是另一個惟一的控制字符。這樣,接收方判別到SYN字符后,就可接收數(shù)據(jù)塊,直到發(fā)現(xiàn)幀尾字符為止。然后,接收方再判別下一個SW字符。例如IBM公司的二進同步規(guī)程mc就是這樣一種面向字符的同步傳輸方案。
面向位的方案是把數(shù)據(jù)塊作為位流而不是作為字符流來處理。除了幀頭和幀尾的原理有一點差外,其余基本相同。在面向位的方案中,由于數(shù)據(jù)塊中可以有任意的位模式,因此不能夠保證在數(shù)據(jù)塊中出現(xiàn)幀頭和幀尾標志,為此把幀頭和幀尾都使用模式01111110(稱為標志),而為了避免在數(shù)據(jù)塊中出現(xiàn)這種模式,發(fā)送方在所發(fā)送的數(shù)據(jù)中每當出現(xiàn)5個1之后就插入一個附加的0。當接收方檢測到5個1的序列時,就檢查后續(xù)的一位數(shù)據(jù),若該位是0,接收方就刪除掉這個附加的0,這種規(guī)程就是所謂的位插入(Bit Stuffing)。在國際標準化組織ISO所規(guī)定的高級數(shù)據(jù)鏈路控制規(guī)程HDLC和IBM公司所規(guī)定的同步數(shù)據(jù)鏈路控制規(guī)程SDLC中都采用這種技術(shù)。