从零开始学USB(四、USB系统结构)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16777851/article/details/84980658

一个USB系统可以从三个定义区域来描述:

  • USB互联
  • USB设备
  • USB主机

USB互连是USB设备与USB主机连接和通信的方式。 这包括以下内容:

总线拓扑:USB设备与主机之间的连接模型。
层间关系:USB在系统中的每一层都要完成一定的任务。
数据流模型:数据在生产者之间通过USB在系统中移动的方式和消费者。
任务规划:USB提供可以共享的互连机制。通过规划对互连机制的访问,可以支持同步 

1.总线拓扑结构

USB设备和USB主机通过USB总线连接。USB的物理连接是一个星型结构,集线器(HUB)位于每个星形结构的中心,每一段都是主机和某个集线器,或某一功能设备之间的一个点到点的连接,也可以是一个集线器或功能模块之间的点到点的连接。

上图给出了USB的拓扑结构。

由于时间限制允许集线器和电缆传播时间,最大层数允许为7(包括根层)。

请注意,在七层中,主机和任何设备之间的通信路径中最多可以支持五个非根集线器。

Host端有一个Root Hub,可提供一个或多个USB下行端口,每个端口可以连接一个USB Hub或一个USB Device。USB Hub,是用于USB 端口扩展的,即USB Hub可以将一个USB端口扩展为多个端口,图1中的每个Func(Function)就是一个USB Device,如USB键盘,USB鼠标,USB MODEM,USB硬盘等等。

Compound Device是指带一个Hub和一个或多个不可删除的USB Device的复合设备,一个USB系统可连接多达127个Function。

USB主机(USB Host):任何USB系统中只有一个主机。 主机系统的USB接口称为主机控制器。 主机控制器可以以硬件,固件或的组合来实现软件。 根集线器集成在主机系统内以提供一个或多个端点。PC端的USB都是Host,所以将两台PC的USB口通过A-A USB电缆连接起来,是不能实现通信,如果将两个host连起来通信,这样一来的一个USB的系统有了两个的host,与它的网络协议冲突。此处,OTG引入了一个新的概念,HNP(Host Negotiation Protocol),主机协商协议,允许两个设备之间互相协商谁去当Host。不过,即使在OTG中,也只是同一时刻,只存在单个的Host,而不允许存在多个Host的。

USB设备:

  • 集线器:提供可以访问USB总线的更多的接入点。
  • 功能部件:向系统提供特定的功能,如鼠标,键盘,音响等。

当然,一个USB设备要能正常工作,必须满足一下条件:

  1. 支持USB协议
  2. 可以对诸如配置和复位等标准的USB操作做出相应
  3. 具有标准的描述消息

注意:一个USB系统只能有一个USB主控制器,用8位地址表示下面的USB设备, 一共128个地址。但是USB主控制器下面必须带一个Root Hub, hub也算一个设备,换句话说, 还剩下 127个地址给用户。

猜你喜欢

转载自blog.csdn.net/qq_16777851/article/details/84980658
今日推荐