序列程式設計/USB
序列程式設計: 簡介和 OSI 網路模型 -- RS-232 線路和連線 -- 典型的 RS232 硬體配置 -- 8250 UART -- DOS -- MAX232 驅動器/接收器系列 -- Windows 中的 TAPI 通訊 -- Linux 和 Unix -- Java -- Hayes 相容調變解調器和 AT 命令 -- 通用序列匯流排 (USB) -- 形成資料包 -- 糾錯方法 -- 雙向通訊 -- 資料包恢復方法 -- 序列資料網路 -- 實際應用程式開發 -- 序列連線上的 IP
USB 代表“通用序列匯流排”。它是在 1990 年代中期開發的行業標準,定義了用於匯流排連線、通訊和計算機與電子裝置之間電源的線纜、聯結器和通訊協議。USB 的目的是標準化計算機外設(包括鍵盤、指示裝置、數碼相機、印表機、行動式媒體播放器、磁碟驅動器和網路介面卡)與個人計算機的連線,既用於通訊,也用於提供電力。它也已成為其他裝置(如智慧手機、PDA 和影片遊戲機)的常見功能。USB 實際上已經取代了各種早期的介面,如序列埠和並行埠。
USB 快閃記憶體盤是透過 USB 埠插入和供電的記憶體裝置。它們儲存需要輕鬆訪問的資訊和資料。這些裝置便攜且方便人們隨時使用。USB 埠是學生以及商業僱員或人員的常見必需品。除了方便之外,它們的儲存容量從 1GB 到 64GB 不等,因此終端使用者能夠儲存與小型計算機一樣多的資訊。

USB 透過一系列集線器將多個裝置連線到主機控制器。在 USB 術語中,裝置被稱為功能,因為每個單獨的物理裝置實際上可能託管多個功能,例如帶有內建麥克風的網路攝像頭。集線器是專用裝置,官方上不被視為功能。始終存在一個被稱為根集線器的集線器,它直接連線到主機控制器。
這些裝置/功能(和集線器)具有關聯的管道(邏輯通道)。管道等同於 Unix 管道中的位元組流。管道是從主機控制器到裝置上名為端點的邏輯實體的連線。術語端點有時也用於指代整個管道。
這些端點(及其各自的管道)在每個方向上編號為 0-15,因此一個裝置/功能可以擁有最多 32 個活動管道,其中 16 個進入主機控制器,16 個離開控制器。
每個端點只能在一個方向上傳輸資料,要麼進入裝置/功能,要麼離開裝置/功能,因此每個管道都是單向的。但是,端點 0 用於雙向匯流排管理,因此佔用 32 個端點中的兩個——所有 USB 裝置都要求實現端點 0,因此在任何給定裝置上始終存在一個編號為 0 的內向和外向管道。
在這些管道中,資料以不同長度的資料包進行傳輸。每個管道都有一個最大資料包長度,通常為 位元組,因此 USB 資料包通常包含大約 8、16、32、64、128、256 到 512 位元組的資料。
管道還透過它們的傳輸型別劃分為四種不同的類別
- 控制傳輸 - 通常用於向裝置傳送簡短的簡單命令,以及狀態響應,例如由匯流排控制管道編號 0 使用
- 等時傳輸 - 以某種保證的速度(通常但不一定是儘可能快)進行,但可能會丟失資料,例如即時音訊或影片
- 中斷傳輸 - 需要保證快速響應(有限延遲)的裝置,例如指示裝置和鍵盤
- 塊傳輸 - 使用所有剩餘可用頻寬進行的大量零星傳輸(但不對吞吐量或延遲提供保證),例如檔案傳輸
當裝置(功能)或集線器透過總線上的任何集線器連線到主機控制器時,它會由主機控制器在總線上分配一個唯一的 7 位地址。
然後,主機控制器通常以迴圈方式輪詢匯流排以查詢流量,因此沒有裝置可以在沒有主機控制器的明確請求的情況下在總線上傳輸任何資料。相應端點上的中斷傳輸實際上不會中斷總線上的任何流量:它們只是被安排更頻繁地查詢,並在任何其他大型傳輸之間查詢,因此 USB 總線上的“中斷流量”實際上只是高優先順序流量。
要訪問端點,必須獲得分層配置。連線到匯流排的裝置有一個(且只有一個)裝置描述符,它反過來有一個或多個配置描述符。這些配置通常對應於狀態,例如活動狀態與低功耗模式。每個配置描述符反過來又有一個或多個介面描述符,它們描述裝置的某些方面,以便它可以用於不同的目的:例如,相機可以同時具有音訊和影片介面。這些介面描述符反過來又具有一個預設介面設定,以及可能更多的備用介面設定,這些設定又具有端點描述符,如上所述。但是,端點可以在多個介面和備用介面設定之間重複使用。

包含主機控制器和根集線器的硬體有一個面向程式設計師的介面,稱為主機控制器裝置 (HCD),並由硬體實現者定義。在實踐中,這些是計算機中的硬體暫存器(埠)。
在 1.0 版和 1.1 版中,存在兩種競爭的 HCD 實現。康柏的開放主機控制器介面 (OHCI) 被 USB-IF 採用為標準。但是,英特爾隨後建立了他們稱為通用主機控制器介面 (UHCI) 的規範,並堅持其他實現者付費許可和實施 UHCI。威盛科技從英特爾獲得了 UHCI 標準的許可;所有其他晶片組實現者都使用 OHCI。OHCI 和 UHCI 之間的主要區別在於 UHCI 比 OHCI 更依賴於軟體,這使得 UHCI 對處理器要求更高,但實施成本更低。相互競爭的實現迫使作業系統供應商和硬體供應商在兩種實現上進行開發和測試,這增加了成本。在 USB 2.0 的設計階段,USB-IF 堅持只使用一種實現。USB 2.0 HCD 實現稱為擴充套件主機控制器介面 (EHCI)。只有 EHCI 支援高速傳輸。每個 EHCI 控制器包含四個虛擬 HCD 實現,以支援全速和低速裝置。英特爾和威盛 EHCI 控制器上的虛擬 HCD 為 UHCI。所有其他供應商都使用虛擬 OHCI 控制器。
USB 裝置的裝置描述符有一個簽名,它告訴什麼型別的裝置已連線到匯流排。該簽名由類程式碼、子類程式碼和協議欄位組成。這些欄位共同識別應使用哪個作業系統驅動程式與裝置通訊。此外,每個 USB 裝置介面描述符都包含相同的簽名欄位。介面簽名允許多個作業系統驅動程式同時與單個 USB 裝置通訊(例如具有音訊和影片介面的 USB 裝置),並且它們還允許同一驅動程式的多個例項與同一 USB 裝置的不同介面通訊(例如具有多個乙太網埠的 USB 乙太網介面卡)。
連線到匯流排的裝置可以是需要使用完全自定義裝置驅動程式的完全自定義裝置,也可以屬於裝置類。這些類定義了裝置和介面描述符方面的預期行為,以便相同的裝置驅動程式可用於聲稱自己是某個類成員的任何裝置。作業系統應該實現所有裝置類,以便為任何 USB 裝置提供通用驅動程式。
裝置類程式碼由 USB 實現者論壇的裝置工作組決定。如果該類適用於整個裝置,則類程式碼將分配給裝置描述符的bDeviceClass欄位,如果要為裝置上的單個介面設定該程式碼,則將其分配給介面描述符的bInterfaceClass欄位。還可以使用介面關聯描述符對裝置的多個介面進行分組,在這種情況下,類程式碼將分配給描述符的bFunctionClass欄位。類程式碼是一個位元組,因此最多可以有 254 個不同的裝置類(值 0x00 和 0xFF 保留)。如果bDeviceClass設定為 0x00,作業系統將檢視bFunctionClass以獲取介面關聯描述符,並檢視每個介面的bInterfaceClass以確定裝置類。每個類還可選地支援子類和協議子定義。這些可以作為主要裝置類不斷修訂時使用。
最常用的類程式碼(按分配的類 ID 分組)是:[1]
- 0x00 - 未指定類(裝置描述符)
- USB 裝置沒有分配的類程式碼。應使用裝置介面描述符的類程式碼來識別裝置支援哪些驅動程式。
- 0x01 - 音訊類(介面描述符)
- 該介面遵循 USB 音訊裝置類規範。此類程式碼由類似音效卡的裝置使用。
- 0x02 - CDC / 通訊裝置類(裝置或介面描述符)
- USB 通訊裝置類(“CDC”),用於調變解調器、網絡卡、ISDN 連線、傳真。
- 0x03 - HID 類 / 人機介面裝置類(介面描述符)
- USB 人機介面裝置類(“HID”),鍵盤、滑鼠等。
- 0x05 - 物理裝置類(介面描述符)
- ?
- 0x06 - 靜態影像類(介面描述符)
- 靜態影像捕獲裝置類,與 USB 上使用的圖片傳輸協議相同。
- 0x07 - 印表機類(介面描述符)
- USB 印表機裝置類,類似印表機的裝置。
- 0x08 - 大容量儲存類(介面描述符)
- USB 大容量儲存裝置類,用於快閃記憶體驅動器、行動式硬碟驅動器、儲存卡讀卡器、數碼相機、數字音訊播放器等。此裝置類將裝置呈現為塊裝置(幾乎總是用於儲存檔案系統)。
- 0x09 - 集線器(裝置描述符)
- USB 集線器。
- 0x0A - CDC 資料 / 通訊裝置類資料(介面描述符)
- CDC-資料(通訊類裝置)。
- 0x0B - 智慧卡類(介面描述符)
- 智慧卡讀卡器。
- 0x0D - 內容安全類(介面描述符)
- 內容安全。
- 0x0E - 影片類(介面描述符)
- USB 影片裝置類,類似網路攝像頭的裝置,運動影像捕獲裝置。
- 0xDC - 診斷裝置類(裝置或介面描述符)
- 診斷裝置的類。此類有一個子類用於 USB 2.0 相容性測試裝置。
- 0xE0 - 無線控制器類(裝置或介面描述符)
- 無線控制器,例如藍牙介面卡。此類程式碼通常僅在介面描述符中使用,只有藍牙子類允許在裝置描述符中使用。
- 0xEF - 雜項類(裝置或介面描述符)
- ?
- 0xFE - 應用特定類(介面描述符)
- ?
- 0xFF - 供應商特定類(裝置或介面描述符)
- 自定義裝置類 - 用於確定裝置或介面不支援任何標準裝置類,需要自定義驅動程式。

| 引腳 | 功能 | |
|---|---|---|
| 1 | VBUS(4.01–5.25 伏特) | |
| 2 | D− | |
| 3 | D+ | |
| 4 | GND | |
| 外殼 | 遮蔽 | |
助記符:Victor Dashes Across Ground-Zero (Vbus , - , + , GND , Shield/Blank)
USB 訊號透過一對標記為 D+ 和 D− 的雙絞線資料線傳輸。這些資料線共同使用半雙工差分訊號來抵消長線路上的電磁噪聲的影響。D+ 和 D− 通常一起工作;它們不是獨立的單工連線。傳輸的訊號電平對於低電平為 0.0–0.3 伏,對於高電平為 2.8–3.6 伏。
USB 支援四種傳輸模式
- 控制
- 中斷
- 塊
- 等時
USB 支援三種資料速率
- 高達 1.5 Mbit/s(187.5 kB/s)的低速速率,主要用於人機介面裝置 (HID),例如鍵盤、滑鼠和操縱桿。
- 高達 12 Mbit/s(1.5 [MB/s)的全速速率。全速是 USB 2.0 規範之前的最快速率,許多裝置回退到全速。全速裝置在先到先得的基礎上分配 USB 頻寬,在使用多個等時裝置的情況下,頻寬不足的情況並不少見。所有 USB 集線器都支援全速。
- 高達 480 Mbit/s(60 MB/s)的高速速率。
即使是高速集線器,如果服務多個非高速裝置,也可能會為這些裝置分配 12 Mbit/s 的總頻寬,這將減慢它們的執行速度,除非集線器每個埠都有事務轉換器。[3]
雖然高速裝置通常被稱為“USB 2.0”並宣傳為“高達 480 Mbit/s”,但並非所有 USB 2.0 裝置都是高速裝置。高速裝置通常僅以理論最大值(60 MB/s)資料吞吐量的二分之一的速度執行。目前(2006 年)透過真實裝置獲得的最大速率約為一半,即 30 MB/s。[4] 大多數高速 USB 裝置通常以更慢的速度執行,通常約為 3 MB/s,有時高達 10-20 MB/s。USB-IF 認證裝置並提供許可,在透過合規性測試並支付許可費後,可以使用“基本速度”(低速和全速)或高速的特殊營銷徽標。所有裝置都根據最新的規格進行測試,因此最近符合標準的低速裝置也是 2.0。
高速裝置旨在當插入全速集線器時回退到全速的較慢資料速率。高速集線器具有一個稱為事務轉換器的特殊功能,該功能將全速和低速匯流排流量與高速流量隔離開來。高速集線器中的事務轉換器(或每個埠根據電氣設計可能存在多個)將作為連線到它的全速和低速裝置的完全獨立的全速匯流排。這種隔離僅針對頻寬;有關電源和集線器深度的匯流排規則仍然適用。
集線器將擁有一個或多個事務轉換器,並且沒有標準方法來確定集線器可能擁有的事務轉換器數量。連線到一個事務轉換器的所有低速和全速裝置將共享低速/全速頻寬。這意味著集線器的效能會因事務轉換器數量和插入其埠的裝置而有很大差異。例如,一個具有一個事務轉換器和 7 個連線到它的低速/全速裝置的 7 埠高速集線器將與 USB 1.1 集線器沒有區別,所有裝置將爭奪相同的低速/全速頻寬。如果集線器為七個埠中的每一個埠都提供事務轉換器,那麼每個裝置都將擁有所有可用的全速/低速頻寬,並且只會在高速頻寬方面競爭,高速頻寬要大得多。[5]
USB 標準使用 NRZI 系統來編碼資料,並使用位元填充來傳輸長度為 **6** 位的邏輯 1(在 **6** 位邏輯 1 之後插入邏輯 0;接收器會忽略緊隨 **6** 位邏輯 1 之後的 0)。此外,如果接收器接收到連續 7 位邏輯 1,則會將其視為位元填充錯誤。NRZI(非歸零反轉)編碼方法在傳輸邏輯 **1** 時不改變訊號,但在傳輸每個邏輯 **0** 時反轉訊號電平。


| 引腳 | 功能 |
|---|---|
| 1 | VBUS (4.4–5.25 V) |
| 2 | D− |
| 3 | D+ |
| 4 | ID |
| 5 | 接地 |
大多數迷你 USB 聯結器的引腳與標準 USB 聯結器相同,除了引腳 4。引腳 4 稱為 "ID",在迷你-A 插頭中連線到接地,但在迷你-B 插頭中則未連線。這會導致支援 USB On-The-Go(帶有迷你-AB 插座)的裝置在連線到 USB 迷你-A 插頭(迷你-A - 迷你-B 電纜的 "A" 端)時,最初充當主機。迷你-A 聯結器在內部還增加了一塊塑膠,以防止插入到僅支援從機(僅支援 B)的裝置中。
USB 聯結器有多種型別,隨著規範的不斷發展,還添加了一些新的型別。從最初的 USB 規範開始:
- 標準-A 插頭
- 標準-A 插座
- 標準-B 插頭
- 標準-B 插座
在 USB 2.0 規範的第一個工程變更通知中新增:
- 迷你-B 插頭
- 迷你-B 插座
在 “通用序列匯流排 Micro-USB 電纜和聯結器規範” 中新增:
- Micro-A 插頭(白色)
- Micro-AB 插座(灰色)
- Micro-B 插頭(黑色)
- Micro-B 插座(黑色)
介面卡,也來自 “通用序列匯流排 Micro-USB 電纜和聯結器規範”(注意,不允許使用其他介面卡。)
- 標準-A 插座到 Micro-A 插頭


- "Micro 系列 USB 技術將取代 OTG 產品中的迷你係列 USB" [1] "比弗頓,俄勒岡州,2007 年 1 月 4 日 - USB 聯盟 (USB-IF) 今天宣佈完成 Micro-USB 規範的制定,這是一種新的聯結器技術,將取代目前便攜產品中使用的許多迷你係列插頭和插座。" Micro-USB 插頭額定耐插拔次數為 10,000 次。它約為目前廣泛使用的迷你 USB 聯結器高度的一半,但寬度相似。

電纜僅有插頭,主機和裝置僅有插座。主機具有 A 型插座;裝置如果具有插座,則具有 B 型。A 型插頭僅與 A 型插座配合,B 型插頭與 B 型插座配合。
On-the-Go 補充規範允許產品既是主機又是裝置,具有 Micro-AB 插座,可以接受 Micro-A 插頭或 Micro-B 插頭。Micro-A、Micro-B 和 Micro-AB 聯結器可以透過顏色輕鬆識別。Micro-A 插頭和插座內部的塑膠始終為白色,Micro-B 聯結器內部的塑膠為黑色,Micro-AB 插座內部的塑膠為灰色。
USB 規範允許使用有限的電纜型別。電纜分為兩類 - “可拆卸” 和 “固定”。所有允許的 USB 電纜都具有一個 A 型插頭,無論是標準-A 還是 Micro-A。 “固定” 電纜的另一端要麼不可拆卸,要麼在裝置端具有自定義聯結器。如果電纜是 “可拆卸” 的,則電纜的另一端必須具有 B 型插頭。還存在一種特殊的介面卡電纜,它具有 Micro-A 插頭和標準-A 插座。
固定 USB 電纜型別
- 標準-A 插頭到裝置。
這種電纜在裝置端可能具有自定義聯結器。 - Micro-A 插頭到裝置。
這種電纜不打算由裝置的終端使用者拆卸。
可拆卸 USB 電纜型別
- 標準-A 插頭到標準-B 插頭。
這是將 USB 裝置連線到主機的最流行的電纜。 - 標準-A 插頭到迷你-B 插頭。
用於將舊的移動裝置連線到主機。 - 標準-A 插頭到 Micro-B 插頭。
用於將較新的移動裝置連線到主機。 - Micro-A 插頭到 Micro-B 插頭。
用於將移動裝置彼此連線。 - Micro-A 插頭到標準-A 插座。
這是一種特殊的介面卡電纜,其長度最多為 150 毫米。它需要允許移動裝置充當 USB 主機,用於連線不使用 Micro-USB 聯結器的裝置。
任何具有插座(除了上述特殊情況)或具有兩個 “A” 或兩個 “B” 聯結器的電纜,從定義上來說都不是 USB。 [6] 但是,許多電纜製造商生產和銷售與 USB 相容(但並不嚴格符合標準)的延長電纜,一端具有標準-A 插頭,另一端具有標準-A 插座。請注意,這些不符合標準的延長電纜不應與包含小型匯流排供電集線器的符合標準的電纜混合使用。具有兩個 A 型或甚至兩個 B 型插頭的電纜可以從更專業的供應商處獲得。
請注意,只有 “全速” 和 “高速” 裝置使用可拆卸電纜。符合標準的 “低速” 裝置僅使用固定電纜,因為低速規範不允許使用標準可拆卸 USB 電纜的電氣特性。
迷你-B、Micro-A、Micro-B 和 Micro-AB 聯結器用於小型裝置,例如 PDA、手機或數碼相機。標準-A 插頭大約為 4 毫米 × 12 毫米,標準-B 約為 7 毫米 × 8 毫米,Micro-A 和 Micro-B 插頭約為 2 毫米 × 7 毫米。
USB 委員會指定的聯結器旨在支援 USB 的許多底層目標,並反映從當時使用的各種聯結器中吸取的經驗教訓。具體而言:
- 聯結器設計為堅固耐用。許多以前的聯結器設計都很脆弱,引腳或其他精密的部件容易彎曲或斷裂,即使只施加了非常小的力。USB 聯結器中的電氣觸點受到相鄰塑膠舌頭的保護,整個連線元件進一步受到外包金屬套的保護。因此,USB 聯結器可以安全地處理、插入和拔出,即使是小孩也可以做到。外包套和堅固的模製插頭主體意味著聯結器可以跌落、踩踏,甚至被壓碎或撞擊,都不會損壞;要嚴重損壞 USB 聯結器,需要施加相當大的力。
- 很難錯誤地連線 USB 聯結器。聯結器不能倒置插入,從外觀和連線時插頭和插座正確配合的運動感覺就可以清楚地看出。但是,對於沒有經驗的使用者(或沒有看到安裝情況的使用者)來說,乍一看並不清楚聯結器應該朝哪個方向,因此通常需要嘗試兩種方式。
- 聯結器製造成本特別低。
- 聯結器強制執行 USB 網路的定向拓撲。USB 不支援迴圈網路,因此來自不相容 USB 裝置的聯結器本身也不相容。與其他通訊系統(例如 RJ-45 電纜)不同,性別轉換器幾乎從未使用過,這使得建立迴圈 USB 網路變得很困難。
- 指定了適度的插入/拔出力。USB 電纜和小型 USB 裝置透過插座的夾緊力固定到位(無需螺絲、夾子或其他聯結器所需的旋鈕)。連線或斷開連線所需的力很小,允許在尷尬的情況下或由有運動障礙的人進行連線。
- 聯結器結構始終確保插頭上的外包套在內部的四個聯結器連線之前與插座中的對應部分接觸。該套管通常連線到系統接地,允許透過這條路徑安全地放電,否則會導致損壞的靜電(而不是透過精密的電子元件)。這種外包方式還意味著對 USB 訊號在透過配合的聯結器對(這是唯一一個必須在並行方向上行駛一段距離的扭曲資料對的位置)時提供了 (適度) 的電磁干擾保護。此外,電源和公共連線在系統接地之後,但在資料連線之前建立。這種分階段的建立和斷開時間允許安全地熱插拔,並且長期以來一直是航空航天行業聯結器設計中的普遍做法。
- USB 標準規定了相對較低的公差用於符合規範的 USB 聯結器,旨在最大程度地減少不同供應商生產的聯結器之間的相容性問題(這一目標已經非常成功地實現了)。與大多數其他聯結器標準不同,USB 規範還定義了連線裝置在其插頭周圍區域的尺寸限制。這樣做是為了避免出現裝置符合聯結器規範但其尺寸過大而阻塞相鄰埠的情況。符合規範的裝置必須符合尺寸限制,或者支援符合規範的延長線。
然而,物理層在一些示例中發生了改變。例如,IBM UltraPort 是 IBM 筆記型電腦 LCD 頂部的一種專有 USB 聯結器。它使用不同的機械聯結器,同時保留了 USB 訊號和協議。其他小型裝置製造商也開發了自己的小型外形聯結器,並且出現了各種各樣的這類聯結器。出於規範目的,這些裝置被視為具有固定線纜。
USB 的擴充套件被稱為 USB On-The-Go,它允許單個埠充當主機或裝置,透過連線線纜的哪一端插入裝置上的插座來決定。即使在連線線纜並開始通訊之後,兩個裝置也可以在程式控制下“交換”端點。此功能針對 PDA 等裝置,在這些裝置中,USB 連線可能在一種情況下作為裝置連線到 PC 的主機埠,而在另一種情況下作為主機連線到鍵盤和滑鼠裝置。因此,USB On-The-Go 定義了兩種小型外形聯結器,Mini-A 和 Mini-B,以及一個通用插座 (Mini-AB),這應該可以阻止專有設計的擴散。
無線 USB 是一種正在開發的標準,它擴充套件了 USB 標準,同時在協議級別保持與 USB 1.1 和 USB 2.0 的向後相容性。
USB 連線線的最大長度為 5 米;更長的長度需要集線器 [2]。 USB 連線可以透過使用不同製造商開發的專用 USB 延長產品,透過 CAT5 線纜延長至 50 米,或透過光纖延長至 10 公里。
USB 規範在一條線上提供 5 V(伏特)電源,連線的 USB 裝置可以從該電源線汲取電源。規範規定 +ve 和 -ve 匯流排電源線之間的電壓不超過 5.25 V,也不低於 4.35 V。
最初,裝置只允許汲取 100 mA 電流。它可以以 100 mA 為單位向上遊裝置請求更多電流,最大值可達 500 mA。實際上,大多數埠會在關閉電源之前提供完整的 500 mA 或更多電流,即使裝置沒有請求它或甚至沒有識別自己。如果(符合規範的)裝置需要的電源超過可用電源,那麼它將無法執行,直到使用者更改網路(透過重新排列 USB 連線或新增外部電源)以提供所需的電源。
如果 USB 裝置檢測到 USB 匯流排的資料線在 3 毫秒內處於空閒狀態,則裝置必須進入掛起狀態。掛起狀態的裝置允許汲取 500 μA 電流。如果裝置在掛起之前被配置為使用超過 100 mA 的電流,並且裝置被配置為遠端喚醒源,則裝置在掛起狀態下允許汲取 2.5 mA 電流。掛起狀態下的電流限制是每秒平均值。
請注意,**On-The-Go** 和**電池充電規範**都為 USB 規範添加了新的供電模式。
如果使用匯流排供電集線器,則下游裝置的總電流使用量僅限於四個單位 - 400 mA。這限制了符合規範的匯流排供電集線器的埠數量,以及其他限制。需要超過 500 mA 電流的裝置、埠數量超過 4 個的集線器以及下游裝置總電流使用量超過四個 100 mA 單位的集線器,必須提供自己的電源。主機作業系統通常會跟蹤 USB 網路的電源需求,並且可能會在某個段需要超過可用電源時向計算機操作員發出警告。
- http://www.usb.org/ 是 USB 實現者論壇的網站,這是一個由開發 USB 規範的公司組成的非營利組織。
- USB 3.0 規範 是 USB 標準的官方定義。第 9 章涵蓋 USB 裝置。
- http://www.beyondlogic.org/index.html#USB 提供有關多家公司提供的某些 USB 微控制器和 IC 的實用資訊。
- USB 設計師連結 http://homepage.hispeed.ch/ibhdoran/usb_link.html 提供大量關於來自不同公司的 USB 晶片的資訊。
- USB 開發者指南,包含匯流排分析器示例,包括有關 低階協議 的重要資訊。
- 如果您正在為 USB 裝置開發韌體,則 USB 協議分析器必不可少。
- http://www.micrel.com/product-info/USB.shtml
- USB 介面
- Linux USB http://linux-usb.org/
- Sycard Technology http://sycard.com/usb.html 銷售 USB 開發工具。
- “USB 晶片:USB 主機和裝置控制器晶片”由 Jan Axelson 編輯
- Java RxTx 類(在 序列程式設計:Java 序列 中有解釋)也可以與某些 USB 裝置通訊 [3]。
- MATLAB 程式設計/寫入 USB 埠
- LPI Linux 認證/配置 USB 裝置
- 嵌入式系統/特定微處理器 簡要提到了可以與 USB 通訊的微控制器。
- "Open USB FXS" 部落格描述了一個使用 Microchip 18F2550 與 USB 通訊的開源專案。
- ↑ USB 類程式碼
- ↑ 通用序列匯流排規範修訂版 2.0 - 6.5.2 USB 聯結器端接資料
- ↑ 多 TT 集線器與單 TT 集線器正面交鋒 在 Tom's Hardware Guide 上
- ↑ http://www.barefeats.com/usb2.html
- ↑ http://www.tomshardware.com/2003/09/09/usb_technology/index.html
- ↑ 參見 http://www.usb.org/developers/whitepapers/cablew~1.pdf 和 http://www.usb.org/developers/docs/ecn1.pdf
序列程式設計: 簡介和 OSI 網路模型 -- RS-232 線路和連線 -- 典型的 RS232 硬體配置 -- 8250 UART -- DOS -- MAX232 驅動器/接收器系列 -- Windows 中的 TAPI 通訊 -- Linux 和 Unix -- Java -- Hayes 相容調變解調器和 AT 命令 -- 通用序列匯流排 (USB) -- 形成資料包 -- 糾錯方法 -- 雙向通訊 -- 資料包恢復方法 -- 序列資料網路 -- 實際應用程式開發 -- 序列連線上的 IP