USB 系统架构与 Linux USB 子系统详解
一、USB 系统架构
1.1 USB 各层功能
功能层(Function Layer)
功能层的数据并非特定于 USB,主要与该层所实现的功能相关。它决定了 USB 设备的配置,并通过下层将配置信息传递给 USB 主机。对于主机系统而言,功能层就像一个接口集合,展示其所实现的功能。
逻辑设备层(USB Logical Device)
逻辑设备层实现了 USB 设备活动中与 USB 相关的部分。在 USB 主机系统看来,它是一个端点集合,包含默认的端点零以及功能层所需的其他端点。该层还负责维护 USB 规范定义的状态机,并且在所有 USB 设备中执行的功能基本相同,主机可以像直接连接一样与逻辑设备进行通信。
总线接口层(USB Bus Interface)
总线接口层是 USB 设备的硬件实现,通常称为 USB 设备控制器。它实现了物理层、链路层和协议层。虽然总线接口层对 USB 设备和 USB 主机是通用的,但设备的实现比主机更简单。典型的 USB 设备控制器有助于上述逻辑层和功能层进行数据传输,并提供数据传输状态信息和与 USB 相关的信息。
1.2 通信流程
USB 主机和设备之间的通信在软件层面是逻辑连接的,关键的逻辑互连是 USB 设备端点和管道(Pipe)。
端点(Endpoints)
端点是 USB 设备中唯一可识别的位置,是 USB 主机和设备之间通信流的源点或汇点。设备根据其功能由多个端点组成。当设备连接到主机时,主机会为其分配唯一
超级会员免费看
订阅专栏 解锁全文
478

被折叠的 条评论
为什么被折叠?



