USB端点,管道

USB的端点是硬件

管道是逻辑上的(抽象出来的概念)

从逻辑上讲 USB数据的传输是通过管道进行的,USB系统软件通过默认控制管(与端点0相对应的管道)管理设备,设备驱动程序通过其它的管道来管理设备的功能接口,实现数据交互。下图是一个简化的USB通信框图,体现了USB通信系统中数据流、端点、主机内存缓冲区和管道之间的关系。

4.5.1 USB设备端点
端点是USB设备端的概念。端点是设备内部的数据传输终点,实际上就是一个数据缓冲区(Buffer),是真实的物理单元。这些端点在设备出厂时就已定义好的,每一个端点都有唯一的地址和属性。

在USB主机看来,每个USB设备就是端点的集合,主机只能通过端点与设备进行通讯。设备支持端点的数量是有限的,除默认端点外(端点0),低速设备最多支持 2 组端点(2 个输入(IN),2 个输出(OUT)), 高速和全速设备最多支持 15 组端点。

USB端点按功能可分为控制端点和数据端点。

控制端点在USB设备端就是0地址端点。每个USB设备都必须包括一个USB控制端点,并且这个端点是双向的,其主要功能是主机实现对设备的配置。

数据端点用于数据的传输,一个 USB 设备可以包括若干个数据端点,不同的端点以端点编号和方向区分,不同的端点有不同的特性,可以支持不同的传输类型、访问间隔以及最大数据包大小等。数据端点只支持一个方向的数据传输。

端点的上述特性通过端点描述符来体现。

4.5.2 USB管道

USB数据的传输,宏观的看来是在主机和设备之间进行;微观的看是在主机软件Buffer和设备端点之间进行,可以认为USB 通讯就是主机软件Buffer和设备端点之间的数据交换,交换的通道即称为管道。

管道是USB在软件层面上的一个抽象概念。管道代表主机软件buffer和设备端点之间移动数据的能力,是对USB设备端点的软件抽象,它包括USB设备端点的所有信息,比如带宽使用、传输类型、传输方向和最大有效数据长度等。

USB管道有两种类型:

流管道(Stream Pipe):通过管道传输的数据没有USB定义的结构,只支持单向传输,即IN或OUT。流管道支持中断传输、同步传输和批量传输。

信息管道(Message Pipe):通过管道移动的数据具有一些USB定义的结构。允许数据双向流动并且仅支持控制传输。

管道随着主机和设备的连接的建立而建立,当移除设备时,管道也跟着被移除。任何USB设备一旦上电就存在一个信息管道,即默认控制管道(Default Control Pipe),此管道使用端点0,USB 主机通过该管道来获取设备的描述、配置、状态,并对设备进行配置,USB 设备的即插即用特性即依赖于此。

总结起来,USB端点是物理层面上设备实际执行数据收发工作的硬件实体,而USB管道则是软件层面上抽象出的一种逻辑结构,它封装了与某个特定端点交互的所有细节,使得主机操作系统能够高效地管理和控制与USB设备的数据通信。

4.6 USB即插即用功能

所谓即插即用(Plug & Play)主要包含两个方面的内容:一是热插拔,一是枚举。热插拔由物理层实现,而枚举则主要依靠软件协议实现。

4.6.1 热插拔

热插拔即带电拔插 ,是指设备能够带电接入或者移出正在工作的系统 ,而不影响系统工作的技术。

USB采用四线电缆来传输信号,如上图所示,其中D+ 和 D- 是一对差分信号线,使用3.3V 的电平,VBus 是5V的电源。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_49259827/article/details/139916137

相关推荐
Championship.23.244 天前
Linux 3.0 USB机制深度解析:USB 3.0支持与传统外设驱动架构
linux·运维·架构·usb
ZenasLDR10 天前
Type-C接口iPad键盘皮套
接口·芯片·usb
smallerxuan10 天前
九、CherryUSB 设计架构与工作逻辑分析
usb·cherryusb·cherryusb分析
smallerxuan11 天前
二、USB协议中的设备类
usb·usb协议·usb设备类
smallerxuan13 天前
三、USB协议通信过程
usb·usb协议·usb通信过程
smallerxuan13 天前
七、USB协议中的事务
usb·usb协议·usb事务
smallerxuan13 天前
五、USB协议中的请求
usb·usb协议·usb请求
smallerxuan13 天前
八、USB协议分析与调试实战
usb·usb协议分析·usb协议·usb协议调测
smallerxuan13 天前
四、USB协议中的描述符
usb·usb协议·usb描述符
ZenasLDR16 天前
Type-C接口水冷散热器
接口·芯片·usb