USB 2.0 vs USB 2.0 OTG


I am looking for some microcontrollers with USB capabilities and some are said to have USB 2.0 HS Host/Device with PHY others say USB 2.0 HS OTG Host/Device with PHY.

I am not a specialist in the USB specifications, so I wonder, choosing a OTG part will have any set backs or limitations?

I am expecting OTG parts to behave just as regular USB parts do, so if I program my part to act as host, and I connect it with a regular USB 2.0 device, they will connect as usual.

Best Answer

Here are a couple differences between a USB 2.0 host and a USB 2.0 OTG host.

  • Support for high and low speed communication are optional for the OTG host
  • Support for hubs are optional on the OTG host. If hubs aren't supported then you're limited to only one device on that host.
  • Normal hosts are required to be able to supply at least 100mA where as OTG hosts are only required to be able to supply 8mA.
  • The OTG host can tun off VBUS.
  • OTG uses an AB port that can take both types of USB cable.

You can see a lot the requirements of a conventional USB host are optional on the OTG host. The exact capabilities would depend on how the microcontroller implements it. If the OTG host you pick meets your requirements, there shouldn't be any noticeable difference between the two. On the software side of things, the only difference you should see is the added capability to switch between host and device mode on the OTG part.