USB小知識(shí)
USB小知識(shí)
1、即插即用(Plug-and-Play)
USB比較于其他傳統(tǒng)接口的一個(gè)優(yōu)勢(shì)是即插即用的實(shí)現(xiàn),即插即用(Plug-and-Play)也可以叫做熱插拔(Hot Plugging)。對(duì)于用戶(hù)來(lái)講,第一次插入U(xiǎn)SB外設(shè),自動(dòng)或手動(dòng)安裝驅(qū)動(dòng)程序,他就應(yīng)該可以使用這個(gè)外設(shè)了,這是很友好的用戶(hù)體驗(yàn)。如果操作系統(tǒng)提示你重新啟動(dòng)電腦,說(shuō)明這個(gè)外設(shè)沒(méi)有實(shí)現(xiàn)即插即用,從嚴(yán)格意義上來(lái)講,這并不是一個(gè)USB的外設(shè)。如果告訴用戶(hù)這是應(yīng)該的,就是在欺騙用戶(hù)。對(duì)于微軟來(lái)說(shuō),如果外設(shè)沒(méi)有實(shí)現(xiàn)即插即用,就無(wú)法獲得WHQL認(rèn)證。而對(duì)于USB IF(USB 實(shí)現(xiàn)者論壇)來(lái)說(shuō),如果外設(shè)沒(méi)有實(shí)現(xiàn)即插即用,就無(wú)法獲得USB的認(rèn)證,不能使用USB的標(biāo)識(shí)。這個(gè)標(biāo)識(shí)可以在USB的官方網(wǎng)站www.usb.org看到(本文的下面也有),由于在USB2.0規(guī)范發(fā)布之后,USB IF改變了原先的標(biāo)識(shí),有些制造商仍使用原先的標(biāo)識(shí),這其實(shí)也是在欺騙用戶(hù)?/P>
USB的外設(shè)有很多,其中有很多外設(shè)有相似的特性,這些外設(shè)被歸為某一類(lèi),例如鍵盤(pán)、鼠標(biāo)等為HID類(lèi),音響產(chǎn)品為Audio類(lèi),硬盤(pán)、CD-ROM、Flash 為 Mass Storage類(lèi)。微軟為一些常用類(lèi)提供了類(lèi)驅(qū)動(dòng)程序,如果一個(gè)外設(shè)設(shè)計(jì)滿(mǎn)足該類(lèi)的規(guī)范,在第一次插入PC時(shí),操作系統(tǒng)可以自動(dòng)識(shí)別到,并且自動(dòng)調(diào)用該類(lèi)驅(qū)動(dòng)程序,這就是所謂的自動(dòng)安裝。目前Windows能支持的類(lèi)驅(qū)動(dòng)程序只有HID、Audio和MassStorage,除此之外制造商必須提供自己的驅(qū)動(dòng)程序。很不幸,USB轉(zhuǎn)串口的應(yīng)用就屬于這種情況,這就需要所謂的手動(dòng)安裝。手動(dòng)安裝有兩種可能,一種是在第一次插入U(xiǎn)SB時(shí),系統(tǒng)會(huì)提示用戶(hù)安裝驅(qū)動(dòng)程序,用戶(hù)可以根據(jù)彈出窗口的提示進(jìn)行安裝,這時(shí)可能需要用戶(hù)做一些搜索,有些用戶(hù)可能會(huì)覺(jué)得這樣不太方便;所以另一種方法是提供一個(gè)安裝程序,將所有有關(guān)的應(yīng)用/驅(qū)動(dòng)程序打包在一起,一次性安裝完成。如果驅(qū)動(dòng)程序沒(méi)有獲得WHQL認(rèn)證,在安裝過(guò)程中需要用戶(hù)用鼠標(biāo)點(diǎn)擊一到二次“繼續(xù)”和“完成”;而如果驅(qū)動(dòng)程序獲得WHQL認(rèn)證,就無(wú)需這么麻煩,這也可稱(chēng)為安靜安裝(Silent Install)。
2、USB多串口協(xié)議(UMP)
在安裝USB轉(zhuǎn)串口設(shè)備時(shí),用戶(hù)發(fā)現(xiàn)會(huì)出現(xiàn)二個(gè)步驟,一個(gè)是在接口(并串口)下有一個(gè)USB設(shè)備,另一個(gè)就是USB多串口協(xié)議(UMP)。其實(shí)這是正確的,首先USB轉(zhuǎn)串口的設(shè)備是用來(lái)模擬一個(gè)串口
(COM),所以是一個(gè)虛擬的COM口;其次這是一個(gè)USB轉(zhuǎn)串口的橋,它必須遵循USB多串口協(xié)議。在外設(shè)的“設(shè)備描述器”(Device Description)中,這個(gè)設(shè)備是一個(gè)USB轉(zhuǎn)串口的橋,每次外設(shè)接入時(shí),操作系統(tǒng)會(huì)去讀這個(gè)“設(shè)備描述器”來(lái)了解接入的是什么設(shè)備,并把它加入到“設(shè)備管理器”中(Device Manager)。這是第一步,之后操作系統(tǒng)知道這個(gè)外設(shè)是要實(shí)現(xiàn)一個(gè)虛擬的串口,所以在COM下會(huì)加上USB設(shè)備。有一些應(yīng)用中,只出現(xiàn)一個(gè)虛擬串口,而沒(méi)有USB多串口協(xié)議。其實(shí)這是在驅(qū)動(dòng)程序上作了手腳,屏蔽了很關(guān)鍵的第一步,沒(méi)有向操作系統(tǒng)報(bào)告設(shè)備的屬性。這樣做看似簡(jiǎn)單了,但根本沒(méi)有可能獲得WHQL認(rèn)證,也無(wú)法得到USB的認(rèn)證。
3、500mA的總線供電模式
USB的規(guī)范中規(guī)定一個(gè)USB的根集線器(root hub)最多只能提供500mA的電流,這一方面是為了減輕PC機(jī)的負(fù)擔(dān),另一方面是保護(hù)USB的主控制器(Host Controller),目前USB主控制器往往集成在南橋中。理論上來(lái)講,任何一個(gè)USB Hub應(yīng)該使用一個(gè)電源開(kāi)關(guān)來(lái)防止過(guò)電流,但目前至少有10%以上的主板沒(méi)有使用電源開(kāi)關(guān)或使用一些低性能的元器件以節(jié)省成本。
當(dāng)外設(shè)需要多于500mA的電流時(shí),就需要采用自供電模式了。這對(duì)于USB硬盤(pán)的應(yīng)用是一個(gè)瓶頸,也是一個(gè)挑戰(zhàn)。2.5英寸以上的硬盤(pán)本身就需要超過(guò)500mA,所以必須自供電,自供電可以使用電池,也可以使用穩(wěn)壓源,這對(duì)于移動(dòng)設(shè)備來(lái)說(shuō)都不是理想的方法。有一種折衷的方法是連接兩個(gè)USB口,可以獲得兩倍的電流-1A。這是沒(méi)有辦法的辦法,同樣無(wú)法WHQL和USB認(rèn)證。操作起來(lái)也很麻煩,必須先接上供電口,再接上設(shè)備口等等。好消息是硬盤(pán)的尺寸越來(lái)越小型化,耗電越來(lái)越省。1.8、1.5、1英寸的硬盤(pán)已被廣泛應(yīng)用,性能越來(lái)越穩(wěn)定,這些硬盤(pán)的耗電在300mA之內(nèi),如果USB控制芯片的耗電能控制在200mA之內(nèi),就可以真正實(shí)現(xiàn)由總線來(lái)供電。TI的TUSB6250就是業(yè)界第一片實(shí)現(xiàn)總線供電的USB2.0高速(480Mbps)轉(zhuǎn)ATA/ATAP的解決方案。
4、USB與ATA/ATAPI的沖突
USB轉(zhuǎn)ATA/ATAPI橋的控制器存在一些內(nèi)在的沖突,原因在于橋的兩邊都試圖要控制橋本身,例如USB和ATA/ATAPI都向往橋發(fā)送數(shù)據(jù)或接收數(shù)據(jù),可以把這稱(chēng)為競(jìng)爭(zhēng),這時(shí)候橋無(wú)法解決優(yōu)先權(quán)的話,數(shù)據(jù)的傳送就停了下來(lái)。更嚴(yán)重的是橋還無(wú)法把這種狀況通知PC機(jī)和硬盤(pán),PC機(jī)和硬盤(pán)仍然不斷地嘗試,卻沒(méi)有出錯(cuò)信息提示給用戶(hù),用戶(hù)就會(huì)很困惑,不知道發(fā)生了什么情況。這時(shí)候除了關(guān)機(jī)重新啟動(dòng)電腦,別無(wú)他法。
USB的Mass Storage類(lèi)規(guī)范共總結(jié)出13種不同的沖突,這些沖突從標(biāo)準(zhǔn)本身已無(wú)法解決,只能用硬件或軟件的方法來(lái)解決。TI的TUSB6250就很好地處理和解決了這個(gè)難題,其實(shí)就是增加了對(duì)競(jìng)爭(zhēng)的仲裁,解決了優(yōu)先權(quán)的判斷,在同一時(shí)間只允許一個(gè)控制邏輯來(lái)控制總線,不會(huì)發(fā)生總線的堵塞。
評(píng)論