文章編號: 323594 - 上次校閱: 2005年8月9日 - 版次: 3.0

通用序列匯流排 (USB) 裝置驅動程式開發的相關基本概念

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

通用序列匯流排 (USB) 的日益增加的熱門程度,與許多硬體廠商必須提供目前支援只有序列或平行的介面裝置的 USB 介面。

本文將告訴您下列:
  • USB 介面和序列或平行介面間的差異
  • 為什麼使用者模式應用程式無法直接存取 USB 裝置
  • 基本開發新設計的 USB 裝置驅動程式所需的資源

其他相關資訊

複雜性

與序列或平行連接埠相較,USB 是複雜的匯流排。例如,連線到此匯流排每個裝置會收到的位址和主機電腦] 和 [附上地址的裝置間交換資料封包。此外,裝置可以運作多個速度和裝置可以暫時中斷匯流排如果他們不瞭解高速傳輸。 在一般 USBs 上的資料傳輸是更複雜,和依賴妥善定義的通訊協定,在某些方面低階網路通訊協定類似。

基於這些原因 USB 裝置加入某些 「 智慧 」 讓它們能夠正確地處理透過 [USB 交換的資料封包。您不通常可能藉由實作 USB 的介面不連續的電子元件或小比例整合或中型規模整合電路像您可以在序列和平行介面上。而是,一個微處理器是通常用在裝置上來處理通訊透過 [USB。

因為 USB 裝置複雜所以不能只開啟,並從使用者模式應用程式存取 USB 裝置。在硬體] 層級 USB 裝置提供了數個 端點。主應用程式,可以建立已連接到每個端點的管道,並透過這個管道裝置可以與交談。您必須執行這項工作以核心模式。因此,USB 裝置必須具有相關聯的驅動程式。「 隨插即用 」 架構也需要一個驅動程式,因為當您插入裝置,系統嘗試尋找適合的驅動程式。

範例驅動程式

在 Windows DDK 由命名 BulkUSB (DDKdir \src\wdm\usb\bulkusb),範例可讓使用者模式應用程式從讀取,並直接將未經處理的資料寫入 USB 裝置的結束點。範例驅動程式的基本的工作是將資料複製進出應用程式和端點。您可以輕易地採用這個範例,以幾乎任何 USB 裝置。不過,商業裝置通常必須執行下列動作:
  • 有更完整的裝置驅動程式,也摘取它的功能。
  • 提供更高的層級程式設計介面,以使用者模式應用程式。
  • (如果該裝置是常見的週邊設備類型),請遵守特定裝置介面類別。
在摘要,有這個範例可以使用與沒有或較少的自訂有限的情況:
  • 為了進行測試
  • 若要您熟悉 USB 驅動程式開發
  • 非常簡單的裝置的事先知道將由存取某個特定的程式

可攜性

USB 裝置驅動程式所撰寫為 Windows XP 和 Windows 2000 使用只有 Windows 驅動程式模型 (WDM) 函式是可攜式 Windows 千禧版,並 Windows 98 通常與只需要一點點或根本不用變更。如需有關如何連接埠 WDM 驅動程式從 Windows XP 或 Windows 千禧版,或 Windows 98 的 Windows 2000 的詳細資訊,請參閱 < 參考 > 一節 (烏 Oney 的書籍,附錄 A)]。

協力廠商資源

某些協力廠商提供您可以將實作 USB 介面的預先建立的晶片組。許多廠商也提供硬體開發套件與您可以建置其晶片組周圍的原型。如需詳細資訊請參閱本文 (烏 Oney 的書籍、 章節 11) 的 < 參考 > 一節]。

某些協力廠商提供泛型 USB 驅動程式,您可以藉由使用資料檔案,而不必使用核心模式程式設計自訂。有些公司也提供 ActiveX 元件,例如是 OCXs 從例如 Microsoft Visual Basic OLE 自動化戶端存取其驅動程式。

?考

  • 通用序列匯流排系統架構第二版,收益 Don Anderson/Dave Dzatko,Mindshare 及,Addison Wesley、 ISBN 0-201-30975-0。
  • Windows 驅動程式開發套件,匯流排 USB 的系統支援設計參考]。
更多有關如何開發由協力廠商所提供的晶片組從產品或如何連接埠 WDM 驅動程式,請參閱下列書籍:
  • 程式設計 Microsoft Windows 驅動程式模型,烏 Oney,Microsoft 按 ISBN 0-7356-0588年-2。(本文特別提及第 11 章和附錄 A.)

這篇文章中的資訊適用於:
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Win32 Device Driver Kit for Windows 2000
  • Microsoft Windows Server 2003 Driver Development Kit (DDK)
關鍵字:?
kbmt kbinfo KB323594 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:323594? (http://support.microsoft.com/kb/323594/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。