如何為具體應用選擇USB總線(xiàn)
為了理解為什么USB會(huì )成為如今的通用總線(xiàn),讓我們看一下早期的PC:它有一個(gè)DOS操作系統和一個(gè)鍵盤(pán),但沒(méi)有圖形用戶(hù)接口(GUI)。絕大多數的PC在機箱內沒(méi)有硬盤(pán)驅動(dòng)器,也沒(méi)有外部存儲。沒(méi)有萬(wàn)維網(wǎng),也無(wú)需外部網(wǎng)絡(luò )連接。因此,除了通常用并口連接的打印機之外,需要的外設很少。
本文引用地址:http://dyxdggzs.com/article/148795.htm隨著(zhù)Windows引入GUI,開(kāi)始需要一個(gè)備選的輸入設備(HDI)。如今,鼠標變成必需的設備。這種新連接,以及對訪(fǎng)問(wèn)網(wǎng)絡(luò )的需求,要求PC采用一個(gè)串口或COM口。那時(shí),絕大多數PC采用P/S-2或專(zhuān)用接口用于鍵盤(pán)和鼠標。
不過(guò),這些外設接口都有一些缺點(diǎn)。它們無(wú)法進(jìn)行接口擴展,只能連接有限的外設;它們的性能有限;另外也缺乏一個(gè)標準的連接。每個(gè)外設提供商都必須決定采用什么樣的接口,然后提供所需的驅動(dòng)程序,這對用戶(hù)來(lái)說(shuō)也是頗為頭痛的事情。
最終,每人都需要連接外設到PC,但過(guò)程是復雜的和令人糊涂的。絕大多數人不知道該用什么接口,也沒(méi)有人知道某種接口的限制。最后,導致一批權威的業(yè)界領(lǐng)導一起來(lái)定義一個(gè)新的通用PC外設連接,來(lái)替代復雜的傳統連接。
該規范定義了一個(gè)簡(jiǎn)單的四線(xiàn)接口,這是一個(gè)點(diǎn)對點(diǎn),使用方便的以主機為目標架構的接口??梢岳靡粋€(gè)集線(xiàn)器來(lái)實(shí)現總線(xiàn)擴展,并連接到其它的USB目標設備。另外,定義主機目標架構大大降低了成本,因為絕大部分的“大腦”控制功能包含在采用CPU控制的PC中。
USB的架構定義
USB是一個(gè)以主機為中心的總線(xiàn),在這種總線(xiàn)中,由主機發(fā)起所有的數據轉移,包括出站和入站。該規范定義了三種基本的設備類(lèi)型:即主機控制器;集線(xiàn)器和功能模塊(即外設或目標模塊);以及一個(gè)復合設備(集線(xiàn)器加“集成”外設)。
內部的物理連接是一個(gè)層疊的星型拓撲結構,集線(xiàn)器位于每個(gè)星的中心(圖1)。每個(gè)線(xiàn)段是一個(gè)位于主機和集線(xiàn)器或功能塊之間的點(diǎn)對點(diǎn)連接,或者是從一個(gè)集線(xiàn)器連接到另一個(gè)集線(xiàn)器或功能塊。由于時(shí)序的限制,所允許的最大層數為7層(包括根層)。在主機和任何設備之間,通信信道可以支持最多達5層的非根層集線(xiàn)器。一個(gè)復合設備占用兩層。復合設備不能依附于第7層,在這一層只能使用功能塊,其他將不能用。地址結構允許一個(gè)集線(xiàn)器連接的設備最多達127臺。集線(xiàn)器和外設可以任意組合。一臺復合或混合設備占用兩臺或更多的設備。
USB主機控制器
在任何的USB系統中都只有一臺主機。這與網(wǎng)絡(luò )架構的定義不同,USB規范只是想實(shí)現外設到PC的方便連接。主機的實(shí)現的方法可能是硬件,固件或軟件的結合。典型的USB主機PC實(shí)現是內核邏輯芯片集的一部分。該主控制器設備利用PC CPU來(lái)實(shí)現其運算功能,利用系統存儲器來(lái)存儲數據和轉移,而在總體實(shí)現中利用OS。所有的主機需要在系統中集成一個(gè)根集線(xiàn)器。
當今的OS已包括各種驅動(dòng)設備。這就為外設制造商節約了驅動(dòng)設備的研發(fā)成本,維護成本和運輸成本。通常常用的驅動(dòng)設備包括音頻、HID、圖像、存儲、打印機和視頻。許多制造商充分利用了這些驅動(dòng)設備來(lái)實(shí)現它們的功能,但也會(huì )選用一個(gè)定制驅動(dòng)設備或應用軟件來(lái)擴展功能。

圖1:層疊星形拓撲結構的內部物理連接。
USB集線(xiàn)器
可以將集線(xiàn)器視為一個(gè)分配器和轉發(fā)器的結合。集線(xiàn)器提供USB設備和主機之間的電接口,并直接負責支持USB用戶(hù)友好方面的許多屬性。它提供比主機能夠提供的更多的連接點(diǎn),并將來(lái)自上游端口的業(yè)務(wù)流重播到下游的端口上。集線(xiàn)器檢測下游端口的連接和斷開(kāi),并上報主機。集線(xiàn)器必須能夠支持下游端口所連接的USB外設的各種不同速率,并檢測和恢復連接中的總線(xiàn)故障。此外,集線(xiàn)器還管理為下游端口提供的電源,并將與此相關(guān)的任何問(wèn)題報告給主機。該規范定義了兩種不同的用于集線(xiàn)器的電源類(lèi)型,即總線(xiàn)和自供電。
總線(xiàn)供電方式從上游端口吸取功率。它只能從供電的上游端口吸取100mA的電流,而最終的配置后的電流可達到500mA。滿(mǎn)配置功率在集線(xiàn)器、任一個(gè)不可拆卸的功能塊或外部端口之間進(jìn)行分配。它必須為每個(gè)下游端口提供100mA。這就限定了總線(xiàn)供電集線(xiàn)器上的下游端口的數量不超過(guò)4個(gè)。因為每個(gè)端口需要100mA,因此四個(gè)下游端口需要400mA。因為第五個(gè)下游端口也需要100mA,因而為集線(xiàn)器自身留下的電流為0mA。一個(gè)總線(xiàn)供電的集線(xiàn)器可以有4個(gè)外置下游端口,一個(gè)或多于一個(gè)的非外置下游端口——假定集線(xiàn)器和所有連接到非外置端口的所有功能塊消耗的總電流少于100mA。
自供電的集線(xiàn)器從本地電源(即墻體電源)提取功率。一個(gè)自供電的集線(xiàn)器將從其上游端口吸取高達100mA的電流,在集線(xiàn)器的其余部分的電源關(guān)斷時(shí),允許接口為功能塊供電。一個(gè)自供電的集線(xiàn)器需要為每個(gè)下游端口提供500mA。規范沒(méi)有限制一個(gè)自供電的集線(xiàn)器所能連接的下游端口數量,但出于供電的考慮通常限制到7個(gè)或更少一點(diǎn)。一個(gè)7端口的集線(xiàn)器必須能夠為功能塊提供大于3.5A(500mA/每端口)的電流。
USB外設
今天的USB外設包括鼠標,存儲器棒,外驅?zhuān)銛y式音頻播放器和數碼相機。根據規范,一個(gè)外設是一個(gè)能夠執行某項特定功能的邏輯或物理實(shí)體。最低級別的外設指的是一個(gè)單獨的硬件部件(即閃存)。而高級別的外設指的是一系列執行特定功能的硬件部件(即:鍵盤(pán),生物指紋識別閱讀器和顯示設備)。
外設支持四種類(lèi)型的數據發(fā)送??刂瓢l(fā)送器為主機提供有關(guān)所連接的設備的類(lèi)型和功能。其余的三個(gè)(中斷,整塊(bulk),或同步)也都包含控制發(fā)送,不過(guò)只是專(zhuān)用于數據發(fā)送控制應用。中斷發(fā)送在外設需要主機對其進(jìn)行周期性的輪詢(xún)以檢查是否有數據需要發(fā)送時(shí)使用。當數據的完整性的重要性高于數據的延遲時(shí),整塊發(fā)送在主機系統和外設(打印機,存儲設備等)之間傳遞數據。這包括錯誤校驗,以及發(fā)現錯誤后的重發(fā)。當數據流的實(shí)時(shí)性高于其精度(即網(wǎng)絡(luò )攝影,講話(huà)和麥克風(fēng))的情況下,同步發(fā)送實(shí)時(shí)轉移數據。
規范中規定了兩種供電類(lèi)型:總線(xiàn)供電和自供電?;诳偩€(xiàn)供電又被分為低功率和高功率兩種。這兩種都從上游連接點(diǎn)獲取電源。對于低功率,基于總線(xiàn)供電的設備恒定地吸納100mA電流,而對于高功率設備,在配置之前可以吸納100mA電流,而在工作期間可以吸納最高達500mA的電流。對于自供電設備,當從上游連接點(diǎn)提取電流時(shí),具體的限制與自供電的集線(xiàn)器一樣。它們可以吸納100mA的電流使USB接口能夠工作,而其余的功能將會(huì )斷電。所有其他的功率將由外部電源提供。此外,所有外設必須支持低功耗掛起狀態(tài),此時(shí)所吸納的電流小于500uA,該功率足以使計算機能夠喚醒掛起的設備。
評論