USB
USB 是一种通用的总线标准,用于连接主机和外部设备。
乐鑫 USB 方案为用户提供了方便快捷的设备互联和数据传输方式。乐鑫 SoC 通过将 USB 作为标配外设之一,提供 USB 2.0 OTG 或 USB-Serial-JTAG 接口,支持主机 (Host) 和设备 (Device) 两种模式,为用户提供了丰富的 USB 主机方案和 USB 设备方案。
不同系列的芯片支持的 USB 功能如下图
USB 2.0 OTG
ESP32-S2/S3 等芯片内置 USB-OTG 外设,它包含了 USB 控制器和 USB PHY,支持通过 USB 线连接到 PC,实现 USB Host 和 USB Device 功能。
USB-OTG 外设内置功能
使用 USB OTG Console 下载固件和打印 LOG
ESP32-S2/S3 等内置 USB-OTG 外设的芯片,ROM Code 中内置了 USB 通信设备类 的功能,该功能可用于替代 UART 接口,实现 Log、Console 和固件下载功能。
详细信息请参考:USB OTG Console
使用 USB OTG DFU 下载固件
ESP32-S2/S3 等内置 USB-OTG 外设的芯片,ROM Code 中内置了 USB DFU 功能,可用于实现标准的 DFU 下载模式。
详细信息请参考:USB Host
USB Host
USB-OTG 外设支持 USB Host 功能,用户可以通过 USB 接口直接连接到外部 USB 设备。ESP-IDF 从 v4.4 版本开始,已经支持 USB Host Driver,用户可以参考 ESP-IDF USB Host,开发 USB Class Driver。
此外乐鑫也已经官方支持 USB Host HID,USB Host MSC,USB Host CDC,USB Host UVC 等设备类驱动,用户可以直接使用这些驱动进行应用开发。
USB Host 方案详情,请参考 USB Host Solution 。
USB Device
USB-OTG 外设支持 USB Device 功能,乐鑫已经官方适配了 TinyUSB 协议栈,用户可以直接使用基于 TinyUSB 开源协议栈开发的 USB 标准设备或自定义设备,例如 HID,MSC,CDC,ECM, UAC 等。
USB Device 方案详情,请参考 USB Device Solution 。
USB-Serial-JTAG
USB-Serial-JTAG 接口包含 USB-to-Serial 转换器和 USB-to-JTAG 转换器。芯片可通过 USB-Serial-JTAG 接口直连 PC 主机,实现固件烧录、日志输出、JTAG 调试等出厂自带的专用 USB 设备功能。专用 USB 设备方案无需外部桥接,占用管脚更少,固件下载速度更快,简化了 JTAG 调试配置过程。
USB-Serial-JTAG 外设的内部结构可参考 ESP32-C3 技术参考手册-USB Serial/JTAG Controller。
USB 烧录
USB 烧录是专用 USB 设备方案的主要功能之一。传统设备通过串口烧录方式,还需外接一个串口转 USB 芯片,才能实现与电脑互连。而搭载乐鑫 SoC 的设备借助 USB 烧录功能,即可直连电脑。USB 烧录功能支持 USB CDC (需要支持 USB-Serial-JTAG 外设)或USB DFU (需支持 USB-OTG 外设)下载模式,更加灵活与高效。它的烧录速度也达到了串口烧录的数倍以上
AG 外设)或USB DFU (需支持 USB-OTG 外设)下载模式,更加灵活与高效。它的烧录速度也达到了串口烧录的数倍以上