USB1.0設(shè)備為何能夠在USB2.0端口上使用?
USB從1994年開(kāi)始提出以來(lái),到目前為止共有三個(gè)版本:USB 1.0、USB 1.1和USB 2.0。USB 1.0只有低速(low speed,1.5Mbps)一種傳輸模式,USB 1.1增加了全速(full speed,12Mbps)模式,USB 2.0又增加了高速(high speed,480Mbps)模式。
本文引用地址:http://m.butianyuan.cn/article/201612/328913.htm圖1 USB端口與高速USB端口的標(biāo)志
為了使USB1.0的設(shè)備(鼠標(biāo)和鍵盤(pán))在USB 2.0下面仍可以工作,首先要做的工作,就是讓2.0端口的物理形狀與1.0保持完全一致(圖2)。所以,僅從外觀上來(lái)看,我們是分別不出USB端口的版本。當(dāng)我們把U盤(pán)或移動(dòng)硬盤(pán)插入到主機(jī)的USB接口時(shí),往往并不知道移動(dòng)設(shè)備的工作模式,也不知道數(shù)據(jù)傳輸率是究竟1.5Mbps、12Mbps,還是480Mbps。
圖2 兩種USB版本具有相同的連接器
(還有一種mini-B型,比B型的尺寸更小一些)
那么,USB 2.0端口怎樣保持與USB 1.0、USB 1.1設(shè)備之間相互兼容呢?2.0控制器又是怎樣判斷出設(shè)備是1.0還是2.0的呢?這就是本文將要解決的問(wèn)題。
一、主機(jī)如何識(shí)別USB設(shè)備類(lèi)型?
當(dāng)USB設(shè)備插上主機(jī)時(shí),主機(jī)就通過(guò)一系列的動(dòng)作來(lái)對(duì)設(shè)備進(jìn)行枚舉配置,其中包括如下一些狀態(tài):
(1)接入態(tài)(Attached):設(shè)備接入主機(jī)后,主機(jī)通過(guò)檢測(cè)信號(hào)線(xiàn)上的電平變化來(lái)發(fā)現(xiàn)設(shè)備的接入;
(2)供電態(tài)(Powered):就是給設(shè)備供電,分為設(shè)備接入時(shí)的默認(rèn)供電值,配置階段后的供電值(按數(shù)據(jù)中要求的最大值,可通過(guò)編程設(shè)置);
(3)缺省態(tài)(Default):USB在被配置之前,通過(guò)缺省地址0與主機(jī)進(jìn)行通信;
(4)地址態(tài)(Address):經(jīng)過(guò)了配置,USB設(shè)備被復(fù)位后,就可以按主機(jī)分配給它的唯一地址來(lái)與主機(jī)通信,這種狀態(tài)就是地址態(tài);
(5)配置態(tài)(Configured):主機(jī)發(fā)出標(biāo)準(zhǔn)的USB請(qǐng)求命令來(lái)獲取設(shè)備的各種信息,并根據(jù)這些信息對(duì)控制器進(jìn)行設(shè)置。
(6)掛起態(tài)(Suspended):總線(xiàn)供電設(shè)備在3ms內(nèi)沒(méi)有總線(xiàn)操作,即USB總線(xiàn)處于空閑狀態(tài)的話(huà),該設(shè)備就要自動(dòng)進(jìn)入掛起狀態(tài),在進(jìn)入掛起狀態(tài)后,總的電流功耗不超過(guò)280UA。
USB設(shè)備的EEPROM芯片中存儲(chǔ)有設(shè)備描述符、配置描述符、字符描述符、接口描述符和端點(diǎn)描述符,其中的接口描述符會(huì)告訴主機(jī)該接口的類(lèi)型。在配置態(tài),主機(jī)獲取USB設(shè)備信息,Windows的設(shè)備管理器將描述符內(nèi)的信息與PC內(nèi)部INF文檔進(jìn)行比較,從中找出最佳匹配,然后指定一個(gè)設(shè)備驅(qū)動(dòng)程序,這樣應(yīng)用程序就能夠訪問(wèn)該設(shè)備了(圖3)。
圖3 Windows的“設(shè)備管理器”中可以看到枚舉成功的設(shè)備
二、保持兼容性的措施
為了保持向下兼容,需從軟硬件兩個(gè)方面去考慮。軟件方面的問(wèn)題這里不準(zhǔn)備討論,我關(guān)心的只是硬件方面。
(1)帶寬分配與速率轉(zhuǎn)換
雖然USB 2.0定義了1.5Mbps、12Mbps和480Mbps三種傳輸速率,但任何一個(gè)設(shè)備的實(shí)際傳輸速率只能達(dá)到設(shè)備自身所允許的最高值。對(duì)于連接到2.0端口的低速設(shè)備,主控端需要降低速率,以保證通信的成功。USB2.0控制器中有一個(gè)稱(chēng)為“Transaction Translator”的電路,就是負(fù)責(zé)進(jìn)行傳輸速率轉(zhuǎn)換的。
(2)電平設(shè)置與電流分配
我們知道,USB連接線(xiàn)中有四條導(dǎo)線(xiàn),其中的兩條用于傳送數(shù)據(jù),另外兩條則分別用來(lái)傳送電力與接地。這些擁有專(zhuān)門(mén)用途的導(dǎo)線(xiàn)都有特別的名稱(chēng):VBUS(電源)、Ground(接地)、D+與D-(信號(hào)線(xiàn))。其中D+與D-是傳送USB數(shù)據(jù)的差分信號(hào)線(xiàn)。
圖4 由一對(duì)雙絞線(xiàn)組成差模信號(hào)傳輸線(xiàn)路
在全速與低速傳輸時(shí),這對(duì)信號(hào)線(xiàn)的差分電壓為+/-3V。 而在高速傳輸時(shí),這對(duì)信號(hào)線(xiàn)的差分電壓為+/-400mV。高速傳輸模式采用較低的電位有助于減少信號(hào)傳送的耗電量以及降低電磁干擾(EMI)。
當(dāng)設(shè)備剛插入時(shí),僅允許它吸入100mA的電流,只有當(dāng)確定設(shè)備為USB 2.0時(shí),才允許它吸入最高500mA的電流。
三、 如何確認(rèn)USB設(shè)備工作在1.0,1.1,還是2.0模式?
雖然今天的電腦提供兩個(gè)以上的USB端口,但有些只能用于USB1.0和USB 1.1的數(shù)據(jù)傳輸,并不能支持USB 2.0的數(shù)據(jù)傳輸。另外,從設(shè)備管理器中我們還可以看到,USB控制器保留了10%的帶寬,所以USB的帶寬只能達(dá)到理論帶寬的90%。當(dāng)我們把一個(gè)移動(dòng)硬盤(pán)插入電腦時(shí),系統(tǒng)并沒(méi)有告訴我們它的實(shí)際速率,Windows的設(shè)備管理器中也沒(méi)有顯示它的工作模式。這就是說(shuō),即便插入的設(shè)備可以工作,但是它是否達(dá)到了我們所期望數(shù)據(jù)傳輸速度,尚無(wú)法確認(rèn)。從這個(gè)意義上講,弄清楚它的工作模式是有實(shí)際意義的。
如何得知設(shè)備的實(shí)際工作模式呢?看來(lái)只有借助于第三方測(cè)試軟件了。下面以Travel star 40GB移動(dòng)硬盤(pán)為例,使用兩款軟件測(cè)試其數(shù)據(jù)傳輸率。
HD Tach是一款專(zhuān)用的硬盤(pán)速度測(cè)試軟件,測(cè)出的數(shù)據(jù)為:最大值23.8MB/s,最小值:13.8MB/s;平均值:20.0MB/s(圖5)。
圖5 HD Tach 2.70的測(cè)量結(jié)果
SiSoft Sandra Pro 2005 是一款系統(tǒng)信息測(cè)試軟件,該軟件的“文件系統(tǒng)測(cè)試”項(xiàng)可以測(cè)試硬盤(pán)(包括移動(dòng)硬盤(pán))的傳輸速率,測(cè)出的數(shù)據(jù)傳輸率為24MB/s(圖6)。
圖6 SiSoft Sandra Pro 2005 的測(cè)量結(jié)果
雖然兩款軟件測(cè)試結(jié)果不盡相同,卻說(shuō)明了同一個(gè)事實(shí):移動(dòng)硬盤(pán)確實(shí)工作在USB 2.0模式下,因?yàn)檫@些數(shù)據(jù)都超過(guò)了USB 1.1規(guī)范的最大理論值12MB/s。
四、USB 2.0 為何≠ 480Mbps
由上面這些測(cè)試數(shù)據(jù),我們已經(jīng)看到,USB2.0的設(shè)備,也未必就意味著它們就是以480Mbps的數(shù)據(jù)傳輸率進(jìn)行數(shù)據(jù)交換。這是因?yàn)椋?/p>
(1)傳輸線(xiàn)路的影響
由于USB 2.0 High-speed接口的傳輸速率是USB 1.1的40倍,二者的數(shù)據(jù)延長(zhǎng)線(xiàn)有明顯不同。仔細(xì)觀察USB 2.0 High-speed延長(zhǎng)線(xiàn)纜,通??煽吹?ldquo;USB Revision 2.0”或“High-speed USB”的標(biāo)注。如果使用不符合標(biāo)準(zhǔn)的或者劣質(zhì)的延長(zhǎng)線(xiàn),可能會(huì)導(dǎo)致傳輸率下降或讀寫(xiě)錯(cuò)誤。
(2)設(shè)備性能的限制
就目前來(lái)說(shuō),突發(fā)傳輸率能夠達(dá)到480Mbps的設(shè)備還不多見(jiàn)。硬盤(pán)的數(shù)據(jù)傳輸率最高,也沒(méi)有達(dá)到這個(gè)數(shù)值。與硬盤(pán)相比,閃存的讀寫(xiě)速度更慢一些,至少目前還達(dá)不到480Mps這么高的速度。
評(píng)論