从USBPD带你走进手机快充协议

1、快充协议简介

快充,顾名思义就是给手机快速充电,通过软/硬件技术手段,调整手机的电压与电流的输入值,进而缩短手机的充电时间,打破以往传统的5V/1A模式。提升充电速度的方式无非三种:电流不变,提升电压;电压不变,提高电流;电压、电流两者都提高。

随着市场的需求扩张,目前市面上高电压恒定电流、低电压高电流、高电压高电流三种模式都已经出现并完善起来。对于这三种模式,每个厂商都有不同的选择,因此衍生出了多种快充协议。目前较为主流的有PD快充,高通的QC2.0/3.0,联发科的PE协议,oppo、vivo的闪充、华为的SCP等。为规范快充标准,USB-IF(USB标准化组织)发布了USB PD 3.0的重要更新,旨在一统快速充电技术规范方案,并且不允许USB接口通过非USB PD协议进行电压调整,而谷歌也宣布Android7.0以上的手机搭载的快充协议必须支持PD协议,更是加快了PD一统快充协议江湖。下面我们就以USB-PD为例,带你全面认识手机快充。

2、USBPD充电原理

USB-PowerDelivery(USBPD)是由USB-IF组织制定的目前主流的快充协议之一,它可以使目前默认最大功率5V/2A的type-c接口提高到100W功率。并且可以进行双向甚至组网的电能传输,具备系统级供电方案。

图1  USBPD通信线缆

USBPD通信通过VBUS上交流耦合的FSK信号的调制(24MHz)进行半双工通信,从而实现手机和充电器的充电过程。

SOURCE端和SINK端分别代表适配器端和手机内部芯片SINK控制器,从USB通信传输角度可以理解为USBHOST(主设备)和USBOTG(做从设备)。

当电缆接通之后,PD协议的SOP通信就开始在CC线(type-c接口通信配置通道)上进行,以此来选择电源传输的规格,此部分由SINK端向SOURCE端询问能够提供的电源配置参数(5V/9V/12V/15V/20V)。

图2  包含USBPD协议的Type-c系统充电原理框图

以手机端和适配器的9V充电为例,整体过程如下:

USB OTG端(从设备:适配器端)监控VBUS上电压状态,如果有VBUS的5V电压存在并且检测到OTG的ID脚是1K下拉电阻则说明该电缆支持USBPD通信,此时通信过程开始。

图3  PD通信波形电平变化

(1)SINK端发起SOP(起始段),启动SOURSE端USBPD设备管理器,申请获取SOURSE端能提供的规格资料;

(2)SOURCE端回复能提供的规格列表,即根据USBPD规范解析该消息得出适配器所支持的所有电压和电流列表对;

(3)SINK端回复选择的电压规格,即选择一个电压和电流对,并带上所需要的电流参数,发出相应的请求;

(4)SOURSE端适配器内部解码转换后接受请求,调整适配器输出,把VBUS线缆上由5V抬升到9V;

(5)手机收到消息后,SINK端会调整充电电压和电流,待SOURSE端的VBUS线缆到达9V并达到稳定进行充电;

手机在充电过程中可以动态发送消息来请求充电器改变输出电压和电流,从而实现快速充电的过程。

3、USB PD协议解析规划

PD协议的通信编码为Bi-phase Mark Coded (BMC),通过CC脚进行通信,如图所示。

图4  BMC通信线缆

BMC码是一种单线通信编码,数据1的传输,需要有一次高/低电平之间的切换过程,而0的传输则是固定的高电平或者低电平。每一个数据包都包含有0/1交替的前置码,所有的PD传输流程,都是以SOP Packet开始,起始码(SOP),报文头,数据位,CRC以及结束码(EOP)。

图5  PD传输数据

BMC编码的通信,从数据流的测试节点开始,可以使用分析仪进行分析,也可以用带有协议解码功能的示波器进行直接解码,抓取每个数据包,并且获得数据包的报文参数。

图6  协议规划

如图所示即为使用示波器在测试节点所获取的CC脚上PD通信波形。由此可看出,BPD协议的位数较多,解码较为复杂,而通过示波器的协议解码功能,可将完整报文在短时间内迅速解出,大大提升了工程师的工作效率以及直观的体验。

图7  ZDS示波器 USBPD解码
图8  PD协议控制下的电压抬升过程
图9  用双ZOOM模式分析PD各段解码协议

目前ZDS系列示波器不仅能够支持USBPD的协议解码,并且也支持QC2.0/3.0协议的解码,可以满足目前主流快充协议的解码需求,并且在其高达512M的大存储机制下,可支持超长时间的解码还原真实波形,完整监控通信过程;且具有双ZOOM分析功能,可用主时基捕获需要统计数据的波形,通过Zoom1定位一段时间的特征值,再由Zoom2放大波形细节,观测瞬时信号变化,大大提升了工程师的测试便捷性。