一本伊大人香蕉久久网手机/欧洲一级视频/国产片尤物网站在线观看/被多个强壮的黑人灌满精 - 久久免费视频网

行業資訊
   
Windows XP下USB整體結構
發布時間:2012-3-20
瀏覽人數:1949

     這里主要講的是Windows XP下USB驅動協議棧的整體結構,以及內部的一些重要數據結構。在寫這些東西時,參考了大牛Tiamo的相關論壇貼子 ,內容很多雷同,說是轉貼也不為過。

    USB協議棧是由如下幾個驅動文件構成的:

    usbport.sys    USB主機控制器共用驅動代碼庫,供miniport驅動調用。

    usbhub.sys    USB總線驅動,USB總線也是USB設備的一種。

    usbehci.sys   USB EHCI主機控制器驅動,它是屬于miniport驅動。

    usbuhci.sys  USB UHCI主機控制器驅動,它是屬于miniport驅動。

    usbohci.sys  USB OHCI主機控制器驅動,它是屬于miniport驅動。

    usbd.sys       USB設備驅動共用代碼庫,供USB設備驅動和總線驅動調用。

    usbccgp.sys  USB復合設備驅動。

    usbstor.sys   USB存儲設備驅動。

    usbaudio.sys USB聲音設備驅動。

    usbvideo.sys USB視頻設備驅動。

    hidusb.sys    USB HID設備驅動。

    主機控制器驅動是USB協議棧的最底層驅動,在它之上就是USB總線驅動,再之上是USB設備驅動。

    USB設備驅動上面呢,一般還有其它的驅動。象usbstor上面還有存儲設備class驅動,hidusb上面還有HIDclass驅動。不過這上面的驅動,就和USB的驅動協議棧沒有多大的關系了。而設備驅動和具體的設備類有千絲萬縷的關系,不是我們要討論的重點。

    這里重點要討論的是控制器和總線,這是USB驅動協議棧的核心。

    我們知道,USB2.0有EHCI控制器,USB1.1有UHCI和OHCI控制器。這樣一共有三種控制器,它們之間有什么區別呢? 這要先說一說控制器的作用,USB協議棧并不是憑空而建立起來的,它下層就是PCI總線驅動(一般而言,也不一定非得是PCI總線),而控制器的作用就是和PCI總線打交道,將USB的功能和操作轉變成PCI總線上的一系列操作,同時還兼任著usb總線的日常管理。

    不同的硬件廠商都可以有它自己的一個控制器規范,這在USB協議出現早期尤為突出。但這樣各自為政畢竟對整個規范的發展不利,于是大家便開始統一接口規范,這統一規范能滿足大家的絕大部分需求,所以大家也就都用標準規范。USB 1.1時,就形成了OHCI和UHCI兩大陣營,而USB2.0時,則只有EHCI了,顯然,大家還是覺得標準越少麻煩越少。

    對比一下UHCI和OHCI,兩者都是提供對USB1.1協議的支持,只不過,UHCI硬件實現相對較少而成本相對較低,但軟件驅動復雜度相對較高,所以,UHCI多用在PC上,OHCI多用在嵌入設備中。而 EHCI 則是伴隨著USB 2.0規范一同出現(因為大家都受夠了要同時支持兩大規范的痛苦),它同時也向下兼容UHCI和OHCI。

    好了,廢話就說這么多,再具體的網上可查。下面,就說說控制器驅動的事兒。各大控制器規范和底層PCI總線的接口差別比較大,但它控制USB總線那一塊的功能都基本上差不多 -- 都是完全符合USB本身規范的。所以,各大控制器的驅動底層接口部分是各自為政,而USB總線管理部分則被提煉出來,形成一個共同的代碼庫,名為usbport.sys。也就是說,usbport.sys并不是一個獨立的驅動,而只是一個供別人調用的動態鏈接庫。而這個動態鏈接庫由于實現了控制器驅動的絕大多數功能,所以,我們習慣地將它當作控制器驅動的主體。

    講了usbport.sys是怎么回事,順帶講講usbd.sys。usbd.sys和usbport.sys角色定位類似,它也只是作為一個動態鏈接庫供USB設備驅動和USB總線驅動使用。不過,由于usbd.sys實現的功能很有限,作用沒有usbport.sys那么突出,所以就顯得比較邊緣化,在一般的討論中將它忽略掉。

    關于USB驅動棧的整體結構就講到這里,后續會具體講講usbhub.sys和usbport.sys所實現的功能。

 

新聞資訊
聯系我們

聯系電話:020-87518715

聯系郵箱:services@picusit.com

公司名稱:廣州啄木鳥計算機服務有限公司

公司地址:廣州市天河區龍口西路100號中明大廈1601

熱線咨詢電話:

020-87518715

公司地址:
廣州市天河區龍口西路100號中明大廈1601
手機掃碼查看更多
如有問題咨詢請及時與我們溝通,我們會為您詳細解答!
Copyright ? 廣州啄木鳥計算機服務有限公司 地址:廣州市天河區龍口西路100號中明大廈1601

網站首頁

公司介紹

服務項目

成功案例

技術動態

聯系方式