快速充电技术无疑是目前智能手机厂商研发和宣传的重点之一,其方案包括高通的Quick Charge,联发科的Pump Express,以及自主研发的私用技术等等。这些技术的充电协议不同,相互之间无法快速充电。随着USB Type-C接口的普及,Power Delivery(PD) 协议不仅为包括手机在内的所有采用Type-C接口的电子设备提供了统一的快速充电标准,而且加速了电池直充方案的研发和普及。
本文结合实际项目,完成了一套完整的基于PD协议的手机快充系统,包括了手机和充电器的软硬件设计,灵活的可编程充电协议和完善的充电流程。此方案已经成功地应用到知名品牌的手机产品中,取得了很好的效果。
典型的手机充电器的硬件结构(以基于Dialog方案的高通QC2.0快充协议为例)如图 1所示。iW626作为QC2.0协议控制器,经由USB口的D+/D-信号和手机侧AP进行供电协商,然后通过光耦控制原边的AC/DC控制器iW1780完成输出电压的调整。
图1 基于Dialog方案的高通QC2.0快充协议的充电器硬件框图
基于PD协议的充电器电路可以维持AC/DC部分不变,只是将QC协议控制器替换为PD控制器[1],比如Cypress半导体的CCG2(Type-C Controller Generation 2). CCG2 是最早通过USB-IF认证的PD控制器之一,内部包含ARM® Cortex®-M0处理器和完备的PD协议收发器,可以满足充电器,主机,附件,EMAC线缆等各种支持Type-C口的应用,在苹果,联想,HP,Dell,小米,乐视等一线品牌客户都有众多的量产案例。
采用CCG2PD控制器和Dialog AC/DC控制器的充电器电路简图如图 2所示,CCG2通过Type-C口的CC信号和手机AP进行PD协议沟通,然后通过PWM控制光耦将电压和电流需求反馈到AC/DC进行输出调节。CCG2会通过采样VBUS来保证PD协议状态机的可靠运转,并且根据PD状态通过MOSFET控制VBUS的通断。另外CCG2也可以通过D+/D-支持QC3.0协议, 在同一个Type-C口上实现PD和QC的共存(实际工作时两者不能同时起用,用户可以定义优先级和使能策略)。PD快充除了可以进行调压充电,还可以进行电流调节,实现电流精调或者大电流充电甚至直充。CCG2可以使用内部ADC进行电压电流采样,进行闭环控制和OVP/OCP/UVP保护。CCG2的保护机制是软件控制的,因此实时性不够,可以充当AC/DC控制器保护的辅助或者冗余。Cypress的第三代PD控制器CCG3在精简BOM的同时,集成了内部硬件的OCP/OVP等保护机制,提高了ADC精度,提供了最优的大电流直充方案,已经在多个手机客户开始了评估设计。
图2 基于Cypress CCG2方案的PD和QC快充协议的充电器硬件框图
本设计在充电器和手机侧都采用了赛普拉斯第二代Type-C PD控制器 CCG2。手机侧芯片支持死电池(Dead Battery)充电,同时采用了1.6mm * 2.0mm 的CSP封装,外部器件也仅有几个电阻电容,节省了布局布线面积[2];充电器则采用QFN封装的芯片,降低贴片和测试成本,并且解决了无220V AC输入时连接手机的漏电问题。 CCG2使用了带有 32 KB闪存的 32 位48 MHz ARM® Cortex®-M0 处理器,具有完备的USB-PD子系统,如图 3所示。
图3 CCG2控制器的USB-PD子系统
该子系统包含一个USB Type-C收发器和物理层逻辑,收发器执行BMC 和4b/5b 编码、解码功能以及1.2 V的前端偏置,而且还集成了完成TYPE-C连接所需的终端电阻RP (DFP)、RD (UFP)和RA (EMCA),无需复杂的外围电阻或者电流源阵列。CCG2可以支持PD2.0的所有协议以及PD3.0在充电领域的协议,足以满足快速充电或者直充的需求。CCG2内部的高精度SAR(逐次逼近寄存器)ADC,可以实现对于电压电流的数据采集,实现AC/DC之前的另一级闭环控制或者监控,实现完美的TYPE-C端口供电控制解决方案。
另外,CCG2采用了赛普拉斯的典型PSoC架构(PSoC Programmable System on Chip),在一个MCU内核周围集成了丰富的可配置的模拟和数字外围器件阵列,利用芯片内部的可编程互联阵列,用户可以直观有效地根据实际需求配置芯片上的模拟和数字资源,实现定制化的嵌入式系统。一个PSoC器件最多可集成上百种外设功能,从而帮助客户节约设计时间和板上面积,降低了功耗和系统成本。
PD充电系统从低到高整体分为三个层次:Type-C连接层,PD协议层和充电策略层。Type-C 连接层需要保证Type-C设备互联时能正确稳定建立连接关系,并且避免出现协商过程、角色确认、供电输出等环节的反复;PD协议层提供了连接双方沟通的链路和规范;充电策略是核心技术,需要手机开发者根据长期的经验积累和实际项目测试来设计和不断优化。充电策略程序根据电池、温度等信息和期望充电曲线才能电压电流需求,通过HPI接口传递给PD层,然后通过Type-C的CC信号传递给充电器并接收充电器反馈。
基于PD协议的充电器软件控制流程如图 4所示,主要包括标准PD充电流程,私有化充电流程以及电压电流保护。主程序流程为(a)所示,包括外设的初始化和子程序的初始化,配置完成之后,使能中断,进行主循环。标准PD充电流程为(b)所示,作为用电设备的手机插入充电器之后,在完成数据和供电关系判定之后,作为供电设备的充电器会打开MOSFET输出VBUS为5V,随后便会广播供电能力。手机会根据定义好的受电能力选择电压电流,充电器根据收到的供电请求来判定是否可以满足,进而发送接受或拒绝信息。如果充电器可以提供手机请求的电压电流,就会相应的控制AC/DC调整输出的电压电流能力并且设置相应的电压电流保护值,并在调整完成之后,发送供电准备好的信息,此时标准的PD协商充电就完成了。
在此之后,客制化的、针对各家手机厂的产品特性的私有化充电流程就可以启动了,如(c)所示。私有化充电流程是通过充电器与手机AP基于非结构化的定制化信息(Unstructured VDM)或者可编程PDO进行沟通完成的。为了安全起见,进行私有供电协商之前,本设计进行了充电器和手机的相互身份确认,只有匹配的双方才可以进行客制化的快速充电。当然,在越来越多的设备支持PD充电,以及PD协议的不断完善的未来,私有化的充电将逐渐被统一的、灵活的公有充电协商机制所取代,实现不同种类、不同厂家的设备之间的自适应的智能高效充电。本设计在完成私有化验证之后,手机端发起数据角色交换的指令(Date Role Swap),从而使手机成为主设备,充分发挥手机AP处理能力强和获取信息多的优势,根据电池电量,系统温度以及预置充电曲线等信息,主动向充电器发送所需的电压电流调整指令。充电器则根据手机侧的指令调整电压、电流以及设置相应的保护值,完成调整之后,再发送确认指令给手机,以此来确保电压电流调整的正确性。
为了更加有效开发和准确验证基于控制流程的协议沟通,本文采用赛普拉斯研发的PD协议分析仪CY4500 EZ-PD™ Protocol Analyzer。CY4500 协议分析仪通过抓取配置通道(CC,Configuration Channel)上的数据包,并通过USB接口发送到主机端,通过软件EZ-PD Analyzer Utility解码并显示PD协议包。CY4500不仅可以实时显示并解析PD通信包,而且还实时测量电力传输过程中的电压和电流值,进而缩短了开发周期,对于调试以及兼容性测试帮助非常大。
图4 基于Cypress CCG2方案的PD协议的充电器软件控制流程图
本文利用CY4500记录了充电过程中的标准PD协商供电以及私有化充电通信过程,如图 5所示,而在此过程中CC电平和VBUS电压变化情况图 6所示。首先作为供电方的充电器广播供电能力(Source Capability)5V/3A, 9V/2.7A和12V/2A,手机回复供电请求(Request),选择9V,随后充电器回复接受信息(Accept),并且将电压调整至9V,发送供电准备好信息(PS_RDY)。
可以从Vbus(mv)一栏,看出在整个协商通信过程中的电压变化情况,发送PS_RDY时,电压已经调整至9V。标准PD协商供电之后,本位采用加密的非结构化的定制化信息(Unstructured VDM)进行私有化验证,验证通过之后手机端发起数据角色交换的指令(DR_SWAP),从而成为数据主设备,再发送调节电压电流指令,完成高效的充电策略。
QC3.0的充电比较普及,在此不做详述。
图5 基于Cypress CCG2方案的PD协议的充电器供电协商通信过程
图6 基于Cypress CCG2方案的PD协议的充电器供电协商波形
本文针对客户需求,和客户以及充电器厂商紧密配合,根据具体手机项目,使用赛普拉斯PD控制器CCG2设计出了一套基于PD2.0协议的快速充电系统,包括PD充电器,手机侧PD控制电路和AP驱动,PD控制程序和充电算法,经过数月的调试改进,实现了各种情况下稳定的Type-C连接和高于QC3.0充电效率和可靠性的充电策略,实现了量产和上市,并为下一步基于PD协议的电池直充方案奠定了基础。
[1] CCG2 24W Power Adapter Reference Design Product Overview[2] AN95599-Hardware Design Guidelines for EZ-PD™ CCG2
作者:申晓峰,崔俊杰,赛普拉斯半导体技术有限公司