透传主机方案
概述
CDC ACM 类为通信设备类(Communication Device Class,CDC)的抽象控制模型(Abstract Control Model,ACM)子类,可用于数据透传。
USB 协议栈提供了:
标准的 CDC ACM 主机类驱动,通道配置如下:
两个通道用于控制 IN/OUT 传输
一个通道用于中断 IN 传输
一个通道用于批量 IN 传输
一个通道用于批量 OUT 传输
数据透传应用示例,特征如下:
支持 透传设备方案 定义的 CDC ACM 设备
支持数据完整性校验测试、寿命测试、性能测试
支持热插拔
类驱动
应用示例
示例路径: {SDK}/component/example/usb/usbh_cdc_acm
该示例定义了一个 CDC ACM 主机,更多信息,请参考示例路径下的 README.md 文件。
该示例可作为基于 USB 批量传输的透传方案主机端的设计参考。
网络通信主机方案
概述
CDC ECM 类为通信设备类(Communication Device Class,CDC)的以太网控制模型(Ethernet Control Model,ACM)子类,用于通过 USB 实现与网络设备的互联。
USB 协议栈提供了:
标准的 CDC ECM 主机类驱动,通道配置如下:
两个通道用于控制 IN/OUT 传输
一个通道用于中断 IN 传输
一个通道用于批量 IN 传输
一个通道用于批量 OUT 传输
CDC ECM 主机应用示例,可识别 CDC ECM 设备并进行基本的通信测试
CDC ECM 桥接器应用示例,可支持 CDC ECM 设备与路由器之间进行网络通信
类驱动
应用示例
SDK 提供了两个 CDC ECM 主机类应用实例:
CDC ECM 主机示例
示例路径: {SDK}/component/example/usb/usbh_cdc_ecm
该示例定义了一个 CDC ECM 主机,可识别 CDC ECM 设备并进行基本的通信测试。
更多信息,请参考示例路径下的 README.md 文件。
该示例可作为 CDC ECM 主机方案的设计参考。
CDC ECM 桥接器示例
示例路径: {SDK}/component/example/usb/usbh_wifi_bridge
该示例定义了一个 CDC ECM 桥接器,可支持 CDC ECM 设备与路由器之间进行网络通信。
更多信息,请参考示例路径下的 README.md 文件。
该示例可作为 CDC ECM 桥接器方案的设计参考。
存储主机方案
概述
MSC 主机类提供了对大容量存储设备(Mass Storage Class)的支持,使用 SCSI(Small Computer System Interface)命令集与 MSC 设备通信,实现数据读写。
USB 协议栈提供了:
标准的 MSC 主机类驱动,特征如下:
基于 BOT(Bulk-Only Transport)传输协议
通道配置:
两个通道用于控制 IN/OUT 传输
一个通道用于批量 IN 传输
一个通道用于批量 OUT 传输
MSC 主机应用示例
支持 FAT32 格式的标准 MSC 设备
支持基于 FATFS 的数据读写测试
类驱动
应用示例
示例路径: {SDK}/component/example/usb/usbh_msc
该示例定义了一个 MSC 主机,可识别 MSC 设备并基于 FATFS 进行简单的文件读写测试。
更多信息,请参考示例路径下的 README.md 文件。
该示例可作为 MSC 主机方案的设计参考。
视频主机方案
概述
USB 视频类(USB Video Class, UVC)主机可识别、配置并管理连接的 UVC 设备(如摄像头、网络摄像头、视频采集卡),获取图像或视频流信息,应用于图像采集、视频监控、工业巡检、医疗诊断、视频推流等场景。
USB 协议栈提供了:
标准的 UVC 主机类驱动,特征如下:
支持高速或全速的 UVC 1.5 设备
支持 MJPEG/YUV/H264 视频流格式
支持分辨率、帧率设置
最大支持 6MB/s 码率
通道配置:
两个通道用于控制 IN/OUT 传输
一个通道用于等时 IN 传输
UVC 主机应用示例,可与标准 UVC 设备进行通信,支持三种应用场景,可通过 CONFIG_USBH_UVC_APP 来切换:
USBH_UVC_APP_SIMPLE:截取数据帧后只做简单拷贝,用于性能测试
USBH_UVC_APP_VFS:截取 MJPEG/H264 数据帧后,通过 VFS 以图像文件的形式写入 SD 卡
USBH_UVC_APP_HTTPC:截取 MJPEG/H264 数据帧后,通过 HTTP 以图像文件的形式上传至 HTTP 服务器
类驱动
应用示例
示例路径: {SDK}/component/example/usb/usbh_uvc
该示例定义了一个 UVC 主机,可与标准 UVC 设备进行通信,更多信息,请参考示例路径下的 README.md 文件。
该示例可作为基于 UVC 的视频方案主机的设计参考。
自定义主机方案
概述
Vendor 类可作为开发者自定义 USB 主机的设计参考。
SDK 提供了:
Vendor 主机类驱动,通道配置如下:
两个通道用于控制 IN/OUT 传输
两个通道用于批量 IN/OUT 传输
两个通道用于中断 IN/OUT 传输
两个通道用于等时 IN/OUT 传输
Vendor 主机应用示例,特征如下:
支持 自定义设备方案 定义的 Vendor 设备
支持数据完整性校验测试
支持热插拔
类驱动
应用示例
示例路径: {SDK}/component/example/usb/usbh_vendor
该示例定义了一个厂商自定义主机,更多信息,请参考示例路径下的 README.md 文件。
该示例可作为基于 USB 自定义方案主机端的设计参考。