一、功能介绍
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供电,VUSB_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上可以测试到高电平脉冲。