新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 在WinCE 6.0系統(tǒng)下實現(xiàn)USB功能定制

在WinCE 6.0系統(tǒng)下實現(xiàn)USB功能定制

作者: 時間:2011-05-11 來源:網(wǎng)絡(luò) 收藏

USB的廣泛應(yīng)用就不用多說了,相信目前的各個領(lǐng)域的嵌入式產(chǎn)品中,很少有不用USB的。USB是主從結(jié)構(gòu)的,分為USB HoST和USB Slave,從USB1.0,USB1.1到現(xiàn)在的USB2.0,基于USB2.0還有USB OTG,也就是同時支持Host和Slave設(shè)備。目前最新的好像是USB3.0,剛開始普及吧。

  在中,對USB是有很好的支持。一般來說,如果USB的設(shè)備驅(qū)動做好了,USB的協(xié)議層以及上層的應(yīng)用都是現(xiàn)成的,而且還有源碼。也就是說,我們只需要在BSP中完成USB的驅(qū)動就可以了。先來看一下,如圖:


  USB Host:

  最底層就是USB Host控制器了,上層是USB Host CONtroller Driver,該驅(qū)動負責和硬件通訊來傳輸數(shù)據(jù),在WinCE中支持UHCI,OHCI和EHCI。Host Core Driver Hub Driver是獨立于硬件的USB協(xié)議棧,支持USB Host協(xié)議及USB Hub功能。最上層就是USB Host Class driver是USB Host的應(yīng)用協(xié)議,目前在WinCE中,支持RNDIS,Print,Mass Storage和HID四種應(yīng)用。

  USB Device:

  最底層是USB Device控制器,上層是USB Device Driver負責和硬件通訊。Device Core Driver是USB Device的協(xié)議棧。最上層是USB Device的應(yīng)用層,目前在WinCE中支持RNDIS,Serial和Mass Storage三種應(yīng)用。

  USB OTG:

  USB OTG控制器上層是USB OTG控制器的驅(qū)動,USB OTG Core Driver是協(xié)議層,如果做Host,它會使用USB Host協(xié)議棧,如果做Device,它會使用USB Device協(xié)議棧。

  在WinCE中,根據(jù)需要來選擇所需的,創(chuàng)建WinCE工程,然后在Catalog Items View中選擇”Core OS”-》”CEBASE”-》”Core OS Services”-》”,如圖:


  ◆USB Function Driver:用于支持USB Device驅(qū)動。

  ◆USB Host Support:用于支持USB Host控制器驅(qū)動。

  ◆USB Human Input Device (HID) Class Driver:用于支持USB Host外接HID設(shè)備,可選擇同時支持USB鼠標鍵盤,也可以分開選擇。

  ◆USB Printer Class Driver:用于支持USB Host打印功能。

  ◆USB Remote NDIS Class Driver:用于支持USB Host連接RNDIS設(shè)備。

  ◆USB Storage Class Driver:用于支持USB Host外接U盤的功能。

  上面的選項除了USB Function Driver以外,都是用于支持USB Host應(yīng)用的,可以根據(jù)自己平臺的需要,選擇相應(yīng)的USB應(yīng)用,也可以都選擇。如果是USB Device設(shè)備,那么首先要選擇上面提到的USB Function Driver,然后在Catalog Items View中選擇”Device Drivers”-》”USB Function”-》” ,如圖:


  Mass Storage:用于支持USB Device作為U盤功能。

  RNDIS Client:用于支持USB Device作為RNDIS設(shè)備。

  Serial:用于支持USB Device作為串口設(shè)備。

  對于USB Device設(shè)備,可以支持Mass Storage,RNDIS和Serial功能,不過同一個USB Device在系統(tǒng)啟動以后只能支持某一個功能。

  總結(jié)一下,無論是USB Host還是USB Device,只要驅(qū)動做好了,上層的應(yīng)用在WinCE系統(tǒng)定制的時候,選擇相應(yīng)的組件就可以了。對于USB Device來說,根據(jù)組件的不同,還需要進行一些注冊表的配置,我會在以后的blog中進行介紹。



關(guān)鍵詞: WinCE6.0 USB功能

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉