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、拓展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值