USB OTG HUB TYPE_C等知识介绍

来源:互联网 发布:软件生命周期概念 编辑:程序博客网 时间:2024/06/06 01:58

USB OTG  HUB TYPE_C等知识介绍


一、USB OTG技术介绍

1、OTG技术简介

        OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Device,为连接时候的USB Device,设备的USB Host/USB Device角色可以通过HNP切换。

        OTG设备连接时不能跨越USB Hub,如果跨越USB Hub则失去HNP功能。这里要注意A-Device/B-Device与USB Host/Device不是一回事,没有必然的绑定关系A-Device就一定要是Host,A-Device只是连接时的Host可以通过HNP切换,切换完毕A-Device变成USB
       Device但是仍然为总线提供电力。

2.设备类型


Embedded Host:提供标准的A插座,普通的USB Host并带有TPL(支持设备列表)
OTG Device:使用Micro AB插座,可以在运行时切换Host/Device。
仅外设B-Device:仅仅能作为外设的B-Device(分为插头一体和插头线缆分离的)。

注意:OTG Device在插头插入后会先打开VBus,如果没有设备连接则关闭VBus,并开启ADP侦测,而Embedded Host则不会再次关闭VBus。

3.协议


(1)、SRP(Session Request Protocol)
B-Device使用。通过数据线上的脉冲,请求A-Device打开VBUS并且开始一个Session。Session为从VBUS打开到关闭这一段时间。

支持:A-Device允许回应SRP,B-Device(包括仅能作为外设的B-Device),允许发起SRP。一个能够支持HNP的B-
Device应该能够发起SRP。当A插头插入时关闭VBus的Host必须支持回应SRP,VBus总是打开的Host不必响应SRP。


(2)、ADP(Attach Detection Protocol)
提供设备检测是否有对端设备插入。

支持:任何OTG设备,Embedded Host,支持SRP的B-Device允许ADP Probing,B-Device和仅能作为外设的B-Device还必须支持ADP Senseing如果他们支持ADP Probing。


(3)、HNP(Host Negotiation Protocol)
OTG设备通过HNP来切换Host/Device角色。

当前的USB Host通过HNP Polling(类似Polling Hub)通过轮询GetStatus()命令返回的数据中的Host request flag查询对端设备是否请求变为Host,Polling间隔为1-2秒。

当当前的USB Host决定允许B-Device转变为Host以后通过SetFeature()打开b_hnp_enable,本次Session结束后Host回到A-Device手里。

4.一般连接过程(Host -> Device)

(1)、OTG Device /Embedded Host 与 仅作为外设的B-device(带A插头型)

Host端检测到A插头插入,停止ADP,打开VBus,因为B-Device的A插头与设备作为一体,此时B-Device必定与A插头连接,Host检测到外设连接,开始枚举。
 
OTG Device/Embedded Host 与 仅作为外设的B-device(A插头为线缆连接)

Host段检测到A插头插入,停止ADP,打开VBus,如果B-Device是线缆连接完毕在将A插头插入则整个连接过程与上面无异,因为此
时B-Device可能还没有插入插头,则设备连接超时,VBus再次关闭,等待下一次ADP的改变(线缆连接完毕),再次打开VBus,此时开始正常总
线枚举。



(2)、OTG Device 与 OTG Device

Host端检测到插头插入,则打开VBus,如果没有外设检测到,则关闭VBus,打开ADP
Probing,Device端检测到插头插入,则打开SRP,如果线缆没有插入,则SRP超时,Device端开始进行ADP
Probing,当线缆连接完毕,Device端侦测到ADP变化,发送SRP请求Host打开VBus,Host回应SRP并且打开VBus,完成设备
连接。

二、USB Type-C

  USB Type-C凭借其自身强大的功能,在Apple, Intel, Google等厂商的强势推动下,必将迅速引发一场USB接口的革命,并将积极影响我们日常生活的方方面面。为了能够使自己的设备兼容这些接口,通常需要增加一个TYPEC接口CC逻辑控制芯片,但其实并不是每一种设备都需要增加CC逻辑控制芯片(例如: Legendary Technology LDR6013)本文讨论一个重要的专业问题:USB Type-C设备到底是否需要CC逻辑检测与控制芯片?

  要回答这个问题,我们得先从基本概念谈起。

  DFP(Downstream Facing Port)

  下行端口,可以理解为HostDFP提供VBUS,也可以提供数据。典型的DFP设备是电源适配器,因为它永远都只是提供电源。

  UFP(Upstream Facing Port):上行端口,可以理解为DeviceUFPVBUS中取电,并可提供数据。典型设备是U盘,移动硬盘,因为它们永远都是被读取数据和从VBUS取电,当然不排除未来可能出现可以作为主机的U盘。

  DRP(Dual Role Port):双角色端口,DRP既可以做DFP(Host),也可以做UFP(Device),也可以在DFPUFP间动态切换。典型的DRP设备是电脑(电脑可以作为USB的主机,也可以作为被充电的设备(苹果新推出的MacBook),具OTG功能的手机(手机可以作为被充电和被读数据的设备,也可以作为主机为其他设备提供电源或者读取U盘数据),移动电源(放电和充电可通过一个USB Type-C,即此口可以放电也可以充电)

  CC(Configuration Channel):配置通道,这是USB Type-C里新增的关键通道,它的作用有检测USB连接,检测正反插,USB设备间数据与VBUS的连接建立与管理等。

  USB PD(USB Power Delivery)PD是一种通信协议,它是一种新的电源和通讯连接方式,它允许USB设备间传输最高至100W(20V/5A)的功率,同时它可以改变端口的属性,也可以使端口在DFPUFP之间切换,它还可以与电缆通信,获取电缆的属性。

  Electronically Marked Cable:封装有E-Marker芯片的USB Type-C有源电缆,DFPUFP利用PD协议可以读取该电缆的属性:电源传输能力,数据传输能力,ID等信息。所有全功能的Type-C电缆都应该封装有E-Marker,但USB2.0 Type-C电缆可以不封装E-Marker.

  USB Type-C设备DFP-to-UFP配置流程与VBUS管理有如下主要流程:

  设备连接与分开检测:DFP需要检测到CC管脚上有某个电压时,判断UFP设备已插入或拔出,来提供和管理VBUS.当没有UFP设备插入时,必须关闭VBUS,这是与现有电源适配器最大的不同点。因此所有的DFP设备需要CC逻辑检测与控制芯片以及VBUS开关电路。

  插入方向检测:如图1,虽然USB Type-C插座和插头的两排管脚上下对称,USB数据信号都有两组重复的通道,但主控芯片通常只有一组TX/RXD+/-通道。由于USB2.0的数据率最高只有480Mbps,可以不考虑信号走线的阻抗连续性而得到较好地数据传输质量,因此USB2.0D+/-信号可以不被MUX控制而直接从主控芯片一分二连接至USB Type-C插座的两组D+/-管脚上。但USB3.0或者USB3.1的数据率高达5Gbps或者10Gbps,如果信号线还是被简单地一分二的话,不连续的信号线阻抗将严重破坏数据传输质量,因此必须由MUX切换来保证信号路径阻抗的一致性,以确保信号传输质量。下图中右侧所示的MUXTX1/RX1TX2/RX2中选择一路连接至主控芯片,而这个MUX就必须被CC Logic控制。

因此,在USB2.0应用中,无需考虑方向检测问题,但USB3.0或者USB3.1应用中,必须考虑方向检测问题。

TYPEC <wbr>接口芯片CC逻辑原理与必要性

但必须注意的是在USB3.0/USB3.1的应用中,有一种情况也可以不需要MUX,即不需要方向检测,如图2所示,不管是正插还是反插,左侧主机都可以根据CC管脚上的状态来切换MUX来连通USB3.0/USB3.1信号。此场景发生在右侧设备永远是UFP的情况下,比如U盘,移动硬盘等。

  因此,USB3.0/USB3.1应用中,除UFP设备以外的所有设备都需要CC逻辑检测与控制芯片。

TYPEC <wbr>接口芯片CC逻辑原理与必要性

建立DFP-to-UFPVBUS管理与检测

  DRP在待机模式下每50msDFPUFP间切换一次。当切换至DFP时,CC管脚上必须有一个上拉至VBUS的电阻Rp或者输出一个电流源,当切换至UFP时,CC管脚上必须有一个下拉至GND的电阻Rd.此切换动作必须由CC Logic芯片LDR6013来完成。

  当DFP检测到UFP插入之后才可以输出VBUS,当UFP拔出以后必须关闭VBUS.此动作必须由CC Logic芯片来完成。

  USB Type-C VBUS电流检测与使用

  USB Type-C中新增了电流检测与使用功能,新增三种电流模式:默认的USB电源模式(500mA/900mA)1.5A3.0A.三种电流模式由CC管脚来传输和检测,对于需要广播电流输出能力的DFP而言,需要通过不同值的CC上拉电阻Rp来实现;对于UFP而言,需要检测CC管脚上的电压值来获取对方DFP的电流输出能力。

  USB PD通讯

  USB PD看似只是电源传输与管理的协议,实际上它可改变端口角色,可与有源电缆通讯,允许DFP成为受电设备等诸多高级功能,因此支持PD的设备必须采用CC Logic芯片。

  发现与配置扩展其它外设(AudioDebug)

  USB Type-C支持语音附件以及Debug模式,USB Type-C接口的耳机如果只作为UFP且因为其功耗较小而无需检测DFP的供电能力时,无需CC Logic芯片。

  综上,所有的DFP(如电源适配器),所有的DRP(如电脑,手机,平板,移动电源),所有需要检测DFP电流输出能力的UFP,所有支持PD的设备,都需要CC逻辑检测与端口控制芯片(例如Legendary TechnologyLDR6013)。换句话说,只有因为功耗较低而不需要检测电流能力的UFP(U盘,耳机,鼠标等)才不需要CC逻辑检测端口控制芯片。




0 0