lilaiju 发表于 2025-3-22 19:00

f405中开发3个usb接口,单芯片不能实现是吧

之前在stm32f407中开发过 CDC 或 HID 设备。现在想开发一个具有 3 个接口的 USB合设备,如下所示进行分配Interface 0 = Communication(0x02)Interface 1 = CDC Data (0x0a)Interface 2 = HID(joystick)用单芯片是不是不能实现,需要外扩收发器?

公羊子丹 发表于 2025-3-23 07:59

STM32F405 只有一个 USB OTG FS 和一个 USB OTG HS,要 3 个接口可能不够吧?

周半梅 发表于 2025-3-23 08:00

你是想做一个 USB 复合设备,还是 3 个独立的 USB 端口?

帛灿灿 发表于 2025-3-23 08:01

如果只是复合设备,应该可以用 USB OTG HS 作为 Device 模式,同时定义多个接口。

童雨竹 发表于 2025-3-23 08:02

你可以用一个 USB HUB 芯片,比如 USB2514,把一个端口扩展成多个。

万图 发表于 2025-3-23 08:03

如果要 3 个物理 USB 端口,STM32F4 可能不行,得考虑更高级别的 MCU。

Wordsworth 发表于 2025-3-23 08:04

之前用 F407 做过 CDC 或 HID,感觉 USB 这块的 ST 库有点复杂,你打算用 HAL 还是裸机?

Bblythe 发表于 2025-3-23 08:05

复合设备的话,usbd_conf.c 里要手动添加多个接口,HID 和 CDC 组合应该可行。

Pulitzer 发表于 2025-3-23 08:06

STM32F4 的 USB HS 需要外接 PHY,比如 USB3300,不然只能跑 FS 速度。

Uriah 发表于 2025-3-23 08:07

你用过 STM32 的 USBX 或者 TinyUSB 吗?可能会比 ST 自带的库好用一点。

Clyde011 发表于 2025-3-23 08:08

如果要 3 个独立 USB,可能得看看 STM32H7 或者用多个 MCU 方案?
页: [1]
查看完整版本: f405中开发3个usb接口,单芯片不能实现是吧