随着智能手机、平板电脑等便携式电子设备的普及,快充技术已成为现代生活的刚需。在众多快充协议中,QC(Quick Charge)和PD(Power Delivery)凭借其高效、安全的特性占据市场主导地位。而实现这些快充协议的关键组件之一,便是快充诱骗协议芯片
产品需要快充支持就需要用到诱骗协议芯片,产品端的诱骗协议芯片和充电端的充电协议芯片会进行握手实现协议匹配,协议匹配成功才能诱骗出快充电压,例如双口充电器Type-C口支持PD协议、USB-A口支持QC/FCP或AFC协议,要从这两个接口获取快充电压,就需要使用支持这四种快充协议的诱骗协议芯片,例如(XSP16)这快芯片的特点是支持多种快充协议,还能通过串口读取适配器的功率信息
为什么需要通过串口读充电器功率信息?
一些做大功率产品的客户会经常遇到充电器复位重启的问题,导致消费者认为是产品问题从而导致很多客诉问题,这不是芯片的问题,而是负载太大充电器功率不够导致充电器过载复位重启,建议使用支持串口读充电器功率信息的协议芯片,可以使用单片机来读取连接的充电器最大功率信息,根据读取到的信息来调试负载功率大小,这样就可以避免充电器过载重启复位了。
XSP16芯片概述
XSP16 是一款支持多种快充协议的受电端协议芯片,能够兼容市面上所用适配器的5V9V12V15V20V电压档位,支持PD3.1协议,能够获取适配器的最大功率140W给产品快速充电,支持外部单片机通过串口读取适配器功率信息,可以根据读取到的功率信息来调整负载大小,避免适配器因为过载复位重启,支持自适应电压档位。
UART 串口发送功率信息设置
将外部 MCU 芯片的 RX 连接 XSP16 的 TX 接口, 刚上电时, 将外部 MCU 的串口设置为高阻态, 不能给 XSP16 的串口电压, 否则会影响到 PD 协议取电, 等待 2 秒左右 XSP16 完成取电即可读取。外部设备的 MCU 读取到功率信息后, 可以根据充电器的功率调整负载的大小。
发送的数据结构
串口 UART 设置
UART 串口波特率 9600, 发送的是 8 位十六进制数据。
计算方法: 电压数据直接把十六进制转换成十进制即可, 电流数据转换十进制后还需要除以 10。
数据会连续发送, 数据结构: 数据包头+电压+电流+CRC。
当动态切换电压档位之后, 发送的是切换电压后的数据。
如上图: 0xFF 为数据包头, 0x0C 为电压 12V, 0x14 为电流 2A, 0x63 为 CRC 校验位。
当连接的是 USB-A 充电器, XSP16 发送的数据, 例如: FF 09 00 xx, 就是 9V, 电流是 00, 可
以认为它是 18W(即 9V/2A) 。
校验位 CRC 计算函数
1903