USB技術入門
USB的即插即用
USB一個主要優點就是支持設備的熱插拔,用戶不需要關閉電源就可以接上和使用USB設備。USB集線器驅動程序枚舉設備,并通知系統設備就緒。USB設備使用描述符來識別設備和其使用的協議。串口號產生PP用的ID,端口地址指明設備連接的端口和集線器。若設備不提供串口號,則USB使用設備端口地址。
當一個新設備被USB集線器檢測到,馬上通知主系統,系統軟件就查詢該設備,自動確定所需設備驅動器軟件和總線帶寬,然后對它進行配置。系統軟件裝載了合適的驅動器軟件,用戶馬上就可以使用新設備。
三、USB編程
USB編程主要是指USB驅動程序編程和USB客戶軟件編程。
USB驅動程序接口
Windows 98通過允許USB設備驅動程序棧通訊支持USB.在USB驅動程序和USB驅動程序棧之間是USB驅動程序接口(USBDI)。在Windows 98中,這種通訊是在WDM結構中實現的。
Usbhub.sys是USB集線器驅動程序。當Usbd.sys枚舉每個USB主機控制器中的根結點集線器時被加載。
Usbd.sys是類USB驅動程序。
Uhcd.sys(通用主機控制驅動程序)以及Ohcd.sys(開放主機控制驅動程序)是USB主機控制器驅動程序。
另外,Hidclass.sys(WDM輸入類驅動程序)接受和發送到小驅動程序的HID報告。Hidusb.sys通過USB接受和發送HID報告。當檢測到USB總線時,PCI枚舉器加載USB棧驅動程序部分,并加載至少一個核心組件。
USB 驅動程序和USB客戶程序
USB 驅動程序編寫是和硬件相關聯的。在器件方面,適合產品開發的系列芯片有Intel公司的8X930系列(基于MCS-51微處理器的內核結構)和8X931系列(基于MCS-251微處理器的內核結構)、National Semiconductor公司的 USBN9602等。Intel公司和第三方提供了一個完整的硬件和軟件開發工具,Keil、IAR、PLC和Tasking等公司提供了具有ANSI C交叉編譯器、匯編器、連接器/定位器、調試器和仿真器的軟件開發工具。AMI、Phoenix Technologics和 systemSoft等公司提供了設備驅動器和外圍微控制程序(firmware)。
針對選用的USB控制器,從第三方得到所需的軟件,包括匯編器或編譯器、連接器/定位器和調試器等,用它們實現USB設備驅動器。對USB 驅動程序編譯成功后進行連接/定位,用調試器調試后加載在目標系統中。
雖然USB的物理和邏輯拓撲反映了總線的共享特性,客戶軟件(CSW)只處理它感興趣的USB功能接口。USB功能的客戶軟件必須用USB軟件編程接口來處理各種功能,而不是像其它總線那樣通過地址或I/O訪問直接處理它們的功能。在這個過程中,客戶軟件獨立于連接在USB上的其它設備。這使設備和客戶軟件的設計者將精力集中于軟硬件間相互作用的設計細節。
USB的客戶程序實際上是對客戶端設備映像的操作,這些映像由USBD或HCD產生。在98ddk中,存在著一組叫做USBD Interface (USBDI)函數的API函數集。該函數集包括了傳輸函數,管道(Pipe)函數,設備配置函數及其它函數。應用這些函數可編寫支持任何USB兼容設備的USB驅動程序和客戶程序。其中,管道(Pipe)是USB設備驅動程序建立的邏輯通信信道。
四、結論
USB為個人計算機(PC)外圍設備輸入輸出提供了新的接口標準。它使得設備具有了熱插拔、即插即用、自動配置的能力,并標準化了設備連接。USB的級聯星型拓撲結構大大擴充了外設數量,使增加、使用外設更加便捷、快速。新提出的USB2.0標準更是將數據傳輸速率提高到了一個新的高度,因而擁有美好的應用前景。





評論