usb系统拓扑结构和usb设备逻辑结构

对于每个usb系统来说,都有一个称为HOST控制器的设备,该Host控制器和一个根Hub作为一个整体。这个根HUb下可以接多级Hub,每个Hub又可以接子Hub。每个usb设备作为一个节点接在不同级别的Hub上。每条usb总线上最多可以接127个设备。


usb主控制器:

    负责处理主机与设备之间的电气和协议层的互联。常见的usb主控制器规格有:

OHCI:只要是非pc系统上的usb芯片

UHCI:usb1.1规格

EHCI: 兼容上面种规格,遵循usb2.0规范


每个usb host控制器都会自带一个usb hub ,被称为根Hub。这个根hub可以接子hub,每个hub上挂载usb设备。通过外接usb hub,可以插更多的usb设备。当usb设备插入到usb Hub或从上面拔出时,都会发出电信号通知系统。


usb设备就是插在usb总线上工作的设备,广义的讲usb Hub也算是usb设备。有的usb设备功能单一,直接挂载在usb hub上。而有的usb设备功能复杂,会将多个usb功能结合在一起,称为一个复合设备。

usb设备逻辑结构


在usb设备的逻辑组织中,包含设备,配置,接口,端点4个层次。

设备通常有一个或多个配置,配置通常有一个或多个接口,接口有零或多个端点。

每个usb设备都可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合(在探测,连接期间需从其中选定一个),配置由多个接口组成。在usb协议中,接口由多个端点组成,代表一个基本的功能,是usb设备驱动程序控制的对象,一个功能复杂的usb设备可以具有多个接口,而接口是端点的汇集

例子

一个usb播放器带有音频,视频功能,还有旋钮和按钮

配置1 音频(接口)+旋钮(接口)

配置2 视频(接口)+音频(接口)+按钮(接口)

每个接口对应需要一个驱动程序


usb设备中的唯一可寻址部分是设备的端点。它是位于usb设备或主机上的一个数据缓冲区,用来存放和发送usb的各种数据。主机和设备的通信最终作用于设备上的各个端点,它是主机与设备间通信流的一个逻辑终端

每个usb设备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中的每个端点在设备内部有唯一的端点号,这个端点号是在设计设备时给定的。每个端点都是一个简单的连接点,或者支持数据流进设备,或者支持其流出设备,两者不可兼得。


基于PnP机制,设备被枚举时,它必须向主机报告各个端点的特性,包括端点号,通信方向,端点支持的最大包大小,带宽要求等(其中端点支持的最大包大小叫做数据有效负载)。每个设备必须有端点0,它用于设备枚举和对设备进行一些基本的控制功能。除了端点0,其余的端点在设备配置之前不能与主机通信,只有向主机报告这些端点的特性并被确认后才能被激活。


usb总线:类似于高速公路

收发的数据类似于汽车

usb端点:;类似于 高速公路收费口的入口或出口。



你可能感兴趣的:(usb)