USB OTG简单介绍

USB OTG简单介绍

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

 

1 引言

随着USB2.0版本号的公布,USB越来越流行,已经成为一种标准接口。如今,USB支持三种传输速率:低速(1.5Mb/s)、全速(12Mb/s)和快速(480Mb/s),四种传输类型:块传输、同步传输、中断传输和控制传输。USB应用灵活方便,能满足多种外设的须要。随着个人便携式电子产品的增长和嵌入式技术的飞速发展,USB主机已不再局限于单纯的PC,能够是含有USB主控器的不论什么设备,如PDA、MP3播放器等。在USB2.O规范中也添加了USB嵌入式设备的标准——On-The-Go(OTG),它使外设能够在主机和设备之间相互切换,即当其连接至PC时,它是1个USB设备,而与其它USB设备相连接时,它便作为USB主机。

2 USB OTG

2.1 USB OTG简单介绍

DSBOTG是USB2.O版本号的补充,并非独立的标准,它保留了USB2.0的全部特点。OTG使2个USB外设在脱离PC的情况下能够直接通信。为了实现这样的功能,在OTG中有一个新的概念——双功能设备(DRD:Dual-RoleDevice)。1个DRD能满足下列特征:

●具有一定的USB主机能力和提供1个外设列表;

●作为外设时可以实现全速操作(或快速操作);

●作为主控机时能支持全速操作(低速或快速)

●支持主机协商协议(HNP)和会话请求协议(SRP);

●仅有1个微型AB连接port;

●可以向电源总线提供不小于8mA的电流。

要实现主机功能,主机必须存储大量的设备驱动程序,而且向电源总线提供一定的电流。对于嵌入式USB主机来说,提供大量的设备驱动程序是不现实的也没有必要,1个嵌入式USB主机仅仅需支持部分特定设备,这些设备就是它的外设列表。

2.2 主机协商协议(HNP)

在USB标准中,主机採用A型接口,称为A类设备(A-Device);外设採用B型接口,称为B类设备(B-Device)。1个DRD既能够作为主机,也能够作为外设。那么,当2个DRD互连时,哪个设备作为主机,为什么要作为主机?为了解决这两个问题,在OTG中提出了新的协议——主机协商协议(HNP)。在OTG中还定义了一种新的接口——微型AB插座(mini-ABreceptacle)以及微型A插头(mi-ni-Aplug)和微型B插头(mini-Bplug)。在微型AB插座、微型A插头和微型B插头中添加了1个引脚——ID引脚,如图l所看到的。

USB OTG简单介绍

在微型A插头中,ID引脚接地,在微型B插头中,ID引脚悬空。在OTG中,如果设备的ID引脚接地(即mini-A插头连接的设备,如图l右側的设备),则此设备默觉得主机,否则为外设。同一时候,在设备连接使用过程中,通过主机协商协议,同意主机和外设功能互换。比如,如果图1左边的B-Device为1个手持PDA,右边的A-Device为1个打印机。因为连接线的关系,打印机初始化为主机。可是打印机的驱动程序存在PDA中,这时须要PDA作为主机,打印机作为外设。通过HNP能够方便实现此功能,而不必拔下连接线调换插头方向,又一次连接打印机和PDA。

2.3 会话请求协议(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个会话请求。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118020.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大篆汉字对照表_篆书转换器软件下载(篆体字转换汉字对照表)[通俗易懂]

    笔顺篆书的笔顺和汉字笔顺规则基本相仿,如先横后竖、从上到下、从左到右等,这些对初学者来说是不成问题的。重要的是和汉字不同的笔顺,而这些不同之处正是篆书笔顺的特点,掌握了这些特点,就能把握好篆书的结体,做到匀称匀衡。先中间后左右对称均衡是篆字的特点。对于有中心竖线的篆字,应先写中间竖笔或中间部位的笔画,中间定位后,再写左右对称的其他笔画。对于有中心长弧(一般为撇、捺笔)的篆字,应先从中间长弧写起,再…

    2022年4月18日
    112
  • ASP.NET画直方图

    ASP.NET画直方图最近做直方图,找到了这篇文章,以此为例画一般的直方图可以实现了。usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;

    2022年7月27日
    7
  • 2020美赛A题解题思路(Moving North)

    2020美赛A题解题思路(Moving North)ProblemA:MovingNorth由于海洋温度升高的原因,美国东北海岸的龙虾种群正在往北迁移到海洋温度更低的加拿大海岸附近。但是这会影响到加拿大东岸(即苏格拉北大西洋)的渔业公司的经营。他们想知道,如果全球温度继续升温,苏格拉渔场的鲱鱼和鲭鱼会如何迁移,因为这两种鱼是他们主要的经济来源(而他们的渔船又没有制冷设备,无法长期保存活鱼)。问题1:建立数学模型,预测50年内该两种鱼群的迁…

    2022年4月29日
    57
  • 闭包的定义及作用

    闭包的定义及作用1 闭包的定义 闭包就是能够读取其他函数内部变量的函数 在 js 中 可以将闭包理解成 函数中的函数 nbsp nbsp nbsp 如下代码中 f2 函数就是闭包 functionf1 varm 10 functionf2 alert m 10 2 闭包的作用 nbsp nbsp nbsp A 可以读取函数内部的变量 nbsp nbsp nbsp B 让这些变量的值始终保存

    2025年9月28日
    4
  • 软件测试的基本理论知识_软件测试基础知识整理

    软件测试的基本理论知识_软件测试基础知识整理01软件研发流程1.软件产品软件产品是指向用户提供的计算机软件、信息系统或设备中嵌入的软件或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。2.软件工程软件工程,英文名SoftwareEngineering,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义相当概括,它主要强调软件工程是系统方法而不是某种…

    2025年7月30日
    4
  • robots.txt文件详解「建议收藏」

    robots.txt文件详解「建议收藏」原文地址:robots.txt-禁止爬虫Robots.txt-禁止爬虫robots.txt用于禁止网络爬虫访问网站指定目录。robots.txt的格式采用面向行的语法:空行、注释行(以#打头)、规则行。规则行的格式为:Field:value。常见的规则行:User-Agent、Disallow、Allow行。User-Agent行User-Agent:r

    2022年5月6日
    84

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号