一、功能介绍 1、当前很多SOC 都支持OTG功能,所以mini/micro USB的接口上通常会拓展一个USB_ID引脚。如下图 2、USB_ID pin 为低电平时,则设备为host模式。比如PC和支持OTG设备做主设备时。USB_ID pin 为悬空(高电平)时,则设备为device模式。比如U盘和支持OTG设备做从设备时。 3、SOC如果需要支持OTG功能,USB_ID pin需要上拉成高电平。 4、5V_USB网络为双向网络,当设备为host的时候,为电源输出功能,给device供电。当设备为device时,为电源输入功能,接受host的供电。 二、检测过程 1、作为从设备插入主设备时 1)当OTG设备(如SOC主板)插入主设备(比如PC主机)时,主设备会给从设备5V_USB供电,VBUS_ON检测到上升沿,触发中断。从设备会对USB_ID 进行状态检测。当检测到高电平时,设备切换成device模式。 2)切换成device模式后, USB DP(高速设备为DP,低速设备为DM)上产生一个高电平脉冲,此时PC识别到一个USB设备插入,windows会提示用户。 2、作为主设备有从设备插入时 1)当从设备(OTG连接线+U盘)插入主设备(SOC主板)时。主设备的USB_ID pin检测到下降沿。(实际上OTG连接器中micro USB的第4脚是直接连到GND的)设备成host模式。 2)切换成host模式后,主设备通常会将VBUS_DRV拉高,然后通过限流电路给device设备供电。这时候DP上可以测试到高电平脉冲。