USB主机控制器规格及驱动结构

USB主机控制器规格及驱动结构,第1张

USB主机控制器有这些规格:OHCI (Open Host Controller Interface)、UHCI (Universal HostController Interface)、EHCI (Enhanced Host Controller Interface)和xHCI (eXtensible Host ControllerInterface)。OHCI驱动程序用来为非PC系统上以及带有SiS和ALi芯片组的PC主板上的USB芯片提供支持。UHCI驱动程序多用来为大多数其他PC主板(包括Intel和Via)上的USB芯片提供支持。EHCI由USB20规范所提出,它兼容于OHCI和UHCI。由于UHCI的硬件线路比OHCI简单,所以成本较低,但需要较复杂的驱动程序,CPU负荷稍重。xHCI,即可扩展的主机控制器接口是Intel公司开发的一个USB主机控制器接口,它目前主要是面向USB 30的,同时它也支持USB 20及以下的设备。

1主机控制器驱动

在Linux内核中,用usb hed结构体描述USB主机控制器驱动,它包含USB主机控制器的“家务”信息、硬件资源、状态描述和用于 *** 作主机控制器的hc_driver。

2EHCI主机控制器驱动

EHCI HCD驱动属于HCD驱动的实例,它定义了一个ehci_hed结构体,通常作为代码清单166定义的usb_hed结构体的私有数据(hed_priv),这个结构体的定义位于rivers/usb/host/ehcih中。

ehci是什么意思

EHCI英文全称为Enhanced Host Controller Interface,是增强型主机控制器接口规范,描述了一个通用串行总线USB20版的主机控制器的寄存器级接口。EHCI规范包括系统软件和主机控制器硬件之间的硬件/软件接口的描述,主要是为硬件组件设计,系统集成商和设备驱动程序(软件)开发。

了解EHCI之前,首先可以先了解HCI (Host Controller Interface) 即主机控制接口。HCI是寄存器层级的界面接口,它允许一个主控制器(Host Controller 如 主板南桥southbridge of Motherboard)来实现与外设如(USB、火线以及蓝牙)之间的通讯。

当外设与PC相连接后,系统先进行初始化,HCI开始线程(threads)读写,建立与外设的连接。接下来,HCI会重置然后读外设的缓存大小,建立与外设的'通讯。而EHCI (Enhanced Host Controller Interface)是HCI增强的(Enhanced)版本。

简单来说,EHCI就是通常所说的USB20接口,如果你的电脑支持USB20的话,那么你使用的USB设备都是接在他上面的

ehci和xhci有什么区别

XHCI英文全称eXtensible Host Controller Interface,是一种可扩展的主机控制器接口,是Intel开发的USB主机控制器。Intel心意哎100系列芯片的USB协议采用的就是XHCI主控,主要面向USB 30标准的,同时也兼容20以下的设备。

简单来说,XHCI是Intel最新开发的主机控制器接口,广泛用户Intel六代Skylake处理器对应的100系列主板上,支持USB30接口,往下也兼容USB20。

EHCI和XHCI都属于主机控制器接口,前者针对的是USB20接口,而后者则根据最新的USB30开发,往下也兼容USB20,简单来说,XHCI是EHCI的增强版。

值得一提的是,由于Win7原生系统没有带有XHCI驱动,因此100系列主板安装Win7系统会出现USB鼠标键盘失效的情况,而Win8和Win10原生系统由于内置了XHCI驱动,因此不会出现这种情况。

libusb支持多进程。

libusb支持Windows *** 作系统下的 USB 30 控制器和设备。 供应商为Windows 7 以及以前的版本,和为Windows 8提供的Microsoft controller xHCI 驱动也是支持的。

如果你不是使用Windows 8 或者更新的 *** 作系统, 你需要使用厂家提供的驱动程序 请确保你使用了最新版的驱动程序。

Linux 平台上的usb驱动开发:

对于内核驱动的大部分设备,诸如带usb接口的hid设备,linux本身已经自带了相关的驱动,我们只要 *** 作设备文件便可以完成对设备大部分的 *** 作,而另外一些设备,诸如自己设计的硬件产品,这些驱动就需要我们驱动工程师开发出相关的驱动了。

内核驱动有它的优点,然而内核驱动在某些情况下会遇到如下的一些问题:当使用我们产品的客户有24内核的平台,同时也有26内核的平台,我们要设计的驱动是要兼容两个平台的,就连makefile 我们都要写两个。

PE环境,运行桌面上的wim镜像编辑器,选择镜像挂载路径,注意镜像挂载方式为可写入,挂载完成后,即可在计算机下看到一个虚拟磁盘,讲USB30驱动程序复制到镜像windows文件夹下系统驱动程序对应文件夹,讲驱动安装配置文件拷贝到windows\inf文件夹下,保存设置,卸载镜像。

1 Microsoft 在 Windows 7 的安装光盘并没有集成各个厂商的 USB30 驱动,可

以使用下面方法添加 USB30 驱动

2 这里以 HP EliteDesk 800 机型为例,下面是 USB30

3 打开 sp62624\Drivers\ HCSwitch 文件夹, 如果系统是 32 位系统就继续打开 X86,如果是 64 位就打开 X64,复制对应文件夹的所有东西到一个方便的地方, 如 h:\aaa

4 打开 sp62624\Drivers\xHCI\Win7 文件夹,如果系统是 32 位系统就继续打开 X86,如果是 64 位就打开 X64,复制对应文件夹的所有东西到 h:\aaa

5 然后在 H 盘新建一个文件夹叫 123(可以随便找地方只是举例)

6 复制光盘镜像 sources 文件夹中的 bootwim 和 installwim 到 h:\aaa

7 新建一个 TXT 文件

8 其中 winfile 指映象的绝对路径,mountdir 指映象展开以后的路径。(可以自 行修改)

9 保存,后缀名改为 bat

10 右键管理员方式运行 bat(DISM 需要管理员权限)。然后等程序执行完毕。这

样你的两个 wim 文件就已经写入了 usb30 驱动

11 然后把 wim 文件复制回原来的地方(建议原文件备份)

1、打开桌面上的计算机,鼠标右键选择管理;

2、选择设备管理器,展开通用串行总线控制器——选择Standard Enhanced PCI to USB Host Controller,鼠标右键选择卸载;

3、重新选中Standard Enhanced PCI to USB Host Controller,选择 *** 作菜单——扫描检测硬件改动。

去选择安装成熟的win7,但是安装过程中会出现报错,提示“缺少所需的 CD/DVD 驱动器设备驱动程序 ”安装就无法继续了,鼠标键盘都无法使用等情况,以为电脑有问题。其实不是这样的,出现这个原因是因为Z170平台使用了XHCI主控代替了以前的EHCI主控,win7安装盘里却没有这个驱动,所以除非你用光盘安装系统,如果你用U盘安装,还没开始装,USB本身就已经失效了。"

以上就是关于USB主机控制器规格及驱动结构全部的内容,包括:USB主机控制器规格及驱动结构、ehci和xhci有什么区别、libusb不支持多进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9311673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存