就微控制器而言,USB 主机与 USB OTG 支持有何区别?

What is the difference between USB host VS USB OTG support when it comes to Microcontrollers?

该微控制器声称支持 USB 主机、设备和 OTG here。 是意法半导体的STM32F411CEU6。

而来自 Atmel(ATSAM3X8C) 的 this one 只是声称充当 USB 主机和设备。

我认为任何可以作为设备和主机的芯片都可以用来实现OTG功能。我对吗?或者微控制器应该明确支持 OTG 功能?

PS:上面的2个芯片只是样品,第2个在数据表中说它支持OTG,如Jonny_boy 说(是的!糟糕的样本,但现在我不能改变它了!!)。但问题依旧。

查看数据表,我很确定这款 mcu 将被视为具有 usb OTG。绝对符合定义。

此外,通过 product series summary 按 ctrl+f 会出现几个名称中带有“OTG”的寄存器和引脚。如果您查看第 12 章“嵌入式外围设备概述”,第 12.9 节明确指出“USB On-The-Go 高速端口”是该 MCU 的一个特性。请仔细阅读数据表。


编辑 1:

就一般情况而言,维基百科非常明确:

"Use of USB On-The-Go allows those devices to switch back and forth between the roles of host and client devices"

USB 官方网站 usb.org 在其 OTG section.

中有类似(但更冗长)的语言

The USB On-The-Go and Embedded Host Supplements addresses these scenarios by allowing portable devices and non-PC hosts to have the following enhancements:

  • Targeted host capability to communicate with selected other USB peripherals
  • Support for direct connections between OTG devices
  • Power saving features to preserve battery life

我们可以明确地说“是的,('non-pc'(不管那是什么意思))同时具有主机和从机功能的设备被认为是 OTG。