×

什么是移动 USB?资料下载

消耗积分:3 | 格式:pdf | 大小:163.07KB | 2021-04-21

分享资料个

  当我们研究当今的一些小型便携式设备时,实际上都是指一些小型 PC。一般而言,这些小型便携式设备都拥有几个 GB 的存储容量,用于存储丰富的内容。它们的功能通过多处理器和协处理器来实现,且大多数都拥有多个无线接口。这些小型便携式设备同时还具有数码照相和摄像功能,且它们中的大多数都为多媒体播放器——包括音乐和视频播放。这些小型便携式设备使用全功能操作系统,拥有与桌面系统相似的应用程序,例如:电子表格、文档、PDF、电子邮件等等。因此,当我们研究这些设备时,我们不能仅仅把它们当作是一个移动电话、MP3播放器或者数码相机。正如 PC 已经大量地将 USB 作为标准接口一样,这些便携式设备也是如此!然而,这些设备在给定的使用环境下,标准 USB 并不具有它们需要的一切。另一方面,移动 USB (USB-OTG) 是一种通过一个单独、小插孔实现所有这些使用案例的理想有线接口,它不再需要任何其他有线接口。   什么是移动 USB?   要想了解 USB OTG 是什么,我们首先必须了解标准 USB 的一些基本原理。为了了解 USB 的基本原理,我们必需追溯到 USB 1.0 规范发布之前的 20 世纪 90 年代早期,看看那个时候的 PC 是什么样子:   越来越多的用户想把越来越多的外设连接到其 PC   各种外设端口(并行、串行、P/S-2)的选择开始给用户带来诸多问题   另外,连接的多样化一直困扰着普通用户。   大多数用户都不知道如何选择端口   他们不知道端口存在的一些限制   2003 年 7 月,USB-OTG 作为 USB 2.0 规范的补充标准发布,其定义了一类新的设备。此类设备旨在扩展外设产品的功能,以包括有限的主机功能。顾名思义,该规范的最初目标是一些消费类便携式设备,即在无法使用计算机时终端用户可能想要与之共享数据的设备。应用实例包括在两部 PDA 或手机之间共享联系人信息,两部 DSC 或照相手机之间共享照片,或者直接从一部 DSC 或者 PDA 打印。与标准 USB 一样,OTG 也是一种点对点、中央主控制器总线,不应作为一种点对点网络连接。当连接到标准 USB 主机(例如:一台 PC)时, OTG 产品必须作为一个标准外设。OTG 补充标准主要介绍了某个设备在主机模式下时其必须如何工作的问题。   正如标准 USB 主机端口一样,必须为 OTG 主机提供电源。然而,所需电源电流被限定在 8mA 以内。这不是一个最大值;实际上,不存在一个能够提供的最大值。然而,由于大多数可能的 OTG 支持产品都为电池供电,因此在延长电池使用时间和为总线供电 USB 外设提供充足电力之间始终存在一种平衡关系。如果 OTG 产品提供大于 8mA 的最小电流,则显然存在两种大电源电流选项。一种是 100mA,其为所有低功耗 USB 总线供电外设规定的最大电流。它会使 OTG 设备能够服务于大多数闪存驱动器,以及许多其他低功耗外设,例如:键盘或鼠标等。另一种是选择 500mA 的标准 USB 主机端口。它可以让 OTG 设备满足任何总线供电 USB 外设的电源需求。   标准 USB 主机和 OTG 产品之间的第二个重要差异是 OTG 设备可能没有一种为“未识别”设备添加驱动的简单方法。这可能是两个原因所致。首先,可能没有一种向 OTG 设备加载新软件的方法,特别是在 OTG 端口有连接其“新”外设的情况下。也就是说,一些 OTG 设备可能具有无线功能,用以实现为未识别设备下载驱动的网络连接,其要求一种非常复杂的操作系统来实现。第二种潜在局限性是 OTG 设备的内存。这些设备都为操作系统分配了一个固定的存储容量。由于缺少开放式内存,可能无法将其他驱动程序添加到这一存储空间中。因此,OTG 设备必须提供所谓的“目标外设清单 (TPL)”,这就让设备厂商可以准确地指定他们支持的外围设备。USB 规范使用所谓的“USB 报头”信息来识别每一种 USB 设备。任何设备的报头的“前”两个条都是“厂商识别号 (VID)”和“产品识别号 (PID)”。TPL 是一个 VID 和 PID 列表,可以为 OTG 主机所识别,并且可自动包含驱动程序来支持它。列表以一个文件结束,该文件为操作系统的一部分。除这个嵌入设备中的文件以外,OTG 产品还必须随一个文本版 TPL 销售,以供最终用户参考。   由于可能无法在 OTG 设备上添加对新设备的支持,因此要求没有“无提示”故障。换句话说,如果最终用户插入某个不支持设备(不在 TPL 中),一定会提示用户错误消息。首选方法是在 OTG 设备的 LCD 或屏幕上显示图形或者文本消息。如果 OTG 设备没有文本/图形显示器,则必须提供显示消息的其他方法。例如,点亮特定 LED,以特定形式让 LED 闪烁,改变 LED 的颜色等等。无论选择什么样的消息系统,都必须将消息通知最终用户。   在标准 USB 中,主机上的插孔被称作“A”,而外围设备上的插孔被称作“B” 连接器。由于目标终端设备主要为一些小型移动消费类电子产品,因此标准“A”插孔对这些产品来说过大。按照 OTG 规范的原始版本,这些新型连接器被称作“迷你”连接器。随后,对该规范进行了修改,以强制规定 OTG 设备的“微型”连接器。特别是,OTG 设备必须实施一个微型 AB 插孔。这种 AB 名命表示其为批量安装在某个单一设备中的“A”和“B”插孔。该微型 AB 插孔可以插接微型 B 插头或者微型 A 插头。问题似乎很清楚:如果您插一个微型 A 插头,则设备会为一个主机;如果您插一个微型 B 插头,则其为一个外围设备。但是,基于微型 AB 的产品如何知道插入的是什么呢?OTG 规范给标准 USB 系统的四个触点又增加了一个触点,称作 ID。由于 ID 引脚不在标准 USB 连接中,因此规范保留了这一点,并在 ID 引脚上定义了一个无连接,作为初始外围设备。反过来,如果 ID 引脚接地,则设备扮演初始主机角色,如图 1 所示。      图 1 线缆方向决定初始主机/目标角色   如上所述,线缆方向决定着连接处两个 OTG 设备扮演的设备角色。主机通信协议 (HNP) 定义了一种在主机和设备角色之间动态切换的方法。为什么要切换角色呢?如果我们查看图 2,并考虑到每个 OTG 设备都必须包括一个 TPL,我们便能理解这种要求。左边的设备在其 TPL 上有一台打印机,但其并“不”在打印机的 TPL 上。如果用户“倒过来”插入线缆(如图 2 所示),则如果不倒置角色两个设备之间的通信便不可能进行。把线缆从两个设备取下,然后将线缆端点倒过来再重新连接,便可以实现通信。OTG 规范内置到了协议中,以自动地应对这种情况。HNP 允许静默和自动角色倒置,从而实现通信。相比强制规定用户断开线缆然后倒置,这样做提高了最终用户体验。正因这样,需要注意的主机通常为 A 设备但却并非始终如此,这一点很重要。      图 2 主机通信协议实例   会话请求协议 (SRP) 实现了根据“主机”设备需要开/关总线电源的方法,以在不需要通信时省电。许多 OTG 目标终端设备均为电池供电设备。延长电池使用时间对于厂商和最终用户来说都是最为重要的事情。考虑到这一点,OTG 连接中的 A 设备(由线缆方向表示)可以关闭总线电源,并转入延长电池使用时间的睡眠模式。如果需要,它还允许 B 设备也进入睡眠模式。然而,最终用户可能希望再次启动通信,并在 B 设备上发起该请求。SRP 允许 B 设备请求 A 设备开启 VBUS 电源,并发起一个会话。OTG 会话被定义为 A 设备持续提供 VBUS 电源的时间。要唤醒 A 设备,B 设备首先向 D+ 线产生脉冲,然后向 VBUS 线脉冲来唤醒 A 设备。A 设备探测到该脉冲(A 设备可以响应任何一个脉冲行为),从而使其开启 VBUS,并开始一个会话。SRP 协议比这种简单的例子更加复杂。它还必须能够区分在线缆另一端是一台普通 PC 还是 OTG 设备。通过向 VBUS 线提供测定电流量并注意产生的电压,可以做出相关决定。请注意,在图 2 所示实例中,必须提供电源的 A 设备是打印机,它在会话中实际上为外围设备。   为什么应该在便携式设备上实施移动 USB?   如前所述,USB OTG 规范已经发布了五年多时间,而采用率却缓慢滞后。因此,许多人提出如下问题:   OTG 的真正好处是什么?   我的设备中为什么需要它?   首先,让我们再来看原始目标设备——便携式消费类电子产品:手机、PDA、数码照相机、MP3 播放器等等。这些设备中,几乎 100% 都使用 USB 作为连接当今的 PC 和共享数据的方法。当前所有这些设备也都拥有其他一些接口——电池充电电源、音频输入/输出、视频输出、同非 PC 设备通信功能等等。然而,随着体积变得越来越小,去除/减少这种要求外部插孔空间的能力便显得极其重要。   USB 设计论坛(USB-IF,USB 行业协会)已制订或正在制定多项措施,旨在满足这些便携式设备的诸多需求,这些需求已经超出了原始 USB 规范的初始能力/范围。其包括使用 USB 连接电池充电功能、更小型的微型以及手机音频等三个关键方面。当您把这些计划措施组合起来,并同 USB OTG 规范结合后,您便可以仅需一个单独的小型插孔来满足便携式设备的所有有线连接需求,就可以实现全部这种功能。   首先,让我们来看看在电池充电方面正在进行的一些工作。初始 USB 规范并未将电池充电作为正常使用情形的一部分。然而,通过定义外围设备如何使用 5V/500mA 电源,可知设备不能使用这种电源进行充电没有任何理由。设备必须满足所有标准 USB 电源规范,工作期间绝不能超出 500mA 的电流消耗,未配置时低于 100 mA,并且在 PC 处于待机模式下时低于 500A。   通过强制规定在中国销售的所有新型手持终端都必须使用其 USB 接口充电,中国政府已将其提升到法律层面。通过标准 USB 端口连接或者专用 USB 充电器可以满足这种规定。USB 充电器是一种连接交流电但在输出端有一个 USB 插头的电源。数据线保持开路,这样设备便不会尝试通信。很明显,电池限制并不相同,因为其不再是一个提供电源的 USB 主机。他们已经制订出了一种关于这些充电器的规范,这样充电器便可用于所有手持终端。这样,每次您购买一种新的设备时,手持终端厂商便无需再提供一种新的充电器,也就是说任何充电器都可以用于所有的 USB 设备。另外,USB-IF 有了一些最新的进展,其定义了一种让电池供电设备(不管是支持 OTG 还是标准外设)探测连接是标准 USB 主机连接还是专用 USB 充电器的方法。这样做的目的是确保 USB 设备不受不同厂商开发的充电器的损害。 关键问题之一是 OTG 产品将如何在其电池耗尽时管理 VBUS 电流输出。一般而言,在首次连接时,对耗尽电池再充电要求一个大电流尖峰来让电池达到某个基本阈值,以管理设备平衡。然而,如果这种充电是通过标准 USB 主机连接进行的,则不可能满足 USB 规范。因此,终端设备厂商必须在其电源管理设计阶段处理耗尽电池问题。   如上所述,最初发布的 OTG 规范定义了迷你连接器。尽管迷你 B 已经成为许多小型外围设备的标准连接器,但却发现这种迷你 AB 不足以满足这些设备的所有要求。对许多空间敏感型应用来说,它还不够小。其中,更重要的是这种接口的稳健性。人们关心的是,对于这些便携式设备会承受的可能使用次数而言,插/拔生命周期并不够长。最终的改进是增加一个锁闭机制,来防止意外线缆拔取。这种接口可以取代便携式设备的所有其他有线接口,从而节省空间和成本。   重要的新进展是要在 USB-OTG 手持终端和 USB 手持终端之间定义一种标准接口的计划。这是一种新型设备类型,其将定义一种标准接口,允许添加手机支持功能的所有 OTG 型电话/MP3 播放器/视频播放器,作为播放和麦克风输入的数字 USB 手持设备主机。由于该手持设备将连接一个电池供电设备,并极有可能会从该设备接收所有其电源,因此关注功耗对该手持终端设备而言至关重要。它使得此类音频中心产品的厂商能够去除其产品的 2.5mm 音频接口,使用已经存在的 USB 接口。   我们在研究当今的一些便携式消费类电子设备时,发现它们实际上都是一些小型 PC,其拥有许多与 PC 相同的特性,包括存储容量、多处理器、多无线(以及有线)接口、多媒体功能、全功能操作系统和许多类桌面系统应用程序。如果 PC 用户已经从 USB 获得了实际的益处,那么便携式设备也可以将这些好处扩展至其用户便是合理的!   作者简介   Dan Harmon 在过去的 7 年里一直担任 TI 数字接口产品部产品线市场营销经理。在 TI 20 逾年的职业生涯中,Dan 设计了夜视仪 FLIR 系统,其在担任 CCD 产品市场营销工程师之前曾是一名 CCD 影像产品相机设计工程师。Dan 毕业于戴顿大学 (University of Dayton),获理学士学位,后又毕业于德州大学阿灵顿分校 (University of Texas in Arlington),获电子工程硕士学位。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'什么是移动 USB?资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);