TYPE-C PD 浅谈(七)
数据角色交换
在两个装置对接时,Provider会在资料的传输角色上被先预设为Host(DFP),Consumer则为Device(UFP)。在TYPE-C中允许Power/Data传输方向独立,所以就会有Data Role Swap的指令产生。举例,当笔记型电脑接入一个带电源的docking,则docking会对笔记型电脑充电,docking在data传输上预设为Host(DFP),可是笔记型电脑希望在data传输上作为host,则此时笔记型电脑会发出data role swap的需求,经双方沟通同意后,改由笔记型电脑当Host(DFP),docking当device(UFP)。
Data Role Swap, Initiated by UFP Operating as Sink握手流程如下
下列为实际握手情况
Step 1. Docking对笔记本充电
Step 2. 笔记型电脑对docking发起data role swap 请求
Step 3. 笔记本取得Host(DFP)后,开始对device进行一连串data传输格式的握手
如果此时docking外部电源中断,则由docking发出power role swap,不过由于供电不及,产生了Hrad Reset ,断线后改由笔记型电脑对docking供电
此时我们可以经由分析仪发现电流方向变了,并且开始VCONN供电
针对电源转向导致断线并重新握手的情况,USB协会在PD3.0定义了一个新的指令Fast role swap。透过这个指令,Source/Sink可以再同一时间切换Rp/Rd电阻,达成电源脚色的互换。不过这个指令只限定由原本作为Sink的角色来发起。
握手流程如下