簡而言之,USB
理解USB標準開始新的USB接口可能會讓人望而生畏。和USB 2.0規(guī)范在650頁的篇幅上,人們很容易因為標準的篇幅而被推遲。這只是一長串USB相關標準的開始。有USB類標準例如HID類規(guī)范,它詳細說明了HID(人機界面設備)類下的設備(鍵盤、鼠標等)的常見操作——只有另外97頁。如果您正在設計一個USB主機,那么您有三個主機控制器接口標準可供選擇。這些都沒有在usb2.0規(guī)范中詳細說明。
好消息是你甚至不需要費心去閱讀整個USB標準。有些章節(jié)是由市場營銷精心編寫的,有些章節(jié)針對的是通常由USB控制器IC負責的較低鏈路層,還有一些章節(jié)針對主機和集線器開發(fā)人員。通過一個小的章節(jié)讓我們簡單的介紹一下USB的各個章節(jié)。
章節(jié) | 姓名 | 說明 | 頁 |
1 | 介紹 | 包括USB的動機和范圍。本章最重要的信息是參考通用串行總線設備類規(guī)范。不用讀這一章。 | two |
2 | 術語和縮略語 | 這一章不言自明,對任何標準來說都是必要的。 | eight |
3 | 背景 | 指定USB的目標是即插即用和對最終用戶的簡單性(不是開發(fā)人員)。通過直接從市場營銷部獲得的功能列表介紹低速、全速和高速范圍。也不需要讀這一章。 | four |
4 | 體系結構概述 | 這是你可以開始閱讀的地方。本章提供USB系統(tǒng)的基本概述,包括拓撲結構、數(shù)據(jù)速率、數(shù)據(jù)流類型、基本電氣規(guī)格等。 | ten |
5 | USB數(shù)據(jù)流模型 | 本章開始討論數(shù)據(jù)如何在通用串行總線上流動。它引入了端點和管道等術語,然后將本章的大部分時間用于每種數(shù)據(jù)流類型(控制、中斷、同步和批量)。雖然了解每種傳輸類型及其屬性很重要,但對于第一個讀者來說這有點沉重。 | sixty |
6 | 機械的 | 本章詳細介紹了USB的兩個標準接口。這里的重要信息是,a型連接器面向下游,B型連接器面向上游。因此,不可能將電纜插入兩個上游端口。所有可拆卸電纜必須是全速/高速電纜,而任何低速電纜必須硬接線到設備。除了快速查看連接器,您可以跳過本章,除非您打算制造USB連接器和/或電纜。PCB設計人員可以在本章中找到標準封裝。 | thirty-three |
7 | 電氣 | 本章介紹低電平電信號,包括線路阻抗、上升/下降時間、驅動器/接收器規(guī)格和位級編碼、位填充等。本章更重要的部分是通過使用電阻器來對數(shù)據(jù)線和總線供電設備與自供電設備進行偏差的設備速度識別。除非你是在硅水平設計USB收發(fā)器,否則你可以翻閱本章。好的USB設備數(shù)據(jù)表將詳細說明總線阻抗匹配所需的總線終端電阻值。 | seventy-five |
8 | 協(xié)議層 | 現(xiàn)在我們開始進入?yún)f(xié)議層。本章描述了字節(jié)級的USB數(shù)據(jù)包,包括sync、pid、address、endpoint、CRC字段。一旦掌握了這一點,它就進入下一個協(xié)議層,即USB包。大多數(shù)開發(fā)人員仍然看不到這些較低的協(xié)議層,因為他們的USB設備IC負責這一點。然而,了解狀態(tài)報告和握手是值得的。 | forty-five |
9 | USB設備框架 | 這是整個規(guī)范中使用頻率最高的一章,也是我唯一一個費心打印和裝訂的章節(jié)。這詳細說明了總線枚舉和請求代碼(set address,get descriptor等),它們構成了USB程序員和設計人員將看到的最常見的協(xié)議層。本章必須詳細閱讀。 | thirty-six |
10 | USB主機硬件和軟件 | 本章涉及與主辦國有關的問題。這包括幀和微幀生成、主機控制器要求、軟件機制和通用串行總線驅動程序模型。除非您正在設計主機,否則可以跳過本章。 | twenty-three |
11 | Hub規(guī)格 | 詳細介紹USB集線器的工作原理,包括集線器配置、分割事務、集線器類的標準描述符等。除非您正在設計集線器,否則您可以跳過本章。 | one hundred and forty-three |
所以現(xiàn)在我們可以開始閱讀標準中與我們需要相關的部分。如果您為USB外設開發(fā)驅動程序(軟件),那么您可能只需要閱讀章節(jié),
4-建筑概述
5-USB數(shù)據(jù)流模型
9-USB設備框架,以及
10-USB主機硬件和軟件。
另一方面,外圍硬件(電子)設計師可能只需要閱讀章節(jié),
4-建筑概述
5-USB數(shù)據(jù)流模型
6-機械,以及
7-電氣
現(xiàn)在讓我們面對現(xiàn)實,(1)我們大多數(shù)人都是來開發(fā)USB外設的,(2)讀一個標準很常見,但仍然不知道如何實現(xiàn)一個設備。因此在接下來的7章中,我們將重點介紹開發(fā)USB設備所需的相關部分。這使您能夠掌握USB及其問題,從而進一步研究特定于您的應用程序的問題。
USB1.1標準在高速傳輸?shù)経SB2.0之前已經足夠復雜了。為了幫助理解USB背后的基本原理,我們省略了許多高速設備特有的領域。
介紹通用串行總線USB版本1.1支持兩種速度,一種是12Mbits/s的全速模式,另一種是1.5Mbits/s的低速模式。1.5Mbits/s模式速度較慢,不易受電磁干擾影響,因此降低了鐵氧體磁珠和優(yōu)質元件的成本。例如,晶體可以用更便宜的諧振器代替。USB2.0在主流臺式機上還沒有見到曙光,它已經把****注提高到480Mbits/s。480Mbits/s被稱為高速模式,是與Firewire串行總線競爭的一種手段。
USB速度
高速-480Mbits/s
全速-12Mbits/s
低速-1.5Mbits/s
通用串行總線由主機控制。每個總線只能有一個主機。規(guī)范本身不支持任何形式的多主控排列。但是隨動規(guī)范作為usb2.0的一個附加標準,它引入了一個主機協(xié)商協(xié)議,允許兩個設備協(xié)商主機的角色。這是針對并僅限于單點對點連接,例如移動電話和個人事務管理器,而不是多個集線器、多設備桌面配置。USB主機負責處理所有事務和調度帶寬??梢允褂没诹钆频膮f(xié)議通過各種事務方法發(fā)送數(shù)據(jù)。
在我看來,USB的總線拓撲結構有一定的局限性。USB的初衷之一是減少電腦背面的布線量。蘋果的人會說,這個想法來自蘋果桌面總線,在那里鍵盤、鼠標和其他一些外圍設備可以通過一根電纜連接在一起(菊花鏈)。
然而,USB使用分層星形拓撲結構,與10BaseT以太網相似。這就要求在某處使用集線器,這增加了更大的開銷,桌面上有更多的盒子和更多的電纜。不過,這并不像看上去那么糟糕。許多設備都集成了USB集線器。例如,您的鍵盤可能包含一個連接到您的計算機的集線器。鼠標和其他設備(如數(shù)碼相機)可以輕松地插入鍵盤背面。監(jiān)視器只是一長串通常有內置集線器的外圍設備。
這種分層的星形拓撲結構,而不是簡單地將設備串接在一起有一些好處。首先,可以監(jiān)控每個設備的電源,如果發(fā)生過電流情況,甚至可以在不中斷其他USB設備的情況下關閉電源。高速、全速和低速設備都可以支持,集線器過濾掉高速和全速事務,這樣低速設備就不會接收到它們。
在任何一個給定的時間,最多可以將127個設備連接到任何一個USB總線。需要更多設備嗎只需添加另一個端口/主機。雖然大多數(shù)早期的USB主機都有兩個端口,但大多數(shù)制造商認為這是一種限制,并開始引入4端口和5端口主機卡以及硬盤等的內部端口。早期的主機有一個USB控制器,因此兩個端口共享相同的可用USB帶寬。隨著帶寬需求的增長,我們開始看到帶有兩個或更多控制器的多端口卡允許單獨的通道。
USB主機控制器有自己的規(guī)格。對于USB1.1,有兩種主機控制器接口規(guī)格, 通用主機控制器接口由Intel開發(fā),它將更多的負擔放在軟件(Microsoft)上,并允許更便宜的硬件和開放式主機控制器接口由康柏公司、微軟公司和國家半導體公司共同開發(fā),它將更多的負擔放在硬件(英特爾)上,并使軟件變得更簡單。典型的硬件/軟件工程師關系。
隨著usb2.0的引入,需要一個新的主機控制器接口規(guī)范來描述特定于usb2.0的寄存器級細節(jié)。這個增強型主機接口出生了。重要的貢獻者包括Intel、Compaq、NEC、Lucent和Microsoft,因此希望它們能夠聯(lián)合起來,為我們提供一個接口標準,從而只有一個新的驅動程序可以在我們的操作系統(tǒng)中實現(xiàn)。是時候了。
USB顧名思義就是串行總線。它使用4根屏蔽線,其中2根為電源(5v和GND)。其余兩個是雙絞線差分數(shù)據(jù)信號。它使用NRZI(Non-Return to Zero Invert)編碼方案發(fā)送帶有同步字段的數(shù)據(jù),以同步主機和接收器的時鐘。
USB支持plug'n'plug與動態(tài)可加載和不可加載的驅動程序。用戶只需將設備插入總線即可。主機將檢測到這個添加,詢問新插入的設備,并在沙漏閃爍的時間內加載相應的驅動程序,前提是為您的設備安裝了驅動程序。最終用戶不必擔心終止,諸如irq和端口地址之類的術語,或者重新啟動計算機。一旦用戶完成,他們可以簡單地將電纜拔出,主機將檢測到它的缺失并自動卸載驅動程序。
使用PID/VID(產品ID/供應商ID)組合加載相應的驅動程序。VID是由USB實現(xiàn)者的論壇以一定的成本提供的,這被視為USB的另一個癥結。有關費用的最新信息,請訪問USB實施者網站
其他標準組織為非商業(yè)活動提供額外的視頻,如教學、研究或玩弄(業(yè)余愛好者)。USB實現(xiàn)者論壇還沒有提供這項服務。在這些情況下,您可能希望使用分配給開發(fā)系統(tǒng)制造商的一個。例如,大多數(shù)芯片制造商將有一個VID/PID組合,您可以使用您的芯片,這是眾所周知的不存在的商業(yè)設備。其他芯片制造商甚至可以賣給你一個PID,與他們的視頻一起用于你的商業(yè)設備。
USB的另一個更顯著的特點是它的傳輸模式。USB支持控制、中斷、批量和同步傳輸。稍后我們將討論其他傳輸模式,Isochronous允許設備在保證延遲的情況下保留一定數(shù)量的帶寬。這是音頻或視頻應用程序的理想選擇,在這些應用程序中,擁塞可能會導致數(shù)據(jù)或幀的丟失。每種傳輸模式在錯誤檢測和恢復、保證的延遲和帶寬等方面為設計者提供了權衡。