USB百科
+ -

USB端点和管道的区别

2021-06-21 2897 4

在USB体系架构中,经常会混用USB端点和USB管道的概念,包括本人也经常混用。但严格来说它们是两个不同的概念,具体表现在:

  • 端点是USB设备端的概念,是真实的特理设备上的概念,其特性是通过端点描述符来描述的。而管道是USB主机端的上软件的概念,其概据USB的设备端点信息建立的数据软件数据通道。
  • 端点不需要配置,其是真真切切的物理存在;而管道是需要配置的,方可进行数据传输。管道属于主机软件层,可动态销毁和创建,在使用管道进行数据传输前,需要配置。
  • USB主机端是通过管道进行数据的收发。USB设备端通过端点进行数据的收发。

USB端点

USB设备端的端点的一个重要组成部分是端点缓冲区。USB主机端通过发送USB数据到USB设备端的缓冲区实现数据的收到功能。USB端点按功能可分为控制端点和数据端点。

控制端点在USB设备端就是通过0地址端点。每个USB设备都必须包括一个USB控制端点,并且这个控掉端点是双向的。控制端点的数据传输使用控制传输方式,其主要功能使主机实现对设备的配置如设备描述符配置描述符和字符串描述的获取和对设备的配置(如设备地址的设置等)。

数据端点从理论上来讲是可选的。数据端点用于数据的传输,传输的类型(控制传输中断传输批量传输,同步/等时传输)等属性。这些属性信息是通过端点描述符来描述符。

在USB体系中,数据的传输方向永远是以主机为参考对象的。向主机发送数据叫做IN,从主机发出数据叫OUT.USB设备还可以支持双向传输控制数据。

USB设备的端点按组进行分类,这个组在USB主语中叫做USB接口,通过接口描述符来描述。一般一个USB接口代表一个USB功能,但也有一些复杂设备是通过多个接口的联合来实现的,如UVC摄像头和UAC音频。

复杂设备的接口关联通过接口关联描述符(IAD)来描述的。

USB主机在进行设备配置前,是需要获取USB的配置描述符。第二次获取的配置描述包含了USB设备的所有接口,端点信息。USB主机通过遍历USB设备描述符中所有的设备接口及转换接口信息,并且查看分析各接口下对应的USB端点信息。

查看端点信息不会影响设备的配置状态。只有对设备进行配置如选择配置,选择接口才会设备的工作状态。

USB管道

USB主机和设备使用管道进行数据通讯。管道是USB主机在软件层面上的一个抽象.管道可以理解为USB主机端对USB端点的软件抽象,所以它包括USB设备端点的所有信息。由于USB数据的收发都是由主机发起的,所以我们可以理解为USB主机通过对USB设备提供的端点进行软件抽象成管道,在主机端通过管道与USB设备的端点进行数据通讯。

USB主机通过选择USB配置或USB接口(转换接口)实现对USB管道的“打开”。当USB管道“打开”后它们是活动的,可以进行数据通讯。

未配置的端点称为端点,而配置的端点称为管道。

USB端点和管道

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB超高速 超高速端点伴随描述符
在接口中描述的每个超高速端点都紧跟着一个超高速端点伴侣描述符( EndpointCompanion descriptor)。这个描述符包含只给超高速端点定义的附加端点特性。这个描述符总是 作 为 配 置 描 述 符 信 息 的 一 部 分 在GetDescriptor(Configuration) ......
UAC Feedback端点
下面转一段对USB feedback的理解:这段时间一直在做USB Audio Device(UAC)设备的开发工作。由于UAC采用的是isochronous endpoint来传输数据,对时钟的要求较高。但无奈我们的嵌入式平台的时钟并不准,数据同步就成了问题。经过研究,发现只能使用异步模式来解决这......
UVC 视频控制接口中断端点描述符
通过视频控制接口包括用于实现特定类请求的控制端点(默认端点0)用于返回中断状态信息的可选中断状态返回端点。视频控制端点描述符标准的视频控制端点描述符使用端点0来实现标准的中断控制,故无须额外的标准视频控制端点描述符。特定类的视频控制端点描述符使用端点0来实现特定类视频控制,故无须特定类的视频控制端点......
USB端点管道的区别
在USB体系架构中,经常会混用USB端点和USB管道的概念,包括本人也经常混用。但严格来说它们是两个不同的概念,具体表现在:端点是USB设备端的概念,是真实的特理设备上的概念,其特性是通过端点描述符来描述的。而管道是USB主机端的上软件的概念,其概据USB的设备端点信息建立的数据软件数据通道。端......
USB设备描述符、配置描述符、接口描述符和端点描述符的拓扑关系
在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。每个USB设备都提供了不同级别的配置信息,可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合(在探测/连接期间需从其中选定一个),配置由多个接口组成。一次只能有一个配置是活动的。大多数的设备只有一个配置和一个接口,当一个设备......
UVC 端点描述符
在USB规范中,端点描述符用于描述设备的端点信息。视频控制接口VC中的端点描述符视频控制接口(VC)的端点描述符可以存在,也可以不存。如果存在,必须是中断类型的,且必须为输入端点。bLength : 描述符大小.固定为0x07.bDescriptorType : 接口描述符类型.固定为0x05.bE......
UAC 音频流端点控制请求
音频流端点控制支持如下选择子:ControlSelector ValueEP_CONTROL_UNDEFINED0x00SAMPLING_FREQ_CONTROL0x01PITCH_CONTROL0x02SAMPLING_FREQ_CONTROL采样......
UVC 视频流端点描述符
视频数据端点可以实现为同步端点或批量端点。等时/同步传输视频端点描述符使用和标准USB设备端点描符同样的数据结构。struct _ENDPOIN_DESCRIPTOR_STRUCT { BYTE bLength; //设备描述符的字节数大小,为0x12 BYTE ......
UAC 标准等时音频数据端点描述符
标准等时音频数据端点描述符:Standard AS Isochronous Audio Data Endpoint Descriptor,用于描述音频数据流的传递方式及方法。标准等时音频数据端点描述符数据结构定义如下:typedef struct _USB_AUDIO_ENDPOINT_DESCRI......
USB 端点描述符
端点描述符USB设备中的每个端点都有自己的端点描述符,由接口描述符中的bNumEndpoint决定其数量struct _ENDPOIN_DESCRIPTOR_STRUCT { BYTE bLength; //设备描述符的字节数大小,为0x7 BYTE bD......
USB 同步/等时传输及反馈端点
USB的四种传输之一同步传输,用于数据实时性比较高,数据量较大但数据的完整性不是很严格的场合。由于时间是同步传输的关键部分,因此USB设计者了解这些不同实体在USB中如何处理时间是很重要的。在大部分的通讯系统中,数据的发送者和接收者以同步的方式进行数据收发。在异步通信系统中,允许数据发送者检测接收方......
UAC 多源自适应数据端点描述符
仅当自适应源有一个或多个同步音频数据端点时,才存在此描述符类型。typedef struct _USB_AUDIO_ENDPOINT_DESCRIPTOR { UINT8 bLength; UINT8 bDescriptorType; UINT8 bEndpointAddre......
USB2.0 包位域成员字段-PID、SOP、包地址、包端点、帧号、CRC5、CRC16
包标识PIDUSB协议定义的包格式PID由8位组成,低4位是类型字段,高4位为低四位的补码。特殊用途包包括了一些用于特定场合的信牌包和握手包。PID含义说明0001令牌OUT主机发送数据到USB设备1001令牌IN主机接收从USB设备发出的数据0101......
UAC麦克见音频同步端点描述符
UAC音频采用同步传输,故数据传输的端点必须为同步传输。端点描述符的数据结构如下:关于同步传输可详见:http://www.usbzh.com/article/detail-118.html标准端点描述符代码如下:/* USB_DT_ENDPOINT: Endpoint descriptor......
USB端点描述符bInterval的时间周期解释
USB 端点描述符用于描述主机查询端点的时间间隔,这个值根据USB的版本和端点的类型而不同。中断传输同步传输控制传输批量传输低速1-255,单位为ms///全速1-255,单位为ms1-16,2^(N-1)个周期单位//高速1-16,2^(N-......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!