1.5 USB总线结构
随着USB总线接口技术的普及,USB外围设备也极大地丰富起来,例如USB鼠标、USB键盘、USB显示器、USB移动硬盘等。从设计者角度来看,整个USB总线结构其实包括3个主要部分,USB主机、USB线缆和USB设备。
◆ USB主机:也称为USB HOST,一般指的是带USB接口的计算机。
◆ USB线缆:用于连接USB主机和USB外围设备。
◆ USB设备:在USB连接系统中的外部设备,对用户来说是最熟悉的了。
典型的USB总线结构如图1.31所示。在USB数据传输过程中,流向USB主机的数据传输称为上行通信,相应的接口称为上行接口;流向USB设备的数据传输称为下行通信,相应的接口称为下行接口。下面介绍USB系统的几个组成部分。
图1.31 典型的USB总线结构
1.5.1 USB主机
在USB规范协议中,USB主机指的是包含USB主控制器的设备,一般也可以称为USB主设备。通俗来讲,USB 主机可以包括计算机和具有 USB 主控芯片的设备,而计算机是典型的 USB主机。
在USB系统工作过程中,由USB主机来控制USB系统数据和命令的传输。因此,USB主机在整个数据传输过程中占据着主导地位。为了防止总线竞争,USB协议中规定,在同一时刻,USB系统中只允许存在一个USB主机,否则将导致控制指令和数据传输的混乱。
在USB主机中,扮演重要角色的是USB主控制器,其专门负责完成USB主机和USB设备之间的数据传输。典型的USB主控制器芯片如下。
◆ USB 2.0主控制器芯片:例如NXP的ISP1161、ISP1160、ISP1760等。
◆ USB 3.0主控制器芯片,例如NEC的μPD720200等。
另外,除了USB主控制器之外,在主机系统中还需要驱动程序的支持。一般操作系统都会默认支持的,否则安装主机相应的驱动程序即可。
1.5.2 USB线缆
USB线缆用于连接USB主机和USB设备,包括USB线缆以及两端的USB接头。一般需要根据USB主机的接头类型和USB设备的接头类型来合理选择USB线缆。USB低速线缆和超速/高速/全速线缆存在显著的不同,主要体现在如下几方面。
◆ 屏蔽:USB低速线缆不需要屏蔽,而USB超速、高速和全速线缆则需要进行屏蔽。
◆ 铜漏线:USB低速线缆不需要铜漏线,而USB超速、高速和全速线缆则需要铜漏线。
◆ 双绞:USB低速线缆不需要双绞,而USB超速、高速和全速线缆则需要进行双绞。
◆ 分离线缆:USB低速线缆可以作为分离线缆,而USB超速、高速和全速线缆则不能作为分离线缆使用。
◆ 束缚线缆:USB超速、高速、全速和低速线缆均可作为束缚线缆使用。
◆ 差分特征阻抗:在USB规范协议中,USB低速线缆没有规定差分特征阻抗,而USB超速、高速和全速线缆的差分特征阻抗为90Ω。
另外一个重要的区别还在于,超高速USB 3.0的线缆同USB 2.0的线缆在信号线数量上有明显的不同,读者可以参阅1.2.6节的内容。
1.5.3 USB设备
所有连接到USB主机上的设备都可以称为USB设备。随着USB总线接口技术的普及,USB外围设备也极大地丰富起来。以USB设备的功能来区分可以分为如下两大类。
◆ USB集线器:主要用于为USB系统提供额外的连接点,它使得一个主机USB端口可以扩展连接多个设备。
◆ USB功能设备:用于一些用户特定功能的设备,例如USB鼠标、USB键盘、移动硬盘、USB扫描仪等。
下面将分别介绍USB集线器和USB功能设备。
1.USB集线器
前面谈到USB具有良好的扩展特性,一个USB接口理论上可以扩展支持127个USB设备。那么如何实现一个USB主机端口连接多个USB设备呢?这就要用到USB集线器。
USB集线器的示意图如图1.32所示。这里示意了一个4端口的USB集线器,包括一个用于连接USB主机的上行端口和4个连接USB设备的下行端口。USB集线器在USB系统中的连接如图1.33所示。这里,上行端口用于连接 USB主机上的一个 USB接口,下行端口用于连接扩展的USB设备。这样便将一个USB上行端口扩展为4个下行端口,一个主机USB接口便可以扩展连接4个USB设备了。当然,如果一个USB集线器提供更多的下行端口,也就意味着可以连接更多的USB设备。
图1.32 USB集线器示意图
图1.33 USB集线器的连接
在USB协议中规定USB集线器可以级联,最大支持5个USB集线器的串联。这样,通过多个USB集线器级联,便可以实现一个USB接口扩展连接多个USB设备的目的。USB集线器简化了USB的连接,扩展了USB接口数量,具有很好的稳定性,并且价格便宜,目前应用十分广泛。
2.USB功能设备
USB功能设备是用户直接使用的一个独立外部设备,一般具有特定的用途,用来扩展USB主机的功能。例如,USB扫描仪可以使计算机具备扫描仪的功能,USB无线网卡可以使计算机实现无线上网的功能等。
在USB协议规范中明确规定了一些标准的USB设备类,相应的设备必须遵循这些设备类的描述,而未规定的自定义设备则可以根据需要分配其功能和资源需求的配置信息,如USB带宽、接口种类等。USB主机必须在它们能够被使用前对其进行配置。