《开发板 —— USB的host、device、otg模式》

1.USB物理接口形态

  目前USB硬件是接口上分三种,普通PC使用的接口都是TYPE-A,手机上用的MICRO USB(之前用的是mini USB),现在很多手机开始使用TYPE-C。

  

   从左往右依次为:miniUSB公口(A型插头)、miniUSB公口(B型插头)、USB公口(B型)、USB母口(A型插座)、USB公口(A型插头)

   mini(micro) USB除了第4针外,其他接口功能皆与标准USB相同。第4针成为ID,在mini-A上连接到第5针,在mini-B可以悬空亦可连接到第5针。

  

2.USB HOST/DEVICE/OTG概念

   OTG控制器可以做host,也能做device,控制器的角色一般由USB ID电平来决定。完整的USB2.0 OTG 控制器硬件信号如下:

   USB_ID:输入信号,由 USB OTG 协议定义,用于识别 USB 口所接设备的默认角色(host or device)。USB_ID 默认上拉,处于 device 状况,如果要控制器进入 host 状态,需外接 mini-A 口或 micro-A 口将 USB_ID 短接到地。

  

  也可以由软件进行强制切换,通过控制 

/sys/bus/platform/drivers/usb20_otg/force_usb_mode 

  0: 由硬件即USB ID决定 
  1: 强制 host模式 
  2: 强制 device模式

原文地址:https://www.cnblogs.com/zhuangquan/p/15428992.html