USB技術(shù)白皮書(shū)
USB的優(yōu)點(diǎn)有以下幾條:
本文引用地址:http://butianyuan.cn/article/186538.htm1.USB為所有的USB外設(shè)提供了單一的、易于操作的標(biāo)準(zhǔn)的連接類型。這樣一來(lái)就簡(jiǎn)化了USB外設(shè)的設(shè)計(jì),同時(shí)也簡(jiǎn)化了用戶在判斷哪個(gè)插頭對(duì)應(yīng)哪個(gè)插槽時(shí)的任務(wù),實(shí)現(xiàn)了單一的數(shù)據(jù)通用接口。
2.USB排除了各個(gè)設(shè)備象鼠標(biāo)、調(diào)制解調(diào)器、鍵盤(pán)和打印機(jī)設(shè)備對(duì)去系統(tǒng)資源的需求,因而減少了硬件的復(fù)雜性和對(duì)端口的占用,整個(gè)的USB的系統(tǒng)只有一個(gè)端口和一個(gè)中斷,節(jié)省了系統(tǒng)資源。
3.USB支持熱插拔(hotplug),也就是說(shuō)在不關(guān)PC的情況下可以安全的插上和斷開(kāi)USB設(shè)備,動(dòng)態(tài)的加載驅(qū)動(dòng)程序。其他普通的外圍連接標(biāo)準(zhǔn),如SCSI設(shè)備等必須在關(guān)掉主機(jī)的情況下才能增加或移走外圍設(shè)備。
4.USB支持PNP。當(dāng)插入U(xiǎn)SB設(shè)備的時(shí)候,計(jì)算機(jī)系統(tǒng)檢測(cè)該外設(shè)并且通過(guò)自動(dòng)的加載相關(guān)的驅(qū)動(dòng)程序來(lái)對(duì)該設(shè)備進(jìn)行配置,并使其正常工作。
5.USB在設(shè)備供電方面提供了靈活性。USB直接連接到Hub或者是連接到Host的設(shè)備可以通過(guò)USB電纜供電,也可以通過(guò)電池或者其它的電力設(shè)備來(lái)供電,或使用兩種供電方式的組合.并且支持節(jié)約能源的掛機(jī)和喚醒模式。
6.USB提供全速12Mbps的速率和低速1.5Mbps的速率來(lái)適應(yīng)各種不同類型的外設(shè)。
7.針對(duì)不能處理突然發(fā)生的非連續(xù)傳送的設(shè)備,如音頻和視頻設(shè)備,USB可以保證其固定帶寬。
8.為了適應(yīng)各種不同類型外圍設(shè)備的要求,USB提供了四種不同的數(shù)據(jù)傳送類型。
9.USB使得多個(gè)外圍設(shè)備可以跟主機(jī)通信。
USB的目的:1,使用方便2,可以提供實(shí)時(shí)的數(shù)據(jù)給PC3,端口的靈活擴(kuò)展性
USB標(biāo)準(zhǔn)可以www.usb.org/developer中找到,并且你還可以在該站點(diǎn)找到另外的一個(gè)USB的測(cè)試工具:usbcomp.exe,它包含一個(gè)usbcheck的工具可以檢測(cè)到設(shè)備是否一些USB的高層次的要求。同時(shí)它還有一個(gè)usbcheck的工具可以檢測(cè)HID(humaninterfacedevice)的設(shè)備。而Win98還有一個(gè)Ignorehubs(Memphisonly)的檢測(cè)窗口。在W2KDDK中包含的一個(gè)USBView的工具可以看出系統(tǒng)中所有的USB總線以及USB總線上的所有的設(shè)備。
每一個(gè)設(shè)備(device)會(huì)有一個(gè)或者多個(gè)的邏輯連接點(diǎn)在里面,每個(gè)連接點(diǎn)叫endpoint.每個(gè)endpoint有四種數(shù)據(jù)傳送方式:控制(Control)方式傳送;同步(isochronous)方式傳送;中斷(interrupt)方式傳送;大量(bulk)傳送.但是所有的endpoint0都被用來(lái)傳送配置和控制信息。
在host和設(shè)備的endpoint之間的連接叫作管道“pipe,endpoint0叫做缺省(defaultpipe)。
對(duì)于同樣性質(zhì)的一組的endpoint的組合叫做接口(interface),如果一個(gè)設(shè)備包含不止一個(gè)的接口就可以稱之為復(fù)合設(shè)備(compositedevice)。
同樣的道理,對(duì)于同樣的類型的接口的組合可以稱之為“配置(configuration)。但是每次只能有一個(gè)配置是可用的,而一旦該配置激活,里面的接口和endpoint就都同時(shí)可以使用。
host從設(shè)備發(fā)過(guò)來(lái)的描述字(descrīptors)中來(lái)判斷用的是哪個(gè)配置,哪個(gè)接口等等,而這些的描述字通常是在endpoint0中傳送。
傳輸方式
在USB的數(shù)據(jù)傳送的方式下,有四種的傳輸方式:控制(Control)同步(isochronous)中斷(interrupt)大量(bulk)。如果你是從硬件開(kāi)始來(lái)設(shè)計(jì)整個(gè)的系統(tǒng),你還要正確選擇傳送的方式,而作為一個(gè)驅(qū)動(dòng)程序的書(shū)寫(xiě)者,就只需要弄清楚他是采用的什么工作方式就行了。
通常所有的傳送方式下的主動(dòng)權(quán)都在PC邊,也就是host邊。
·控制(Control)方式傳送:控制傳送是雙向傳送,數(shù)據(jù)量通常較小。USB系統(tǒng)軟件用來(lái)主要進(jìn)行查詢、配置和給USB設(shè)備發(fā)送通用的命令??刂苽魉头绞娇梢园?、16、32和64字節(jié)的數(shù)據(jù),這依賴于設(shè)備和傳輸速度??刂苽鬏?shù)湫偷赜迷谥饔?jì)算機(jī)和USB外設(shè)之間的端點(diǎn)(Endpoint)0之間的傳輸,但是指定供應(yīng)商的控制傳輸可能用到其它的端點(diǎn)。
·同步(isochronous)方式傳送:同步傳輸提供了確定的帶寬和間隔時(shí)間(latency)。它被用于時(shí)間嚴(yán)格并具有較強(qiáng)容錯(cuò)性的流數(shù)據(jù)傳輸,或者用于要求恒定的數(shù)據(jù)傳送率的即時(shí)應(yīng)用中。例如執(zhí)行即時(shí)通話的網(wǎng)絡(luò)電話應(yīng)用時(shí),使用同步傳輸模式是很好的選擇。同步數(shù)據(jù)要求確定的帶寬值和確定的最大傳送次數(shù)。對(duì)于同步傳送來(lái)說(shuō),即時(shí)的數(shù)據(jù)傳遞比完美的精度和數(shù)據(jù)的完整性更重要一些。
·中斷(interrupt)方式傳送:中斷方式傳輸主要用于定時(shí)查詢?cè)O(shè)備是否有中斷數(shù)據(jù)要傳送。設(shè)備的端點(diǎn)模式器的結(jié)構(gòu)決定了它的查詢頻率,從1到255ms之間。這種傳輸方式典型的應(yīng)用在少量的分散的、不可預(yù)測(cè)數(shù)據(jù)的傳輸。鍵盤(pán)、操縱桿和鼠標(biāo)就屬于這一類型。中斷方式傳送是單向的并且對(duì)于host來(lái)說(shuō)只有輸入的方式。
大量(bulk)傳送:主要應(yīng)用在數(shù)據(jù)大量傳送傳送和接受數(shù)據(jù)上,同時(shí)又沒(méi)有帶寬和間隔時(shí)間要求的情況下,要求保證傳輸。打印機(jī)和掃描儀屬于這種類型。這種類型的設(shè)備適合于傳輸非常慢和大量被延遲的傳輸,可以等到所有其它類型的數(shù)據(jù)的傳送完成之后再傳送和接收數(shù)據(jù)。
還有很多有關(guān)USB的接口規(guī)范,以及低層的硬件接口編程,內(nèi)容是非常煩雜,這里就略過(guò),在這里只是想大家在理論的層面上對(duì)USB有一個(gè)認(rèn)識(shí),所以文章難度相對(duì)較高,適合對(duì)這方面感興趣的高手瀏覽。
評(píng)論