USB速度的基本概念
通常一個USB單片機可能支持低速、全速或全速與高速,所有的集線器支持低速與全速設(shè)備。但如果這個集線器嵌人了一個多元式(compound)設(shè)各,就僅能支持低速的功能而已(如具各集線器的USB鍵盤)。這樣,這個集線器將會以全速的方式與PC通信,但卻以低速的方式與其嵌人的設(shè)備來通信。對于低速或全速的外圍設(shè)各來說,能夠連接至任何的USB集線器。
對于高速的外圍設(shè)備則有點像是雙速度設(shè)各,因此也可以連接至任何集線器上。但是USB 1.x規(guī)范的主機或集線器幾乎都不支持高速的規(guī)范,這是由于USB 1.x規(guī)范在制定時,高速的設(shè)各還未設(shè)計出,也就是并不兼容。為了使得高速設(shè)各并不與USB1.x規(guī)范的主機與集線器混淆,所以所有的高速設(shè)各必須要能夠在全速下負(fù)責(zé)對標(biāo)準(zhǔn)設(shè)備列舉的要求來加以響應(yīng)。這樣,即可使得任何主機能夠去辨識出任何設(shè)備。
對于高速設(shè)備而言,除了負(fù)責(zé)標(biāo)準(zhǔn)的要求外,并無須具備在全速下的功能。但是因為USB 1.x規(guī)范的主機與集線器目前還不會被淘汰掉;再者,支持全速的功能并不難去制作,因此大多數(shù)高速設(shè)備也能與全速設(shè)備兼容。有了這些低速、全速與高速的概念后,緊接著,將針對USB的速度來做進(jìn)一步的探討。
對于主機與外圍設(shè)各之間的實際數(shù)據(jù),其傳輸率小于總線的速度。這也是由于這兩邊所傳輸?shù)奈恢校艘话阏嬲臄?shù)據(jù)傳輸外,大都是用在辨識、同步以及錯誤檢查上。再者,數(shù)據(jù)的傳輸率有時還需根據(jù)傳輸?shù)念愋鸵约按丝炭偩€上的忙碌情況而定。而對于時間敏銳的數(shù)據(jù)來說,USB支持了具各保證傳輸率與保證最大的時間上限的傳輸類型——等時傳輸。等時傳輸可保證帶寬,主機可以根據(jù)所設(shè)置的時間間隔,來要求特定的字節(jié)數(shù)目傳輸至外圍設(shè)各或從外圍設(shè)備來讀取數(shù)據(jù)。在全速的傳輸下,能夠在一個1 ms幀中移動高達(dá)1 023字節(jié)的數(shù)據(jù)。但對高速的設(shè)各而言,可以在125μS的微幀中,移動高達(dá)2 072字節(jié)的數(shù)據(jù)。相對的,等時傳輸并不具備錯誤檢查的功能。此外,中斷傳輸具有錯誤檢查以及最大保證帶寬的功能,但也意味著,并不具各保證精準(zhǔn)的傳輸率。也即是相互之間傳輸?shù)臅r間間隔將不會比設(shè)置的時間量還要快。
在低速的中斷傳輸中,所能要求的最大時間間隔是從10~255 ms,在全速時則為 1~255 ms。另外,在高速時,則時間間隔范圍為125 μS~4 096 s。
此外,因為整個總線被許多設(shè)各分享掉,因此也就無法對外圍設(shè)各給予最大的遲滯上限或保證特定的傳輸率。如果,此時總線太忙以致無法允許所要求的傳輸率或最大的遲滯上限,主機就會拒絕去實現(xiàn)或完成配置用來讓主機的軟件企圖去傳輸?shù)倪^程。
在全速下,另一個用來做快速傳輸?shù)膫鬏旑愋褪桥總鬏?。理論上,在全速時,可以高達(dá)1.216 MB/s,而在高速時,可以高達(dá)53.248 MB/s。然而相對的,主機的驅(qū)動程序也會限制單一的批量傳輸變成較慢的傳輸率。綜合來說,具有最佳的保證帶寬的傳輸類型是高速的中斷和等時傳輸(24.576 MB/s)。
但是,一般在設(shè)計USB外圍設(shè)各時,有時不需那么快的傳輸率,或說相對的,這種技術(shù)的層次也相當(dāng)?shù)睦щy。因此,可以退而求其次,使用較低的傳輸類型或傳輸率。雖然,低速的總線速度是1.5 Mbps,僅能在10 ms中傳輸8字節(jié),或換算成每秒800個字節(jié)(等于6 400 bps)。但是這種低速的傳輸率無論在電路制作還是在程序的編寫上都特別的容易,也具有若干優(yōu)點。
評論