OTG 检测的原理是:
USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。USB OTG技术可实现没有主机时设备与设备之间的数据传输。例如:数码相机可以直接与打印机连接并打印照片,手机与手机之间可以直接传送数据等,从而拓展了USB技术的应用范围。在OTG中,初始主机设备称为A设备,外设称为B设备。也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决定)。

USB OTG接口中有5条线:

2条用来传送数据(D+ 、D-);

1条是电源线(VBUS);

1条则是接地线(GND)、

1条是ID线。ID线---以用于识别不同的电缆端点,mini-A插头(即A外设)中的ID引脚接地,mini-B插头(即B外设)中的ID引脚浮空。当OTG设备检测到接地的ID引脚时,表示默认的是A设备(主机),而检测到ID引脚浮空的设备则认为是B设备(外设)。

只有而言支持USB OTG的设备(即可以做USB Host有可以做Slave的设备),USB_ID信号才有意义。 
当设备检测到USB_ID信号为低时,表该设备应作为Host(主机,也称A设备)用。
当设备检测到USB_ID信号为高时,表示该设备作为Slave(外设,也称B设备)用。

实际的USB连接线中,是没有USB_ID这根线的。 都是在接口部分直接拉死的的。
对于Host端,只需将连接线的USB_ID pin和地短接即可,

对于Slave端,USB连接线的USB_IDpin是悬空的。(设备内部上拉)。

转自: http://blog.csdn.net/liuxd3000/article/details/18216003

扩展参考:

毛毛虫的爹 USB OTG驱动

USB OTG ID 检测原理相关推荐

  1. USB OTG的检测原理及使用

    USB OTG标准允许设备既可作为主机,也可作为外设.USB OTG技术可实现没有主机时,设备和设备之间的数据传输. USB OTG接口中有5条线: 2条用来传输数据(D+.D-) 1条是电源线(VB ...

  2. USB OTG原理+ ID 检测原理

    OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时 ...

  3. USB OTG的工作原理

    USB OTG的工作原理 OTG补充规范对USB 2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole device) ...

  4. USB OTG的工作原理-相互切换和交互流程

    USB OTG的工作原理 OTG补充规范对USB 2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole device) ...

  5. USB OTG插入检测识别

    一 USB引脚一般四根线,定义如下: 为支持OTG功能,mini/micro usb接口扩展了一个ID引脚(第4脚) A设备端ID脚接地,则初始状态为Host,例如PC和支持OTG设备做主设备时 B设 ...

  6. otg usb 定位_详解USB OTG工作原理及其应用

    原标题:详解USB OTG工作原理及其应用 1994年,Intel,Compaq等七家软硬件全球知名企业为了突破当时PC使用串口和并口传输速度的限制,成立了通用串行 开发者论坛( Implemente ...

  7. USB HOST与 USB OTG的区别及工作原理

    在SmartQ 7上面,同时存在USB HOST与 USB OTG两个接口,我想问一下,这两个接口有什么区别么?我怎么认为HOST属于是多余呢? 麻烦高手解答,感激不尽!!! 零 USB背景知识 US ...

  8. USB otg 学习笔记

    1 USB OTG的工作原理 OTG补充规范对USB 2.0的最重要的扩展是其更具节能 性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole devi ...

  9. USB OTG原理简述

    USB OTG即USB On-The-Go的缩写,他目的是实现在没有Host的情况下,实现设备间的数据传送.例如数码相机直接连接到打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打 ...

最新文章

  1. JavaScript 高级技巧 Memoization
  2. C#基础笔记(第九天)
  3. Android 线程死锁的案例
  4. 机器人抓取方式,值得研究。
  5. 上市公司行情查询站点
  6. 如何使用Postman和Newman在CI环境中自动化REST API端到端测试
  7. jdk读写锁ReentrantReadWriteLock
  8. PHP发送和接收JSON请求
  9. 液晶拼接处理器_液晶拼接屏方案的制作和规划
  10. js-Date()对象,get/setFullYear(),getDay()编程练习
  11. 流行的后台管理系统模板总结
  12. 如何搭建免费的网络验证系统
  13. 付费推广的投入产出比达到多少才合理?
  14. Windows系统的电脑有可以删除的文件夹(个人笔记)
  15. html图片的边框属性,css3图片边框border-image的用法
  16. 【C】C语言中sin和cos的用法
  17. C++:实现量化N阶导数运算测试实例
  18. 为什么收藏了这么多3D游戏建模教程,还是没达到可以就业接包的水准?
  19. 程序放在linux哪个目录,linux下装的程序应该放到哪个目录下
  20. 计算机控制和dcs控制的区别,从几个方面了解DCS与PLC控制柜到底有什么区别

热门文章

  1. 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律
  2. 向SharePoint页面添加后台代码
  3. Matlab cell矩阵处理
  4. 信号处理:傅立叶变换的波形分辨率和频率分辨率
  5. 使用matlab编译器生成EXE文件
  6. Centos设置程序开机自启的方法
  7. tensorflow安装教程 win10环境
  8. stringstream用法总结
  9. php运行速度检测软件,PHP执行慢分析工具xdebug + webgrind
  10. 【C++】构建栈 进栈和出栈