USB Function Controller 与 USB Host Controller Drivers的区别?

lshyu5   2008-4-14 20:43 楼主
如题,诚心请教

回复评论 (12)

USB可以分成主和从的接口,例如电脑上的USB就是主接口,主接口要供电的。而普通的U盘就是从USB接口,不供电。
而wince是即支持主USB接口 也支持从USB接口,因为wince系统即可以被当作普通电脑利用主USB访问U盘等外接设备,也可以当作外接设备被普通电脑访问。
这个取决于硬件。

USB Host Controller Drivers 就是主USB接口的驱动。

如 msdn 所示:
Windows Embedded CE supports universal serial bus (USB) 2.0. This section provides links to topics that explain USB host controller drivers, the provided sample drivers, the required registry settings, and a programming reference.

Windows Embedded CE supports multiple host controllers. A host controller is a hardware component that is contained in a host computer. The host controller driver converts data between the format that is used by the host computer and the format used by the USB host controller. You must write a USB host controller driver only if you are building a hardware platform with host controller hardware that does not conform to one of the host controller specifications: universal host controller interface (UHCI), open host controller interface (OHCI), or enhanced host controller interface (EHCI).

OHCI or UHCI drivers must link with Hcdlib.lib. This library implements common functionality for OHCI and UHCI. In Windows CE .NET 4.1 and earlier, a platform that built its own OHCI or UHCI linked with Ohcdmdd2.lib or Uhcdmdd.lib. With Windows CE .NET 4.2 and later, they must also link with Hcdlib.lib. Hcdlib.lib implements functionality that is common between OHCI and UHCI.


USB Function Controller Driver
是指USB功能控制的一个驱动,可以利用此功能,完成自己基于USB的产品驱动开发。

如msdn所示:
Beginning with Windows CE 5.0, universal serial bus (USB) function controller drivers are no longer monolithic. A monolithic driver combines all platform dependent drivers (PDDs) and model device drivers (MDDs) into one driver.

USB function controller drivers are layered drivers. They contain an MDD and a PDD. This eases portability across hardware platforms. The client drivers are abstracted as separate clients that are loaded by the USB function driver. For more information about MDDs, PDDs, and monolithic drivers, see Layered Drivers vs. Monolithic Drivers.







点赞  2008-4-16 08:55
USB可以分成主和从的接口,例如电脑上的USB就是主接口,主接口要供电的。而普通的U盘就是从USB接口,不供电。
而wince是即支持主USB接口 也支持从USB接口,因为wince系统即可以被当作普通电脑利用主USB访问U盘等外接设备,也可以当作外接设备被普通电脑访问。
这个取决于硬件。

USB Host Controller Drivers 就是主USB接口的驱动。

如 msdn 所示:
Windows Embedded CE supports universal serial bus (USB) 2.0. This section provides links to topics that explain USB host controller drivers,
the provided sample drivers, the required registry settings, and a programming reference.

Windows Embedded CE supports multiple host controllers. A host controller is a hardware component that is contained in a host computer.
The host controller driver converts data between the format that is used by the host computer and the format used by the USB host controller.
You must write a USB host controller driver only if you are building a hardware platform with host controller hardware that
does not conform to one of the host controller specifications: universal host controller interface (UHCI),
open host controller interface (OHCI), or enhanced host controller interface (EHCI).

OHCI or UHCI drivers must link with Hcdlib.lib.
This library implements common functionality for OHCI and UHCI. In Windows CE .NET 4.1 and earlier,
a platform that built its own OHCI or UHCI linked with Ohcdmdd2.lib or Uhcdmdd.lib.
With Windows CE .NET 4.2 and later, they must also link with Hcdlib.lib. Hcdlib.lib
implements functionality that is common between OHCI and UHCI.


USB Function Controller Driver  
是指USB功能控制的一个驱动,可以利用此功能,完成自己基于USB的产品驱动开发。

如msdn所示:
Beginning with Windows CE 5.0, universal serial bus (USB)
function controller drivers are no longer monolithic.
A monolithic driver combines all platform dependent drivers (PDDs) and model device drivers (MDDs) into one driver.  

USB function controller drivers are layered drivers.
They contain an MDD and a PDD. This eases portability across hardware platforms.
The client drivers are abstracted as separate clients that are loaded by the USB function driver.
For more information about MDDs, PDDs, and monolithic drivers,
see Layered Drivers vs. Monolithic Drivers.


eeworld自动分行也太长点吧
点赞  2008-4-16 08:57
Windows CE 5.0开发的操作系统,在研华比较旧的主板上能够支持USB 鼠标、键盘和U盘,而在新主板上不支持USB 鼠标、键盘和U盘。

我认为是Windows CE的低层的硬件驱动支持旧的,而不支持新的。

我想请教一下楼上兄弟,我分析的对不对,以及如何解决?
点赞  2008-4-16 16:43
不知道你的新和旧是什么区别,有可能采用的芯片不一样,所以要选择不同的驱动.

标准的USB驱动就有 OHCI  UHCI之分.
点赞  2008-4-16 17:05
应该是芯片不同。
点赞  2008-4-17 10:55
进来学习!
点赞  2008-4-17 11:10

我以前做Windows CE 5.0软件的时候就是因为没有搞清楚这个问题而走了N多弯路.
要是我早来eeworld就好了...
点赞  2008-4-17 16:05
USB Host Controller Drivers 就是设备作为Host时的USB驱动.
而USB Function Controller Driver就是设备作为Client时的驱动,这个驱动负责Client(umass、serial、rndis)的选择与切换,
在注册表里可以设置default client,系统启动后也可动态切换客户端
点赞  2008-4-17 22:28
host是主,是要提供电源的吧.
点赞  2008-4-18 09:10
USB Function Controller Driver 不是Client的驱动。
点赞  2008-4-18 09:33
我的usb键盘在bios启动和dos下,可以用。但由dos进入wince时,就出现蜂鸣器长响。

我认为是wince的硬件驱动HCD不支持AMD LX800型号为cs5536的chipset。

现在想象大家讨教个方法,怎样解决这个问题。

点赞  2008-4-18 10:20
路过,学习,
也是在疑惑了怎样使CE5.0通过USB支持同步的问题才发现USB的这两种形式的具体区别。
点赞  2008-12-12 14:38
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复