USB的編碼方式
這樣的編碼方式會遇到一個很嚴(yán)重的問題:若重復(fù)相同的“1”信號一直進入時,就會造成數(shù)據(jù)長時間無法轉(zhuǎn)換,逐漸地累積而導(dǎo)致“塞車”的狀況,使得讀取的時序就會發(fā)生嚴(yán)重的錯誤。因此,在NRZI編碼之間,還需執(zhí)行所謂的位填塞(bits-tuffing)的工作。如圖4(a)所示,若原始的串行數(shù)據(jù)中含有連續(xù)6個“1”位,就須執(zhí)行位填塞的工作。此工作如圖4(b)所示,就在其后填塞一個“0”位。但相對地在NRZI編碼的過程中,對這連續(xù)的6個“1”執(zhí)行,如圖4(c)所示。
圖4 NRZI譯碼的過程
因此在發(fā)送端進行數(shù)據(jù)傳輸之前,須先執(zhí)行位填塞和NRZi編碼的工作。相對的,在接收端進行數(shù)據(jù)接收之前,就必須先執(zhí)行NRZI譯碼,然后再做位反填塞(unbit-tuffing)的工作。這一部分的電路會通過USB芯片中的SIE(串行接口引擎)來實現(xiàn)。
評論