TypeC充电方向小结

网上看到有人提出一个问题,如果将两台手机的typec通过tpyec-typec cable相连,是否可以实现一台手机给另一台手机充电,充电方向是怎样的。

我自己试了一下,将两台typec手机(QC3.0快充协议)对插,确实可以实现一台给另一台充电,但是初始充电方向并不是由电量多少(电池电压)决定的,连续多次插拔typec,初始充电主从状态随机出现,之后可以通过系统内设置usb选项来自由切换充电主从。

查了很多博客和科技文章,感觉没有说的特别清楚的,最后去USB网站上把typec的spec拉下来一看,什么都写的清清楚楚。所以想要搞清楚一个问题,踏踏实实啃spec吧,别想着有人嚼碎了直接喂你。

1.先介绍一下Type C

直接贴引脚定义:


VBus:总线电源,USB PD协议可配置电压,最大20V 5A

GND:地线

TxRx:Tx1 Rx1   Tx2 Rx2 两组数据传输信号,USB3.1标准

CC:CC1和CC2,两个关键引脚,作用很多:

    探测连接,区分正反面,区分DFP和UFP,也就是主从(虽然typec支持正反插,但typec的点定义并不完全对称,比如Rx1,翻转插头再插入就是Rx2,所以需要系统识别插头的正反插情况,用来正确配置Tx和Rx的连接通讯,虽然定义里有CC1和CC2,但是线缆里只有一根cc线,正反插可以连接不同的引脚,通过读取上下拉电平,从而识别插头的方向);

    配置Vbus,有USB Type-C和USB Power Delivery两种模式;

    配置Vconn,当线缆里有芯片的时候,一个cc传输信号,一个cc变成供电Vconn,用来给线缆里的芯片供电(3.3V或5V);

    配置其他模式,如接音频配件时,DP,PCIe时;

D+D-:用来兼容USB2.0协议的数据传输,音频复用时也是L R信号

SBU:复用引脚,和usb协议本身关系不大,复用为其他端口时使用

2.TypeC对插充电方向

接下来就是一开始提出的问题,两台手机用typec对插,是否能一台给另一台充电。

Type-C设备role分为host和device,对应充电过程中的source和sink。有三种形式:DFP(Downstream Facing Port)、UFP(Upstream Facing Port)和DRP(Dual Role port)。DFP只能做Source,CC线上拉电阻Rp;UFP只能做Sink,CC线下拉电阻Rd;DRP两者都能做,通过switch切换Rp Rd。比如一般充电器是DFP,U盘是UFP,手机是DRP。

所以,我们的问题就是,两个DRP端口相连,怎样分配role?

USB端口交互行为:

首先明确几个状态,是我自己的理解:

source角色在未连接时的状态Unattached.SRC,一旦检测到CC线连接下拉电阻,进入AttachWait.SRC状态,持续检测下拉电阻,经过tCCDebounce时间,然后进入正式source连接状态Attached.SRC,并打开Vbus和Vconn。

sink角色在未连接时的状态Unattached.SNK,一旦检测到CC线连接上拉电阻,进入AttachWait.SNK状态,经过tCCDebounce时间后,检测到了source打开的Vbus,之后进入正式sink连接状态Attached.SNK,

接下来是几种角色端口的交互行为。

Source 到 Sink

引用TypeC SPEC:

简单描述一下就是,source和sink通过typec连接后,source通过CC检测到sink的下拉电阻Rd,认为有sink连接,source打开VBUS和VCONN(在另一条CC上),双方建立连接,并且source可以通过调整上拉电阻Rp的大小来控制vRd的电压值,sink通过检测vRd的大小从而得知sink能从vbus上拉多大的电流。


Source 到 DRP

引用TypeC SPEC:

DRP在未建立连接前,会不断切换连接上下拉电阻Rp和Rd(具体切换细节在下面分解)。

source和DRP通过typec连接后,在DRP连接Rd时,source通过CC检测到Rd,之后打开VBUS和VCONN;DRP检测到source的Rp,之后等source打开Vbus后,确认转换为sink,并正式建立连接。

DRP 到 Sink

情况与上一种情况类似,不再赘述。

DRP 到 DRP

此种情况最为复杂,因为DRP也可以分为三种角色,普通DRP,DRP try source,DRP try sink,即有些DRP,在DRP之间的连接中,会有prefer的角色,比如笔记本和手机,肯定都是DRP,但是笔记本可能会设定为try source,因为笔记本毕竟电池容量比较大,如果将笔记本和手机相连,最好还是笔记本作为source给手机充电,而不要反过来,但是笔记本与墙插充电器相连时,笔记本肯定是sink。

在typec spec中,DRP和DRP相连的行为中,提到了3个case,case2和case3就是有一方DRP是try source或try sink的情况,这两种情况比较复杂,这里不展开了,有兴趣可以详细查阅,这里只给出case1,两个普通DRP之间相连的情况。

未正式建立连接时,两个DRP都在各自不断切换上下拉电阻,当有一时刻,DRP1是上拉电阻,DRP2是下拉电阻状态,然后接下来就和Source 到 Sink的情况是一样的。因为两个DRP状态是不断切换的,所以连接时刻的DRP各自的状态就决定了连接后的主从关系,当然如果某一时刻两个DRP都是上拉或下拉,那连接行为最终会失败,DRP重新进入不断切换状态等待连接。

那是否会有一种极端情况,两个DRP切换状态太同步了,一直是同上拉,同下拉,那这两个DRP是不是就一直不能连接了,这就涉及到了DRP切换周期的问题。

还是回溯到SPEC中:


可以看出,SPEC定义了DRP 切换source和sink的一个完整swap周期为tDRP,其中dcSRC.DRP为整个周期中DRP作为source的百分比。SPEC明确说明了,用于控制这个周期和百分比的时钟,不能来自于一个特别准确的时钟源如晶振或陶瓷晶振等,以此来最小化两个DRP在配对过程中出现无限失败的问题。而对于各周期的上下限也非常宽裕,所以实际情况下各DRP的周期会不尽相同,不会出现两个DRP切换周期一直同步而导致的配对过程无限fail的情况。

所以结论是,两个DRP连接结果是主从随机的,这也符合我一开始用两台手机试验的结果。

3.USB PD(Power Delivery)

以上过程其实只是底层硬件上连接的一个初始化状态,正如我实际试验中所提到的,在初始充电状态确认之后,可以通过系统软件设置来切换充电的主从,两个手机也可以互相切换读取对方的文件,这个就涉及到了更上层软件的协议。

可以看到,通过PD协议可以切换充电的source/sink,可以切换数据的DFP和UFP,也可以切换由谁来提供线缆电压Vconn。由于软件层面的内容较多,目前阶段不再继续深入研究。

最后挖个坑等填,下一篇我想还是和手机充电相关,聊一聊目前最流行的两种快速充电协议,PD和QC。


参考引用资料:

USB Type-C Specification Release 1.3

两台TYPE-C手机连接可以互相充电吗,怎么实现?

USB Type-C 如何决定充电方向?

一次失败的USB Type C告白

细谈USB Type-C

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容