曙海教育集團論壇Win CE 專區(qū)WinCE系統(tǒng)定制與驅(qū)動開發(fā) → WinCE5.0的USB Camera流接口驅(qū)動開發(fā)


  共有5798人關注過本帖樹形打印

主題:WinCE5.0的USB Camera流接口驅(qū)動開發(fā)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
WinCE5.0的USB Camera流接口驅(qū)動開發(fā)  發(fā)帖心情 Post By:2010-11-26 10:22:58

引 言   

        WinCE5.0是一個32位、多任務、多線程的實時嵌入式操作系統(tǒng)。USB Camera 以其良好的性能和低廉的價格得到廣泛的應用,同時因其靈活、方便的特性,易于集成到嵌入式系統(tǒng)中。

       通過采用USB Camera可以在WinCE5.0下方便地得到實時圖像。但是由于嵌入式硬件環(huán)境的多樣性以及WinCE5.0對USB設備驅(qū)動開發(fā)只提供了一些底層支持,攝像頭廠商尚未提供WinCE5.0下USB攝像頭的驅(qū)動,因此開發(fā)出WinCE5.0下USB攝像頭驅(qū)動具有實際的意義和價值。本文正是針對這一情況,對WinCE5.0下USB設備驅(qū)動開發(fā)進行研究,并設計出基于流接口驅(qū)動模型的USB攝像頭驅(qū)動程序,F(xiàn)在已經(jīng)開發(fā)出來的驅(qū)動適用于Zc030x PLUS這一系列的攝像頭。Samstmg 2410為實驗的硬件平臺。

圖片點擊可在新窗口打開查看


      1 WinCE5.0下USB總線驅(qū)動框架
   

       USB系統(tǒng)由USB主機、一個或多個USB設備和物理總線組成。主機上又分兩層:較高的包含USB設備驅(qū)動程序的軟件層和主機控制器硬件層,也稱作“適配層”。主機的主要任務是控制對USB設備的雙向數(shù)據(jù)傳輸。物理總線是一組USB電纜,用來將控制器和外圍設備連接起來。WinCE5.0的USB系統(tǒng)軟件由兩層組成:USB設備驅(qū)動程序?qū)雍偷讓拥挠蒞inCE5.0實現(xiàn)的USB函數(shù)層。

      USB設備驅(qū)動程序使用USB函數(shù)來建立與它們所控制設備的連接,并對這些設備進行配置和通信。較低的USB函數(shù)層本身又由兩部分組成——較高的通用串行總線驅(qū)動程序(USBD)模塊和較低的主控制器驅(qū)動程序(HCD)模塊。HCD提供了抽象的主機控制器,且對主機控制器所見到的USB系統(tǒng)的數(shù)據(jù)傳輸進行抽象。USBD提供一個抽象的設備,且對USBD客戶和USB設備功能部件之間的數(shù)據(jù)傳輸進行抽象。USB設備驅(qū)動程序使用USBD接口函數(shù)與外圍設備進行通信。   

      IHV和USB設備制造商利用USBD提供的函數(shù)來實現(xiàn)USB設備的驅(qū)動程序。OEM負責給基于WinCE的平臺提供HCD模塊,這樣相應的硬件才能與USBD模塊進行交互。圖1說明了與主機的USB硬件和外圍設備相對應的軟件的各個層。

      2 WinCE5.0下流驅(qū)動模型   

      基于WinCE5.0平臺的兩種專用的驅(qū)動模型為:本機設備驅(qū)動程序和流接口驅(qū)動程序。本機設備驅(qū)動程序適合于集成到WinCE 5.0 平臺的設備;而后者則是一般類型的設備驅(qū)動程序,適用于大部分外圍設備,如調(diào)制解調(diào)器、打印機等。對大多數(shù)USB外圍設備來說,適用于采用流接口驅(qū)動程序模型來開發(fā)驅(qū)動程序。   

      流接口驅(qū)動程序是一種可以定制接口的驅(qū)動模型,一般由設備管理器負責管理。它把設備管理器和應用程序的命令轉(zhuǎn)換成所控設備的適當動作所需信息。流接口驅(qū)動程序需要實現(xiàn)一組固定的流接口函數(shù),供給WinCE5.0系統(tǒng)內(nèi)核使用。

圖片點擊可在新窗口打開查看

       USB設備的流接口驅(qū)動程序和WinCE5.0系統(tǒng)其他部件間的關系如圖2所示。流接口驅(qū)動程序通過系統(tǒng)提供的文件系統(tǒng)API與應用程序交互;而系統(tǒng)通過設備管理器完成對流接口驅(qū)動程序的加載、卸載等管理工作;流接口驅(qū)動程序通過調(diào)用USBD模塊提供的接口函數(shù)實現(xiàn)與底層USB設備通信。

       本文使用的流接口函數(shù)方法如表1所列。

圖片點擊可在新窗口打開查看

      USB設備驅(qū)動程序必須輸出的函數(shù)有:
   

        ①USBDeviecAttach()。當USB設備連接到計算機上時,USBD模塊就會調(diào)用此函數(shù)。這個函數(shù)主要用于初始化USB設備,取得USB設備信息,配置USB設備,并且申請必需的資源。
        ②USBInstallDriver ()。主要用于創(chuàng)建一個驅(qū)動程序加載所需的注冊表信息,例如讀/寫超時、設備名稱等。
        ③USBUninstallDriver ()。主要用于釋放驅(qū)動程序所占用的資源,以及刪除UsbInstallDriver ()函數(shù)創(chuàng)建的注冊表等。   

       上述3個函數(shù)接口是所有的USB驅(qū)動程序必須提供的,缺一不可。   

       另外較為重要的是USB設備驅(qū)動程序的注冊表配置。一般的USB設備驅(qū)動程序的注冊表配置在[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\口]下,每個驅(qū)動程序的子鍵都有Group 1_ID\Group2_ID\Group3_ID\DriverName 格式,設備的子鍵由供應商、設備類和協(xié)議信息通過下劃線組成。表2列出了允許的組合。

圖片點擊可在新窗口打開查看


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

WinCE5.0的USB Camera流接口驅(qū)動開發(fā)








簽名
主站蜘蛛池模板: 一本大道东京热无码一区| 91麻豆精品国产自产在线| 在线国产你懂的| 精品国产免费观看久久久| 亚洲伊人色一综合网| 亚洲欧美日韩中文字幕一区二区三区 | www.中文字幕.com| 91国在线视频| 黄色网站在线免费观看| 蜜桃成熟时仙子| 精品久久久久久中文字幕大豆网| 波多野结衣家庭教师奇优| 最近中文字幕免费完整国语| 扒开末成年粉嫩的小缝视频| 好男人视频网站| 国产福利片在线观看| 国产乱子伦精品视频| 六月丁香综合网| 亚洲人成人77777网站不卡| 中文字幕无线码中文字幕免费| a视频免费观看| 国产精品俺来也在线观看| 美国式禁忌三人伦| 欧美视频免费在线观看| 日本肉体xxxx裸交| 国产做a爰片久久毛片a| 亚洲精品中文字幕乱码| 久久国产精品99精品国产| nxgx.com| 青娱乐在线视频播放| 澳门特级毛片免费观看| 日本漫画大全彩漫| 国内精品卡1卡2卡区别| 国产亚洲精品仙踪林在线播放| 亚洲美女一区二区三区| 久久国产亚洲高清观看| 99视频精品全部在线| 青柠直播在线观看高清播放 | 天堂va视频一区二区| 国产啪精品视频网站丝袜| 亚洲欧美日韩精品专区|