USB的总线结构是采用阶梯式星形(tiered star)的拓扑(topology)结构,如图1和图2所示。每一个星形的中心是集线器,而每一个设备可以通过集线器上的接口来加以连接。从图中可以看到USB的设各包含了两种类型:USB集线器与USB设各。位于最顶端的就是Host(主机端)。从Host的联机往下连接至Hub(集线器),再由集线器按阶梯式以一层或一阶的方式往下扩展出去,连接在下一层的设各或另一个集线器上。事实上,集线器也可视为一种设各。而其中最大层数为6层(包括计算机内部的根集线器)。每一个星形的外接点的数目可加以变化,一般集线器具有2、4或7个接口。
图1 USB总线的阶梯式星形结构
图2 USB总线的拓扑结构
在此的主机端通常是指PC主机。当然,主机端因具有根集线器,因此也含有集线器的功能。而集线器是在USB规范中特别定义出来的外围设备,除了扩增系统的连接点外,还负责中继(repeat)上端/下端的信号以及控制各个下端端口的电源管理。至于另一个设备,即是用户常见的外围设各。但在USB规范书中,称这种设各为“功能”(functiONs),意味着此系统提供了某些“能力”,例如具有键盘或鼠标等功能。当然不同的外围设各可以具有不同的功能。但基于使用上的习惯,用户在本书中都以设各称之。通过这种阶梯式星形的连接方式,最多可同时连接到127个设备。
此外,当USB 2.0与1.1的设各与集线器在一起使用时,如何才能呈现出最佳的USB 2.0高速带宽的特性?如图3所示,当USB 2.0与1.1规范的设各混合使用时,整个总线上交杂着高速/全速的设各与集线器。而如图4所示,惟有在USB 2.0集线器与USB 2.0设各的连接下,才具备高速总线带宽的特性。
图3 USB 1.1、USB 2.0设备与集线器-起工作的拓仆结构
图4 具备USB 2.0高速总线特性连接示意图
但用户可以试想一下,当PC主机开机前,已有一些外围设各连接上USB总线,那么PC是如何对所有连接至主机端的外围设各加以区分并寻址呢?
首先,PC一接上电源时,所有连接上USB的设各与集线器都会预设为地址0。此时,所有的下端端口的连接器都处于禁用且为失效的状态。然后,PC主机就会向整个USB总线查询。若发现第1个设各,比方说是鼠标,就将地址1分配给鼠标。然后再往下寻找第2个地址,且目前仍为0的设各或集线器。若发现是集线器,就将地址2分配给此集线器,并激活其所扩充的第1个下端端口的连接器。而后再沿此连接器一直往下寻找第3个地址,且仍为0的设各或集线器。这样重复地寻找与分配地址,直到所有的外围设各都赋予了新的地址,或已达到127个外围设各的极限为止。
这种过程类似于将各个设备分别加以列举的程序,称之为设各列举。当然,主机在配置新地址的同时,PC主机还要为每个新设各或集线器加载其所使用的驱动程序。
若在此时一个新的设各被接上,PC主机就会预设此设各为地址0,且PC就会确认并加载其相对应的驱动程序,并分配一个尚未使用到的新地址给它。而一旦某个设备突然被拔离后,PC可经过D+或D-差动信号线的电压变化来检测此设各被移除掉,然后就将其地址收回,并列人可使用的地址数值中。
关键字:USB 总线结构
引用地址:
USB的总线结构
推荐阅读最新更新时间:2024-05-02 21:46
使用STM32的USB模块中后对USB缓冲区的认识
最近在使用STM32的USB模块开发个项目,还以为挺简单,结果搞了快两天才把USB的包缓冲区的访问搞定,在此做个小总结吧。 STM32的USB模块包缓冲区有512B,但是在STM32的参考手册中的存储器映像中却表明0x40006000-0x400063ff,整整多了512B,怎么会这样呢,同时在尝试着编程时也遇到了一个问题: 在usb_core.c文件的Setup0_Process(void)这个函数中,有这么一段: uint16_t offset = 1; if (pInformation- ControlState != PAUSE) { pInformation- USBbmRequestType = *pBuf.b
[单片机]
EZ-USB FX2实现图像采集系统
由于图像采集系统采集的数据量大,带宽要求高,以往的图像采集系统通常使用PCI总线实现。但是计算机本身配置的PCI接口数量非常有限,而且拆装PCI接口设备需要打开机箱,一般操作人员并不具备这样的能力,导致系统应用受到限制。USB(通用串行总线)接口列可以完全解决以上难题。首先,USB2.0接口的速度已经达到480Mbps,完全可以满足图像采集系统对速度的要求。另外,USB接口是真正支持即插即用,且允许热插拨的接口,所以目前大量数据采集系统都选择使用USB2.0接口实现。 本文利用SAA7113H实现模拟视频信号解码,并借助EZ-USB FX2单片机CY7C68013将数字图像数据直接通过USB2.0接口传输到计算机,通过PC机
[模拟电子]
STM32的USB虚拟串口介绍
通常我们使用STM32进行串口通信会选择其硬件串口,但在某些情况下串口会不够用,这个时候就可以选择USB的虚拟串口,这样可以增加一个串口。 USB是非常复杂的一个设备,要想完全搞懂它需要花费不少时间和精力。但去使用它却相对简单。这里我们使用STM32CubeMX构建一个初始工程,然后实现将我们从电脑发下来的东西原封不动地发回电脑,使用的芯片是STM32F103zet6。 USB需要配置两个地方,一个是Connectivity下勾选USB,在Mode下勾选Device,下面的参数保持默认即可。其他芯片类型的选项可能不同,选择有Device字样的就OK。 第二在Middleware下选择USB_DEVICE,在右边的下拉菜
[单片机]
智能停车场USB转串口的应用介绍
随着社会的不断发展,城市里的汽车越来越多。我们就对车辆的集中存放,集中管理,有了更高的要求,从而诞生了智能停车场系统。智能停车场系统在现代停车管理发挥着越来越重要的重用。停车场系统应用现代机械电子及通讯科学技术,控制硬件、软件于一体。 RS485总线在智能停车场系统中普遍使用,但是系统最终会将数据返回到电脑,从而我们就可以实时监控整个停车场系统,大大提高了我们的工作效率。而电脑一般都是通过RS232串口与485总线系统进行数据交换,但是现在许多电脑都没有串口,从而USB转串口在智能停车场系统中的应用也越来越广泛。 USB转串口在智能停车场系统中应用方案:
[嵌入式]
TQ2440移植u-boot-2010.06-rc1---6usb下载
以前做过usb下载的东东,现在把它搞到u-boot-2010.06-rc1上去. 网上有usb下载的代码,可以在这儿下载: http://blogimg.chinaunix.net/blog/upfile2/100109001526.bz2 一. 先编译过再说 1.下载后,解压到u-boot-2010.06-rc1/drivers/usb/slave目录 并在顶层Makefile中添加: LIBS += drivers/usb/slave/libusb_slave.a 2. 将driver/usb/slave/目录下所有C文件所个替换 a. #if defined(CONFIG_S3C2400) #include s
[单片机]
基于USB接口的数据采集系统设计
摘要:以自行开发的基于USB接口的数据采集系统为例,介绍了USB接口的硬件和软件开发过程。
关键词:USB 数据采集 PDIUSBD12
1 USB协议和芯片选择
理解好USB协议是USB系统开发的第一步。USB协议版本包括1.0、1.1和2.0,USB OTG是对2.0版本协议的补充。虽然USB协议内容繁多且复杂,然而,对USB开发影响较大的却只是少数部分,以下对协议版本1.1 中这些部分进行介绍。
1.1 USB协议
一般,每个USB设备由一个或多个配置(Configuration)控制其行为。使用多配置原因是对操作系统的支持;一个配置由接口(Interface)组成;接口则是由管道(Pipe)组成;管道与USB设备
[应用]
USB 3.1 C型新接口研发中:正插反插都行
USB推广组织今天宣布,他们已经开始了下一代USB接口的研发工作,称之为“USB Type-C”。USB接口标准规范已经发展了很多代,目前最常见的当然还是USB 2.0,正在全面普及的是USB 3.0,还有已经搞定但尚未有产品的USB 3.1(带宽翻番至10Gbps),不过标准再多,每一代都可以分为Type-A、Type-B两种类型,并各自衍生出了Mini、Micro两种微型版本。 标准的Type-A是应用最广泛的,Micro-B则是智能手机和平板机目前的标配。 USB Type-C新接口本质上基于USB 3.1、USB 2.0标准规范,官方称“主要面向更轻薄、更纤细的设备,增强可用性,并为未来USB版本的性能增强铺好路”
[手机便携]
Diodes 公司推出 USB Type-C PD3.0 接收控制器
Diodes 公司推出 USB Type-C PD3.0 接收控制器,提供精简且具成本效益的充电解决方案 【2022 年 06 月 29 日美国德州普拉诺讯】Diodes 公司 (Diodes) 新推出两款高效能 USB PD3.0 Sink 控制器 IC,持续强化其 USB Power Delivery (PD) 解决方案的产品组合。 AP33771 与 AP33772 接收控制器专为家电及无线电动工具所设计,可透过 USB-C 协调,达到适当的电压电位。两款控制器的操作电压范围为 3.3V 至 24V。 AP33771 针对电压和功率需求,采用简易的接脚设定,以增加使用便利性,而 AP33772 可为具备 µC
[模拟电子]