《开发板——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模式