USB
USB
集成内置 PHY 的 USB 2.0,支持多样 Host、Device 与 OTG 应用
概览
Ameba 系列 SoC 集成了 USB 2.0 控制器并内置了 PHY 模块,提供了丰富的 USB 主机、设备和双角色解决方案,支持通信、多媒体、存储、人机交互等多种应用场景,其性能、兼容性和可靠性已经众多客户大量实际产品充分验证。
USB 类简介
CDC ACM (USB Communication Device Class - Abstract Control Model)
CDC ACM 是 USB CDC 类中最常用的子类,模拟串行通信端口(虚拟串口),允许主机通过 USB 与设备进行串行数据通信,广泛用于调试、透传通信、数据传输、自定义通信协议等场景。
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Bulk IN | 1 | 必需 | 用于设备到主机数据传输 |
| Bulk OUT | 1 | 必需 | 用于主机到设备数据传输 |
| Interrupt IN | 1 | 可选 | 用于通知/状态更新 |
CDC ACM 主机
- 功能描述:连接 USB 转串口设备、调制解调器等,在主机侧生成虚拟串口(如 /dev/ttyACM0、COM 端口),实现串行数据通信
- 典型应用:工业网关、PLC 控制器、嵌入式开发板调试接口、4G/5G 模块 AT 指令通道等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
CDC ACM 设备
- 功能描述:模拟 USB 虚拟串口设备,主机免驱识别为标准 COM 口,支持双向数据收发,常用于固件调试日志输出与命令交互
- 典型应用:USB 转串口模块、IoT 模组调试接口、USB 烧录工具、无线模块 AT 指令接口等
- 支持的 SDK:FreeRTOS、Linux
CDC ECM (USB Communication Device Class - Ethernet Control Model)
CDC ECM 是 USB CDC 类的以太网子类,允许 USB 设备模拟标准以太网网卡,主机通过 USB 接口获得网络连接能力。类似的 USB CDC 网络子类还有 CDC NCM 和 RNDIS,三者主要区别如下:
| 协议 | 标准来源 | 吞吐性能 | 特性 |
|---|---|---|---|
| CDC ECM | USB-IF | 中等 | 标准以太网帧封装,Linux/macOS/Win 10+ 免驱支持 |
| CDC NCM | USB-IF | 最高 | 多帧聚合传输,高吞吐量,嵌入式端实现成本高,Linux/macOS/Win 8.1+ 免驱支持 |
| RNDIS | Microsoft | 中等 | 非 USB-IF 标准,属微软私有协议,Windows 免驱支持,在其它平台上逐渐被边缘化 |
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Bulk IN | 1 | 必需 | 用于设备到主机数据传输 |
| Bulk OUT | 1 | 必需 | 用于主机到设备数据传输 |
| Interrupt IN | 1 | 可选 | 用于通知/状态更新 |
CDC ECM 主机
- 功能描述:连接 USB 网络适配器、4G/5G USB 网卡等设备,在主机侧生成标准以太网接口(如 eth0、usb0),实现 USB 网络共享
- 典型应用:工业路由器、嵌入式 Linux 网关、USB 有线网卡适配器、移动 Wi-Fi 热点等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
CDC ECM 设备
- 功能描述:模拟 USB 以太网网卡,主机通过 USB 接口获得网络访问能力,支持 TCP/IP 协议栈,结合 Wi-Fi 可实现 USB 共享上网功能
- 典型应用:USB 网络共享模块(USB Tethering)、Wi-Fi 转 USB 有线网卡、4G/5G USB 网络棒、嵌入式网络调试接口等
- 支持的 SDK:FreeRTOS、Linux
HID (USB Human Interface Device Class)
HID 是 USB-IF 定义的标准人机交互设备类协议,允许主机与输入/输出设备之间进行数据交互。
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Interrupt IN | 1 | 必需 | 用于设备到主机数据传输 |
| Interrupt OUT | 1 | 可选 | 用于主机到设备数据传输 |
HID 主机
- 功能描述:连接 USB 键盘、鼠标、游戏手柄、触控板等 HID 设备,通过 Report Descriptor 解析输入数据
- 典型应用:智能电视、机顶盒、游戏主机、工业控制终端等
- 支持的 SDK:Linux
HID 设备
- 功能描述:模拟 USB HID 设备,通过 Report Descriptor 向主机上报按键、坐标、传感器等数据
- 典型应用:USB 键盘、USB 鼠标、无线游戏手柄接收器、USB 自定义数据采集设备等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
MSC (USB Mass Storage Class)
MSC 是 USB-IF 定义的标准大容量存储设备类协议,通过 SCSI 命令集实现主机对存储介质的读写访问,支持 U 盘、移动硬盘、读卡器等存储设备的即插即用。
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Bulk IN | 1 | 必需 | 用于设备到主机数据传输 |
| Bulk OUT | 1 | 必需 | 用于主机到设备数据传输 |
MSC 主机
- 功能描述:连接 USB 存储设备,通过 SCSI 命令对存储介质进行读写操作,支持 FAT32、exFAT 等文件系统的挂载与访问
- 典型应用:智能电视、车载娱乐系统、工业数据采集终端、嵌入式 OTA 升级系统、NAS 存储设备等
- 支持的 SDK:FreeRTOS(仅支持 FAT32 设备)、Linux
MSC 设备
- 功能描述:模拟 USB 大容量存储设备,将 SD 卡、eMMC 等存储介质以标准 SCSI LUN 方式暴露给主机,实现文件传输和固件升级
- 典型应用:U 盘、USB 读卡器、USB 移动固态硬盘、IoT 设备固件升级接口、USB 数据记录仪等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
UAC (USB Audio Class)
UAC 是 USB-IF 定义的标准音频设备类协议,允许主机与设备之间进行音频传输(放音、录音)与控制(音量、静音等),目前 Ameba USB 协议栈支持 UAC 1.0 和 UAC 2.0,各协议版本之间的基本差异如下:
| 版本 | 最高采样率 | 特性 |
|---|---|---|
| UAC 1.0 | 96kHz / 24bit | 基础音频流,同步传输 |
| UAC 2.0 | 384kHz / 32bit | 高分辨率音频,反馈机制,省电 |
| UAC 3.0 | 768kHz+ | 低功耗模式,Power Domains |
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Isochronous IN | 1 | 可选 | 用于从设备到主机音频录制 |
| Isochronous OUT | 1 | 可选 | 用于从主机到设备音频播放 |
UAC 主机
- 功能描述:连接 Type-C 耳机、USB 麦克风、USB 扬声器等 USB 音频设备,实现音频传输与控制功能
- 典型应用:智能门铃、智能音箱、智能电视、智能音频模块等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
UAC 设备
- 功能描述:模拟 USB 声卡,支持主机的音频传输和控制请求,结合音频、蓝牙、Wi-Fi 等接口,可实现有线及无线音频传输功能
- 典型应用:USB 麦克风、USB 扬声器、USB 声卡、无线音频模块等
- 支持的 SDK:FreeRTOS、Linux
UVC (USB Video Class)
UVC 是 USB-IF 定义的标准视频设备类协议,允许主机与摄像头、视频采集设备之间进行视频流传输与控制。
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Isochronous IN | 1 | 必需 | 用于从设备到主机视频流传输 |
| Interrupt IN | 1 | 可选 | 用于视频控制和状态通知 |
UVC 主机
- 功能描述:连接 USB 摄像头、视频采集卡等 UVC 设备,获取视频流并进行处理,结合 Wi-Fi 可实现视频流无线转发
- 典型应用:智能门铃、视频会议终端、工业视觉检测、嵌入式人脸识别系统、直播采集设备等
- 支持的 SDK:FreeRTOS、Linux
UVC 设备
- 功能描述:模拟 USB 摄像头,向主机提供标准视频流,结合图像传感器可实现完整的 USB 摄像头方案
- 典型应用:USB 网络摄像头(Webcam)、USB 视频采集棒、USB 内窥镜、USB 工业相机等
- 支持的 SDK:FreeRTOS
Vendor (USB 厂商自定义类)
Vendor 是 USB 协议中保留给厂商自定义的设备类(Class Code 0xFF),不受 USB-IF 标准类规范约束,厂商可根据业务需求自定义传输协议、端点配置与数据格式,配合专用驱动实现高度灵活的 USB 通信方案。
端点/通道配置
| 类型 | 数量 | 依赖类型 | 功能描述 |
|---|---|---|---|
| Control IN/OUT | 1 | 必需 | 用于设备枚举和类特定请求 |
| Bulk/Interrupt/Isochronous | 用户定义 | 可选 | 根据应用需求灵活配置 |
Vendor 主机
- 功能描述:通过自定义驱动与自定义 USB 设备通信,支持灵活定义控制命令和数据传输协议,实现灵活的 USB 通信方案
- 典型应用:USB 烧录器、USB 协议分析仪、工业自动化控制器、USB 数据采集系统等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
Vendor 设备
- 功能描述:以 Class Code 0xFF 向主机声明为厂商自定义设备,通过自定义端点与传输数据格式实现私有通信协议,实现定制化的 USB 功能
- 典型应用:USB 无线传输模块、USB 加密狗、USB 固件升级接口等
- 支持的 SDK:FreeRTOS、Linux、Zephyr
FreeRTOS USB 协议栈
Realtek 自主研发,提供广泛的 USB IF 标准类协议支持和简洁易用的编程接口, 具备高性能、高可靠性、高可配置性等核心优势, 已在众多客户的量产产品中经过充分验证。
- 支持丰富的 USB IF 标准类协议,覆盖主机端与设备端常用功能类,如 CDC ACM/ECM、HID、MSC、UAC、UVC 等
- 支持复合功能主机/设备,通过单一 USB 接口同时承载多个功能类,满足多样化的应用需求
- 支持厂商自定义主机/设备,可基于标准框架快速实现私有 USB 通信协议
- 支持主机/设备双角色动态切换,适应灵活多变的连接拓扑
- 自动检测总线错误,并提供自动重传机制,确保数据传输的完整性与可靠性
- 自动检测连接状态,并提供防抖机制,有效规避因插拔抖动导致的误触发,保障系统稳定运行
- 已在众多客户量产产品中经过长期验证
- 提供精简易用的异步回调式 API,显著降低用户学习成本,同时减少 CPU 调度开销,提升整体系统实时性能
- 提供模板化的通用类驱动与应用开发范式,用户仅需实现少量回调接口即可完成定制化开发,大幅缩短产品研发周期
- 设备描述符全定制,包括但不限于 VID/PID、设备字符串、端点配置等,满足品牌化定制需求
- 类驱动与核心驱动参数可配置,支持针对不同应用场景进行精细化调优
- 支持按需裁剪功能模块,适配资源受限的嵌入式平台
Linux USB 协议栈
复用 Linux 内核原生 USB 框架, 完整兼容 Linux 标准 USB 生态, 天然支持 Linux 社区持续演进的全量 USB 主机端与设备端功能类, 最大化降低用户的软件开发与维护成本。
- 上层协议栈完全复用 Linux 内核原生 USB 子系统, 完整兼容 Linux 标准 USB 主机端与设备端框架, 以及用户态 USB 访问接口,与主流软件生态无缝集成
- 天然支持 Linux 内核所有已集成的 USB 标准类驱动, 包括 CDC ACM/ECM/NCM、HID、MSC、UAC、UVC 等
- 随 Linux 内核版本持续迭代更新,及时获得功能增强、 安全修复与性能优化
- 提供底层 USB PHY 驱动,支持通过 DTS 灵活配置校准参数
- 针对 Ameba 系列芯片 USB 硬件特性,对原生 USB 控制器驱动进行若干优化,提高可靠性
Zephyr USB 协议栈
Realtek 自主研发,相比原生 Zephyr USB 协议栈仅提供有限的设备模式支持, Ameba Zephyr USB 协议栈更加成熟稳定,且额外提供完整的 USB 主机端协议栈支持, 填补了原生协议栈在主机功能方面的空白。
- 支持丰富的 USB-IF 标准类协议,覆盖主机端与设备端常用功能类, 如 CDC ACM、HID、MSC、UAC 等
- 支持复合功能主机/设备,通过单一 USB 接口同时承载多个功能类, 满足多样化的应用需求
- 支持厂商自定义主机/设备,可基于标准框架快速实现私有 USB 通信协议
- 相较于 Zephyr 原生 USB 协议栈,额外提供完整的 USB 主机端协议栈支持
- 与 FreeRTOS SDK 共用经过充分验证的 USB 协议栈核心驱动代码, 相较于 Zephyr 原生 USB 协议栈具备更高的工程成熟度与可靠性
- 自动检测总线错误,并提供自动重传机制,确保数据传输的完整性与可靠性
- 自动检测连接状态,并提供防抖机制,有效规避因插拔抖动导致的误触发,保障系统稳定运行
- 提供精简易用的异步回调式 API,显著降低用户学习成本,同时减少 CPU 调度开销,提升整体系统实时性能
- 提供模板化的通用类驱动与应用开发范式,用户仅需实现少量回调接口即可完成定制化开发,大幅缩短产品研发周期
- 设备描述符全定制,包括 VID/PID、设备字符串、接口数量与端点配置等, 满足品牌化定制需求
- 类驱动与核心驱动参数可配置,支持针对不同应用场景进行精细化调优
- 与 Zephyr 编译系统深度集成,支持按需裁剪功能模块, 有效控制固件体积,适配资源受限的嵌入式平台
典型应用
- USB 音视频传输: 智能猫眼、智能门铃、智能门锁、智能监控、图像采集、智能音箱等应用场景
- USB 4G/以太网通信:物联网网关、移动热点、以太网网卡、智能监控等应用场景
- USB 外部存储:智能音箱、数据采集、OTA 升级、远程文件管理、智能影音等应用场景
- USB 透传通信:串口通信、用户自定义通信协议等应用场景
USB 音视频传输
智能猫眼、智能门铃、智能门锁、智能监控、图像采集、智能音箱等应用场景
USB 4G/以太网通信
物联网网关、移动热点、以太网网卡、智能监控等应用场景
USB 外部存储
智能音箱、数据采集、OTA 升级、远程文件管理、智能影音等应用场景
USB 透传通信
串口通信、用户自定义通信协议等应用场景
- USB 音频设备: 耳机、麦克风、扬声器、智能音箱、智能广播等有线及无线音频应用场景
- USB HID 设备:智能遥控器、智能键鼠、游戏手柄、远程控制等人机交互应用场景
- USB 存储设备:点读笔、录音笔、音频播放器、无线存储等应用场景
- USB 透传通信:串口通信、用户自定义通信协议等应用场景
- USB 无线网卡:USB 无线网卡
USB 音频设备
耳机、麦克风、扬声器、智能音箱、智能广播等有线及无线音频应用场景
USB HID 设备
智能遥控器、智能键鼠、游戏手柄、远程控制等人机交互应用场景
USB 存储设备
点读笔、录音笔、音频播放器、无线存储等应用场景
USB 透传通信
串口通信、用户自定义通信协议等应用场景
USB 无线网卡
USB 无线网卡,为主机端提供网络接入能力
- 车载 CarPlay 互联终端: 上电时处于设备模式,完成必要的认证流程,认证通过后切换为主机模式,主动与车机设备建立 NCM 和 iAP2 通信以实现 CarPlay 功能
- 数据采集设备:在主机模式下,连接扫码枪或传感器(HID/CDC)采集现场数据,当连接 PC 时切换为设备模式,模拟成串口或 U 盘,将采集的数据批量上传至管理系统
- USB 存储设备:在主机模式下,访问 U 盘等外部存储介质,当连接 PC 时切换为 MSC 设备模式,方便用户导入/导出文件,适用于智能音箱、智能记录仪等应用场景
车载 CarPlay 互联终端
上电时处于设备模式,完成必要的认证流程,认证通过后切换为主机模式,主动与车机设备建立 NCM 和 iAP2 通信以实现 CarPlay 功能
数据采集设备
在主机模式下,连接扫码枪或传感器(HID/CDC)采集现场数据,当连接 PC 时切换为设备模式,模拟成串口或 U 盘,将采集的数据批量上传至管理系统
USB 存储设备
在主机模式下,访问 U 盘等外部存储介质,当连接 PC 时切换为 MSC 设备模式,方便用户导入/导出文件,适用于智能音箱、智能记录仪等应用场景
推荐 IC 型号
| 功能 | 筛选 | RTL8721Dx | RTL8720E | RTL8710E | RTL8726E | RTL8713E | RTL8730E | RTL8721F | RTL872xD | RTL8735B |
|---|---|---|---|---|---|---|---|---|---|---|
| 应用处理器 | Cortex-M | Cortex-M | Cortex-M | Cortex-M | Cortex-M | Cortex-A | Cortex-M | Cortex-M | Cortex-M | |
| DSP | ||||||||||
| ISP | ||||||||||
| Arm TrustZone | ||||||||||
| 双频 | ||||||||||
| Wi-Fi 6 | ||||||||||
| R-MESH | ||||||||||
| 超低功耗 | ||||||||||
| 以太网 | ||||||||||
| BT 双模 | ||||||||||
| HMI | ||||||||||
| Audio ADC | ||||||||||
| Audio DAC | ||||||||||
| SDIO Host | ||||||||||
| SD/EMMC Host | ||||||||||
| USB | ||||||||||
| BT 独立天线 | ||||||||||
| CAN |
| Feature | RTL8721Dx | RTL8730E | RTL872xD | RTL8721F | RTL8735B |
|---|---|---|---|---|---|
| 高速模式 (480Mbps) | |||||
| 全速模式 (12Mbps) | |||||
| 主机模式 | |||||
| 外设模式 | |||||
| 外设 IN 端点数量 | 4 | 4 | 4 | 6 | 4 |
| 外设 OUT 端点数量 | 4 | 4 | 4 | 6 | 4 |
| 主机通道数量 | 8 | 8 | 12 | 8 |


