W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
通用串行總線(USB)是一個在主機和許多外設之間的連接. 最初它被創(chuàng)建來替代許多慢速和不同的總線-并口, 串口, 和鍵盤連接--有一個單個的所有設備都可以連接的總線類型.[45] USB 已經(jīng)成長超出了這些慢速連接并且現(xiàn)在支持幾乎每種可以連接到 PC 的設備. USB 規(guī)范的最新版本增加了高速連接, 理論上到 480 MBps.
拓撲結構上, 一個 USB 子系統(tǒng)沒有如同一個總線一樣分布; 它更多是一個樹, 有幾個點對點連接. 這些連接是 4-線 電纜(地, 電源, 和 2 個信號線)來連接一個設備和一個集線器, 如同雙絞線以太網(wǎng). USB 主控制器負責詢問每個 USB 設備是否它有數(shù)據(jù)發(fā)送. 由于這個拓撲關系, 一個 USB 設備在沒有首先被主控制器詢問時從不啟動發(fā)送數(shù)據(jù). 這個配置允許一個非常容易即插即用的系統(tǒng), 這樣各種設備可自動被主機配置.
在技術層面這個總線是非常簡單的, 因為它是一個單主實現(xiàn), 其中主機查詢各種外設. 除了這個固有的限制, 這個總線有一些有趣的特性, 例如一個設備能夠請求一個固定的數(shù)據(jù)傳送帶寬, 為了可靠地支持視頻和音頻 I/O. 另一個重要的特性是它只作為設備和主機之間的一個通訊通道, 對它傳遞的數(shù)據(jù)沒有特殊的含義和結構要求.
實際上, 有一些結構, 但是它大部分精簡為適應一個預先定義的類別: 例如, 一個鍵盤不會分配帶寬, 而一些視頻攝像頭會.
USB 協(xié)議規(guī)范定義了一套標準, 任何特定類型的設備都可以遵循. 如果一個設備遵循這個標準, 那么給那個設備的一個特殊的驅動就不必了. 這些不同的類型稱為類, 并且包含如同存儲設備, 鍵盤, 鼠標, 游戲桿, 網(wǎng)絡設備, 和貓. 其他不適合這些類的設備需要一個特殊的供應商-特定的驅動給這些特別的設備. 視頻設備和 USB-到-串口 設備是一個好的例子, 這里沒有定義好的標準, 并且需要一個驅動給每個來自不同制造商的不同的設備.
這些特性, 連同固有的設計上的熱插拔能力, 使 USB 稱為一個方便的, 低成本的機制來連接(和去連接)多個設備到計算機, 而不必關機, 開盒子, 并且旋開螺釘和電線.
Linux 內(nèi)核支持 2 類 USB 驅動: 位于主機系統(tǒng)的驅動和位于設備的驅動. 給主機系統(tǒng)的 USB 驅動控制插入其中的 USB 設備, 從主機的觀點看(一個通常的 USB 主機是一個桌面計算機). 在設備中的 USB 驅動, 控制單個設備如何作為一個 USB 設備看待主機系統(tǒng). 由于術語" USB 設備驅動"是非常迷惑, USB 開發(fā)者已經(jīng)創(chuàng)建了術語" USB 器件驅動"來描述控制一個連接到計算機的 USB 設備的驅動(記住 Linux 也運行在這些小的嵌入式的設備中). 本章詳述了運行在一臺桌面計算機上的 USB 系統(tǒng)如何工作的. USB 器件驅動此時超出了本書的范圍.
如同圖USB 驅動概覽所示, USB 驅動位于不同的內(nèi)核子系統(tǒng)(塊, 網(wǎng)絡, 字符, 等等)和硬件控制器之間. USB 核心提供了一個接口給 USB 驅動用來存取和控制 USB 硬件, 而不必擔心出現(xiàn)在系統(tǒng)中的不同的 USB 硬件控制器.
圖?13.1.?USB 驅動概覽
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: