USB OTG简介、与普通USB线的区别
USB有三类接口A类接口 -----------最常见的扁平接口,四芯 VCC GND D+ D-
B类接口 -----------方形的梯形接口 同样是四芯
MINI AB类接口 -----------介绍如下。
USB设备分两类 A类设备 (默认是主设备)
B类设备 (默认是从设备)
USB OTG是USB2.0版本的补充,并不是独立的标准,它保留了USB2.0的所有特点。OTG使2个USB外设在脱离PC的情况下可以直接通信。为了实现这种功能,在OTG中有一个新的概念——双功能设备(DRD:Dual-Role Device)。1个DRD能满足下列特征:
具有一定的USB主机能力和提供1个外设列表;
作为外设时能够实现全速操作(或高速操作);
作为主控机时能支持全速操作(低速或高速)
支持主机协商协议(HNP)和会话请求协议(SRP);
仅有1个微型AB连接端口;
能够向电源总线提供不小于8mA的电流。
要实现主机功能,主机必须存储大量的设备驱动程序,并且向电源总线提供一定的电流。对于嵌入式USB主机来说,提供大量的设备驱动程序是不现实的也没有必要,1个嵌入式USB主机只需支持部分特定设备,这些设备就是它的外设列表。
主机协商协议(HNP)
在USB标准中,主机采用A型接口,称为A类设备(A-Device);外设采用B型接口,称为B类设备(B-Device)。1个DRD既可以作为主机,也可以作为外设。那么,当2个DRD互连时,哪个设备作为主机,为什么要作为主机?为了解决这两个问题,在OTG中提出了新的协议——主机协商协议(HNP)。在OTG中还定义了一种新的接口——微型AB插座(mini-AB receptacle)以及微型A插头(mi-ni-A plug)和微型B插头(mini-B plug)。在微型AB插座、微型A插头和微型B插头中增加了1个引脚——ID引脚,如图1所示:
在微型A插头中,ID引脚接地,在微型B插头中,ID引脚悬空。在OTG中,如果设备的ID引脚接地(即mini-A插头连接的设备,如图1右侧的设备),则此设备默认为主机,否则为外设。同时,在设备连接使用过程中,通过主机协商协议,允许主机和外设功能互换。例如,假设图1左边的B-Device为1个手持PDA,右边的A-Device为1个打印机。由于连接线的关系,打印机初始化为主机。但是打印机的驱动程序存在PDA中,这时需要PDA作为主机,打印机作为外设。通过HNP可以方便实现此功能,而不必拔下连接线调换插头方向,重新连接打印机和PDA。
会话请求协议(SRP)
OTG收发器一般用在嵌入式设备中,这类设备普遍采用电池供电,对功耗要求很严。为了节省电源,在OTG标准中,当电源总线没有使用时,允许A类设备挂起电源总线。当1个B类设备要工作时,它必须通过某种方法通知A类设备向电源总线供电。为了实现这一功能,在OTG中提出了会话请求协议(SRP)。在OTG中,1个会话定义为A类设备向电源总线VBUS有效供电的时间。需要注意的是,在OTG中电源一直都是由A类设备(连接mini-Aplug的DRD)提供的。由于主机协商协议,A类设备也可能作为外设使用,此时,电源也必须由A类设备提供。当A类设备挂起VBUS后,B类设备进入休眠状态。当B类设备需要再次工作时,它可以通过向数据线发送1个脉冲信号(Data-linePulsing)或向电源总线发送一个脉冲信号(VBUSPulsing)来请求A类设备向电源总线供电。OTG要求无论是DRD设备还是普通的B类设备,都必须具有发送会话请求的功能;同时,普通的A类设备或者DRD设备都必须能够响应1个会话请求。
OTG线与普通USB线的区别
USB数据线是我们常见的设备,OTG线作为近年来随着手机行业的快速发展,逐步进入了我们的日常使用范围。OTG线与普通USB线的有什么区别?
USB数据线用来连接手机和电脑,可通过电脑访问手机里面的照片、音乐,把手机当做U盘使用。OTG数据线则无需PC,手机可直接通过OTG数据线与U盘、鼠标、键盘等USB设备连接。接U盘直接查找资料,接鼠标方便玩游戏,接键盘可快速打字,接相机直接浏览图片,即拍即传。OTG扩展了手机的功能。

手机通过绿联OTG线给USB风扇供电
OTG线与普通USB线的区别,USB数据线连接电脑的时候,由电脑供电,而OTG数据线连接U盘等设备的时候,手机必须给U盘等外设供电,那么手机是如何识别USB数据线和OTG数据线的?拆解两根线之后,会发现USB数据线的第4pin是悬空的,OTG数据线的第4pin是短接到地的,手机芯片应该是通过第4pin判断插入的是OTG数据线还是USB数据线,并以此来决定是否打开OTG供电。
硬件上的差异就是,OTG 线一端有一根PIN多接了个GND接地线,让机器分辨谁是主机、谁是Device外设,单以外观是无法分辨OTG线与普通USB线的区别的。
传统 usb 接口出pin 有
1. vbus (5v)
2. GND
3. D+
4. D-

OTG线 接线示意图
otg线 只有 micro接口, 总共出5pin
1. vbus
2. GND
3. D+
4. D-
5. ID
USB线材里面都是跑4条线,只差在接头,手机/平板都是micro USB, 接普通USB线,ID pin悬空, 所以运作在 client/peripheral mode。如果把 ID GND接地掉, 就会进入 host mode。
USB OTG简介、与普通USB线的区别的更多相关文章
- USB OTG to PC USB API简介
本API分为四部分:Linux或Android内核 (主要是gadget驱动).linux端API及其DEMO.Windows 驱动.Windows API及其Demo. 一.linux.Androi ...
- USB OTG
OTG检测的原理是:USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时设备 ...
- USB OTG ID 检测原理
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时 ...
- 详述USB OTG发展及协议标准
USB On-The-Go 扩大了USB 的应用领域,将USB 从传统的PC 与外设通讯的模式,扩展到移动电子和嵌入式领域中,抛开主机PC,实现通常的外设与外设之间点对点(Point to Point ...
- USB OTG原理+ ID 检测原理
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时 ...
- USB OTG ID 检测原理【转】
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时 ...
- USB OTG原理和 ID 检测原理
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了 电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机 ...
- OTG线与普通USB线的区别
转自OTG线与普通USB线的区别 USB数据线是我们常见的设备,OTG线作为近年来随着手机行业的快速发展,逐步进入了我们的日常使用范围.OTG线与普通USB线的有什么区别? USB数据线用 ...
- USB OTG简单介绍、与普通USB线的差别
USB有三类接口A类接口 -----------最常见的扁平接口,四芯 VCC GND D+ D- B类接口 ...
随机推荐
- JAVA并发编程学习笔记------FutureTask
FutureTask是Future和Callable的结合体.传统的代码是这样写的Future f = executor.submit(new Callable()); 然后通过Future来取得计算 ...
- WEB消息推送-原理篇
这篇文章主要讲述B/S架构中服务器“推送”消息给浏览器.内容涉及ajax论询(polling),comet(streaming,long polling).后面会附上源代码. 最近在工作有这么一个需求 ...
- Django框架初识
一.安装: pip3 install django 注意pip加入环境变量,安装好以后记得把Django加入环境变量 安装完成后,会在python目录下多了两个文件:1个django文件,1个 ...
- 全部用startssl生成的证书,配置Apache使其支持SSL
Apache的编译安装见这篇: http://www.cnblogs.com/yjken/p/3921840.html 网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就 ...
- BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]
1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 1435 Solve ...
- PHP码农在Golang压力下的生存之道-PHP性能优化实践
随着国内Golang的火爆,phper的生存压力越来越大,在一次内部技术讨论中,gopher甚至提出,要什么php,写php的全部开掉,唉,码农何苦为难码农. 本文试图寻找一种有效实践,减少php w ...
- JDBCTemplate与模板设计方法(二)
前言:上一篇博客介绍了模板方法模式,并且给出了一个小demo,简单对模板方法进行了实现,接下来我们把目光转向spring的源码JDBCTemplate,看一看spring是如何对jdbc进行高度封装的 ...
- docker 实践(一)
docker 简介 容器虚拟化,比传统的虚拟化轻量 2013年出现,发展非常迅猛 Redhat在6.5版本开始支持docker 使用go语言开发,基于apache2.0协议 开源软件,项目代码在git ...
- 洛谷 P2762 太空飞行计划问题 P3410 拍照【最大权闭合子图】题解+代码
洛谷 P2762 太空飞行计划问题 P3410 拍照[最大权闭合子图]题解+代码 最大权闭合子图 定义: 如果对于一个点集合,其中任何一个点都不能到达此集合以外的点,这就叫做闭合子图.每个点都有一个权 ...
- 微信开发系列——微信订阅号前端开发利器:WeUI
前言:年前的两个星期,学习了下微信公众号的开发.后端基本能够基于盛派的第三方sdk能搞定大部分事宜.剩下的就是前端了,关于手机端的浏览器的兼容性,一直是博主的一块心病,因为博主一直专注于bootstr ...