一台电脑可以连接127个USB设备?!

 

你觉得自己对USB接口很熟悉吗?你想知道自己的电脑可以连接多少个USB设备吗?本篇将带你领略USB接口的种种风采~...







你觉得自己对USB接口很熟悉吗?你想知道自己的电脑可以连接多少个USB设备吗?本篇将带你领略USB接口的种种风采~

 

1.USB简介

USB全称为Universal Serial Bus,最初为代替许多不同类型的低速总线而设计。1994年Intel联合IBM、康柏、微软、NEC、DEC等当时主要的PC业界大腕成立了USB-IF组织。1996年1月份公布了USB 1.0规范;1998年又出了USB 1.1规范;2000年4月发布USB 2.0规范;2008年11月发布USB 3.0标准;2013年8月 USB 3.1标准规范 将传输速率从5Gbps增强为10Gbps。



图1. 不同版本USB协议的特性

2. USB常见的的接口类型

为了适应各种类型设备的接入,USB接口演化出不同类型的接口。

2.1 USB1.0和USB2.0的各式接口

TypeA:TypeA是最常见的USB接口之一,就是普通的U盘上的接口。小编最早接触到的USB就是这个样子的,它的母口一端固定在台式电脑主机的前面板,它的公口就是我的64MB的U盘。


图2. USB typeA的公口和母口
TyepB:这个类型的USB常见于打印机、移动硬盘、电子开发板上。
图3.
USB
 typeB和typeA对比
Mini-USB:一般用于数码相机、数码摄像机、测量仪器以及移动硬盘等移动设备。Mini-USB分为A/B两种接口,两者的区别在于B型更加扁一些,棱角更尖锐一些。小编最早接触的一个用来装B的MP3播放器,就是使用这种B接口啦。



图4. Mini-USB接口
Micro-USB:适用于移动设备,接口更小,是一个以便携为主要目的版本,也是近几年智能手机最常见的USB接口。
图5.
M
icro-
USB
接口和tpyeA对比图

2.2 USB 3.0的各式接口

USB3.0对比与USB2.0,最大的改动是物理上的重新设计。USB3.0接口,在保留USB2.0原有线路的情况下,增加了5根线路,专供USB3.0使用,以保证USB3.0的向下兼容。


 
图6. USB2.0和USB3.0数据线的结构
TypeA:依然是最常见的USB3.0接口。
  图7.
USB
3.0 type A母口和公口
如果一个USB3.0的母口连接了USB2.0的公口,母口中原有的USB2.0的数据线会和插入的USB2. 0设别的数据线接驳,通过USB2.0 的数据线进行通讯。与此同时,母口中USB3.0专用的5根线,是和USB2.0设备在物理空间上分开的,不会启用USB3.0方式通讯。

如果一个USB3.0的设备连接到USB3.0母口上,二者连接牢固后,两者的3.0数据线和2.0数据线都处于接驳状态,USB会启动一个检测机制,优先使用USB3.0数据通道传输。

TypeB:USB3.0的typeB和USB2.0有很大差别,因为多出了5根数据线,需要重新设计接口。


 
图8.
USB
3.0 typeB数据线的公
口和母口
Micro-USB: 同样由于相比USB2.0多出5根线路,USB3.0的micro接口也进行了重新设计。



图9
USB
3.0 micro-
USB
接口的
母口和公口


图10.
USB
3.0 micro和typeA
接口对比

2.3 USB3.1的接口

Type C这个接口名称是在USB 3.1时代之后出现的,该接口的亮点在于更加纤薄的设计、更快的传输速度(最高10Gbps)以及更强悍的电力传输(最高100W)。

图11. USB typeC和typeA接口对比

3. USB的拓扑结构

 USB是如何连接到电脑上的,当电脑上USB接口不够使用时,如果通过USB hub线扩展出更多的接口。

首先介绍几个概念:

USB Host:USB的主控制器,电脑、手机、电视。

USB Device:USB设备,U盘、键盘鼠标、USB摄像头。

Root Hub:连接host,是host对外连接的总接口。

USB Hub:可以对原有的USB接口进行扩展。获得更过的USB接口,带宽共享根集线器。

3.1 USB的层级结构
 

图12. USB的层级结构
USB host通过root hub对外提供接口,供设备连接。Root hub仅有一个接口,想要连接更多的设备,需要通过hub进行扩展。每一个hub可以扩展出多个接口,多个hub可以逐层连接。

在USB1.1协议中,USB hub可以连接4层,在USB2.0协议以后,USB hub可以连接6层,也就是图12中的tier2 ~ tier7.

由于hub下的所有设备,都是共享该hub的带宽,如果有两个数据量通信比较繁忙的设备,比如两个移动硬盘,就尽量避免连接在一个hub上。

3.2 一个USB host可以连接多少个device

USB协议中,所有设备的地址由host端分配。USB总共总计有7个bit,用来存储USB地址。那么总共的设备地址为2的7次方,也就是128个。Root hub本身占据一个地址,因此可以供device使用的地址也就是128-1=127个。

所以,你的电脑如果有一个host端,理论上最多可以连接127个设备。

3.3 你的电脑可以连接多少个device

电脑可以连接多少个设备,这个有理论最大值,但是具体能接多少个设备,让多少设备可以正常工作,这个就要结合实际的情况了。

电脑有几颗USB芯片,每一个芯片有几个USB host端,总的host端数目乘以127也就是你的电脑在USB协议上支持的最大USB设备个数。
图13. 通过设备管理器查看电脑的USB host


理论上的数目并不容易实现,因为需要考虑供电问题。部分USB host的通过USB总线供电,供电能力大概在500mA。部分设备消耗电流较大,比如移动硬盘和mini 小台灯等,导致USB能驱动的设备数量大打折扣。部分host的集线器是自带电源的,有独立的电源供应,就可以支撑更多的设备。




图14. 集线器端口提供500mA的电流
同理,如果Hub和Device本身自带电源供应,比如常见的多扩展口的hub,电流限制对USB数量扩展影响就大大降低了。

综上所述,你的电脑能驱动多少个USB设备,不仅和电脑的USB host数量有关,还和电脑的hub驱动电流有关,且和USB设备是否自带驱动电源有关。亲爱的朋友,现在你可以拿起笔,计算一下自己的电脑是否可以连接127个USB设备了^.^


    关注 极客街队


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册