USB 主机维护者注意事项(简介)

[English]

本文档包含有关 USB 主机协议栈实现细节的信息,面向 USB 主机协议栈的维护者和第三方贡献者。USB 主机协议栈的用户请参考 USB 主机

警告

USB 主机协议栈的实现细节属于私有 API,因此,除 USB 主机库外的所有层均不遵循 ESP-IDF 版本简介,即允许进行重大更改。

主机协议栈层次结构图

本文档分为以下几个部分:

待写章节:

  • USB 主机维护者注意事项(HAL 和 LL)

  • USB 主机维护者注意事项(HCD)

  • USB 主机维护者注意事项(Hub)

  • USB 主机维护者注意事项(USB Host Library)

简介

ESP-IDF USB 主机协议栈允许 ESP32-S2 作为 USB 主机运行,此时,ESP32-S2 能够与各种 USB 设备通信。然而,大多数 USB 主机协议栈实现都不运行在嵌入式硬件上(即在电脑和手机端运行),因此,相对来说具有更多的资源(即,具有更高内存和 CPU 速度)。

ESP-IDF USB 主机协议栈(以下简称为主机协议栈)的实现考虑到了 ESP32-S2 的嵌入式特性,这体现在主机协议栈设计的各个方面。

特性和局限性

主机协议栈目前支持以下显著特性:

  • 支持 FS(全速)和 LS(低速)设备

  • 支持所有传输类型(控制传输、批量传输、同步传输和中断传输)

  • 自动枚举已连接设备

  • 允许多个类驱动程序(即 USB 主机库的客户端)同时运行并共享同一设备(即组合设备)

主机协议栈目前存在以下显著局限:

  • 不支持 HS(高速)设备

  • 不支持集线器(当前仅支持单个设备)