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连接port。 
能够向电源总线提供不小于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线的差别的更多相关文章

  1. USB OTG简单介绍

    1 引言 随着USB2.0版本号的公布,USB越来越流行,已经成为一种标准接口.如今,USB支持三种传输速率:低速(1.5Mb/s).全速(12Mb/s)和快速(480Mb/s),四种传输类型:块传输 ...

  2. USB OTG简介、与普通USB线的区别

    USB有三类接口A类接口                     -----------最常见的扁平接口,四芯  VCC   GND   D+   D- B类接口                    ...

  3. USB OTG简要

    1 介绍 随着USB2.0发布版本号,USB更受欢迎.它已成为一种标准接口.现在,USB它支持三种速度:低速(1.5Mb/s).全速(12Mb/s)速(480Mb/s),四种传输类型:块传输.同步传输 ...

  4. [RK3288][Android6.0] USB OTG模式及切换【转】

    本文转载自:https://blog.csdn.net/kris_fei/article/details/78620960 Platform: RK3288 OS: Android 6.0 Kerne ...

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

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

  6. USB OTG介绍(转载)

    1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Devic ...

  7. USB OTG插入检测识别

    转载请标注原文地址:http://blog.csdn.net/uranus_wm/article/details/9838847 一 USB引脚一般四根线,定义如下: 为支持OTG功能,mini/mi ...

  8. 详述USB OTG发展及协议标准

    USB On-The-Go 扩大了USB 的应用领域,将USB 从传统的PC 与外设通讯的模式,扩展到移动电子和嵌入式领域中,抛开主机PC,实现通常的外设与外设之间点对点(Point to Point ...

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

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

随机推荐

  1. 【Java】 int与char类型间的相互转化

    在[Java] 剑指offer(16) 打印1到最大的n位数中遇到了int类型与char类型之间的转换,这里总结一下. (1)int类型转char类型,将数字加一个‘0’,并强制类型转换为char即可 ...

  2. 036 SQLContext和HiveContext

    1.SqlContext SQLContext依赖SparkContext 功能:支持SparkSQL操作(不依赖Hive) SQLContext在一个JVM中默认允许存在多个 只有SQLContex ...

  3. python django查询一周,一月,一年时间

    首先是当前时间的确定,对于年月日,orm模型都有对应的方法直接查询,周是没有方法直接查询的,我是没有找到这个方法,只能间接的查询 1 2 3 now_time = datetime.datetime. ...

  4. windows下mysql配置

    windows下mysql配置   忙活了大半天,总算配置好了,本文献给windows下没试用过Mysql的小白,勿喷 http://blog.csdn.net/z1074907546/article ...

  5. MarginTop 为何影响父元素的 MarginTop(转)

    add by zhj: 没找到原文 这个问题困惑了很久,虽然没有大碍早就摸出来怎么搞定它,但始终不明白原因出在哪里,如果只是IE有问题我也不会太在意,可问题是所有上等浏览器都表现如此,这样叫我怎能安心 ...

  6. mint-ui 关于有时候官网有时候打不开的问题

    难道就我只有这种情况,不知所措的,要不好看看是什么,看到别人说,是你路由的问题,换个路由的可以了,我觉得不是,那试试HTTP协议的问题 换个https试试就可以 这是什么原因呢? http是超文本传输 ...

  7. luogu P2757 [国家集训队]等差子序列

    题目链接 luogu P2757 [国家集训队]等差子序列 题解 线段树好题 我选择暴力 代码 // luogu-judger-enable-o2 #include<cstdio> inl ...

  8. 媒体查询@media query

    @media query 媒体查询 @media (min-width:768px)小屏 (>=) @media (min-width:992px)中屏 @media (min-width:12 ...

  9. R基础学习(一)-- 连接mysql数据库

    测试环境:win10+RStudio (1)在Console加载两个插件 >install.packages('DBI') Installing package into ‘C:/Users/l ...

  10. 使用 Python 登录网站(转)

    对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看. 这是因为 HTTP 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登录了呢?有两种方式 ...