2024年2月25日发(作者:)

USB 接口是如何进行通信的?

USB 接口中既没有握手信号,也没有时钟信号,它是怎样进行通信的呢?

我们已经知道,传统的串行口、并行口通过握手信号进行通信,这些接口通常

通过握手信号来联络主机和外设。我们也已经知道,通信双方可以同步或异步

两种方式进行通信,两者最大的区别是,同步通信接口中有时钟信号线。

USB 接口应用很广。可是,USB 接口中既没有握手信号,也没有时钟信号,

它是怎样在主机与外设之间建立联系的呢?又是如何交换数据的呢?为了深入理

解 USB 接口的通信过程,先介绍 USB 的硬件和软件结构。

从物理结构上,USB 系统是一个星形结构。USB 系统包含三类硬件设备:

USB 主机(USB HOST)、 USB 设备(USB DEVICE)和 USB 集线器(USB HUB)。

USB 总线上的物理连接是一个分层的星形拓扑,处于每个星形拓扑中央的是

HUB 集线器,在主机与 HUB 之间,HUB 与 HUB 之间,HUB 与设备之间都是

点对点的连接。

图 1 USB 拓扑结构

USB HOST 对 USB 系统进行管理、每毫秒产生一帧数据、发送配置请求对

USB 设备进行配置、管理和恢复总线上的错误。 USB HUB 用于设备扩展连接,

所有 USB DEVICE 都连接在 USB HUB 的端口上。USB DEVICE 接收 USB 总

线上的所有数据包,通过数据包的地址域来判断是不是发给自己的数据包:若

地址不符,则简单地丢弃该数据包;若地址相符,则通过响应 USB HOST 的数

据包与 USB HOST 进行数据传输。

从逻辑结构上看,每个 USB 逻辑设备都直接与 USB HOST 进行数据传输。

与传统接口以硬件手段实现握手的方法不同,USB 接口使用软握手方法。