USB 管道 && 端点

本文详细介绍了USB通信中的关键概念,包括管道和端点的定义及作用。管道作为数据传输的通道,分为数据流和消息管道两种类型。每个USB设备的端点是预定义的数据缓冲区,主机通过端点与设备交互。控制端点(端点0)用于设备初始化和配置,中断、批量和等时端点分别服务于不同类型的数据传输需求。USB枚举过程通过控制端点完成,确保设备正确配置。此外,文章还提及了USB设备的三层结构以及端点与管道的一一对应关系。

1、管道

  • usb hostusb device 之间通信流的抽象,是一个逻辑上的概念。

  • 对应于驱动程序中的一个数据缓冲区,与一个 外设端点 的连接。

  • 所有的设备必须支持 端点0 以作为设备的 控制管道
    通过 控制管道,可以获取完全描述USB设备的信息,也可以进行相关设置(即 get 和 set)。

  • 管道有两种类型
    数据流管道(其中的数据没有USB定义的结构)
    消息管道(其中的数据必须有USB定义的结构)

  • 1个USB设备可以分为三个层
    1、最上层:USB设备所提供的 功能
    2、中间层:处理 总线接口 与不同的 端点 之间的数据流
    3、最底层:总线接口 ,用来发送与接收包

2、端点

  • 每个 端点 实际上就是一个一定大小的 数据缓冲区
    这些端点在设备出厂时就已定义好。

  • 在主机看来,每1个USB设备是一个端点的集合。
    主机只能通过端点与设备进行通讯,以使用设备的功能。

  • USB端点的四种类型
    1、控制端点
    配置设备,获取设备信息,发送命令给设备,获取设备的状态。
    每个USB设备都有一个名为 “端点0” 的控制端点。
    USB主控在任何设备插入时都通过“端点0”进行设备初始化配置。
    注意所有设备都必须支持上面的 端点0,初始化配置
    端点1,2 等一般用作 数据端点 ,存放主机与设备间往来的数据。
    2、中断端点
    主要是USB键盘、鼠标用来传输少量数据。
    也用于发送数据到USB设备用来控制设备。
    3、批量端点
    用来传输大批量的数据。
    此类端点体积大,比中断端点大得多。
    用于需要确保数据不能丢失的设备,如打印机,存储设备,网络设备等。
    4、等时端点
    也可以传输大批量的数据。
    保证数据的实时性,但是不保证数据的完整性。
    常用于音视频设备。

  • 上述4种端点也对应4种传输。
    枚举过程就是通过控制传输,控制端点来完成的。

  • 管道usb设备中的端点 一一对应,一个usb设备含有多少个端点,其和主机进行通信时就可以使用多少条管道。
    端点的类型 决定了 管道中数据的传输类型

3、拓展

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值