什么是通用串行总线控制器?
什么是通用串行总线控制器?什么是通用串行总线?
通用串行总线(USB)是用于连接外部设备的串行总线标准。广泛应用于电脑,但也可用于机顶盒和游戏机。补充标准(On-The-Go)使其能够在便携式设备之间直接交换数据。
通用串行总线控制器的驱动程序是USB端口驱动程序,是Intel公司开发的一种通用串行总线架构。
顾名思义,通用串行总线控制器,即USB控制器。
简介
通用串行总线(USB)是一种逐渐取代其他接口标准的新型数据通信方式。由Intel、Compaq、Digital、IBM、Microsoft、NEC、北方电信等计算机公司和通信公司于1995年共同制定,并逐步形成行业标准。
USB总线作为一种高速串行总线,能够满足高速数据传输应用环境的要求,还具有供电简单(总线供电)、安装配置方便(即插即用、支持热插拔)、扩展端口简单(最多可通过hub扩展127外设)、传输模式多样化(四种传输模式)、兼容性好(产品升级后向后兼容)等优点。通用串行总线(USB)自问世以来,成功取代了串口和并口,成为21世纪大量计算机和智能设备的标准扩展接口和必备接口之一,现已发展到USB 4.0版本。
扩展知识
每个USB只有一个主机,包括以下几层:
总线接口
USB总线接口处理电气层和协议层之间的互连。从互连的角度来看,类似的总线接口都是由设备和主机给出的,比如串行接口机(SIE)。USB总线接口由主控制器实现。
USB系统使用主控制器来管理主机和USB设备之间的数据传输。它与主控制器的接口取决于主控制器的硬件定义。同时,USB系统还负责管理USB资源,如带宽、总线能量等,使客户访问USB成为可能。USB系统也有三个基本组件:
主机控制器驱动程序(HCD)这可以将不同的主机控制器设备映射到USB系统中。HCD和USB之间的接口称为HCDI,具体的HCDI由支持不同主机控制器的操作系统定义。通用主机控制器驱动程序(UHCD)位于软件结构的底层,用于管理和控制主机控制器。UHCD可以与USB主机控制器通信并控制它,它对系统软件的其他部分是隐藏的。系统软件中的最高层通过UHCD的软件接口与主控制器通信。
位于UHCD驱动之上的USB驱动(USBD)提供了一个驱动级接口,以满足现有设备驱动设计的要求。USBD以I/O请求包(IRP)的形式提供了一种数据传输体系结构,它要求通过特定的管道传输数据。此外,USBD使客户端呈现为设备的抽象,便于抽象和管理。作为抽象的一部分,USBD有一个默认的管道。通过它,可以访问所有USB设备进行标准的USB控制。这个默认管道描述了USBD和USB设备之间通信的逻辑通道。
主机软件
在某些操作系统中,不提供USB系统软件。这些软件最初用于为设备驱动程序提供配置信息和加载结构。在这些操作系统中,设备驱动程序将应用提供的接口,而不是直接访问USB驱动程序接口(USB驱动程序接口)结构。
USB客户端软件
它位于软件结构的最高层,负责处理特定的USB设备驱动程序。客户端层描述了所有直接作用于设备的软件门户。当系统检测到设备时,这些客户端程序将直接作用于外围硬件。这个独特的特征将USB系统软件放置在客户端和其设备之间,该软件需要由客户端程序根据由USBD在客户端形成的设备映像来处理。
每层主机都有以下功能:
检测连接和移除的USB设备。
管理主机和USB设备之间的数据流。
连接USB状态和活动统计。
控制主控制器和USB设备之间的电气接口,包括有限的能源供应。
HCD提供了主控制器的抽象和通过USB传输的数据的主控制器视角的抽象。USBD提供了USB设备的抽象,以及USBD客户端和USB功能之间的数据传输的抽象。USB系统促进客户和功能之间的数据传输,并作为USB设备标准接口的控制点。USB系统提供缓冲管理功能,并允许数据传输与客户和功能的需求同步。
更多信息,请访问常见问题部分!