使用PD协议分析仪调试Type-C PD兼容性
Type-C PD协议目前已经大量用于手机/PC等数码产品,但由于各家设备厂商在PD接口设计的时候做了一些定制化,导致在与第三方配件匹配的过程中,经常有不兼容的情况发生。比如说最常见的充电器,常常出现第三方充电器无法充电的情况,或者只能使用5V充电,无法进入快充。这就给充电器的生产厂家带来很大的麻烦,不知道问题出在哪里。
为了更加有效开发和准确验证基于控制流程的协议沟通,使用PD协议分析抓取CC线上的数据包是非常有必要的。某宝上有一款非常廉价的PD协议分析仪,可以兼容Cypress原厂的CY4500工具,通过USB接口将抓取到的协议包发送到主机端,通过上位机软件EZ-PD Analyzer Utility解码并显示PD协议包。不仅可以实时显示并解析PD通信包,而且还实时测量电力传输过程中的电压和电流值,进而缩短了开发周期,对于调试以及兼容性测试帮助非常大。
图 1 充电器软件的PD协议控制流程图
本文利用PD协议分析仪记录了充电过程中的标准PD协商供电以及私有化充电通信过程,如图 2所示,而在此过程中CC电平和VBUS电压变化情况图 3所示。首先作为供电方的充电器广播供电能力(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),从而成为数据主设备,再发送调节电压电流指令,完成高效的充电策略。
图 2 协议分析仪抓取的充电器供电协商通信过程的PD协议
图 3 充电器的PD供电协商波形
可以看到使用协议分析仪对CC线的通讯协议数据做监测,能使调试变得清晰可控,大大加速找到兼容性问题原因的过程。
使用PD协议分析仪调试Type-C PD兼容性相关推荐
- pandas使用pd.MultiIndex.from_product函数和pd.MultiIndex.from_tuples函数创建复合索引dataframe数据实战
pandas使用pd.MultiIndex.from_product函数和pd.MultiIndex.from_tuples函数创建复合索引dataframe数据实战 目录 pandas使用pd.Mu ...
- 苹果7支持快充吗_3299元的iPhone SE支持PD快充吗?PD充电器怎么选
称心称手,超值入手的iPhoneSE终于发布了.iPhoneSE大部分配置和iPhone8都一样,那么问题来了,3299元的iPhone SE支持PD快充吗?PD充电器怎么选?iPhone8是支持PD ...
- PD充电调试问题解析(一)
之前一直对充电的调试有了解,这次经过一个案子,对最新的充电技术和方案有所了解.现记录一下. 充电框图 几个关键的概念: 1.PD的输出电流,电压, 他的对象是 充电IC,PD Out ===>& ...
- PD协议芯片TYPE C接口支持快充诱骗
是一颗符合PD.QC2.0.QC3.0.AFC.FCP协议的电源受电端(诱骗)协议芯片,从充电器(如PD或QC协议充电器)上诱骗出合适的电压给产品供电.可广泛应用于各个领域的各种产品,如无线充电.小家 ...
- TypeScript Type Compatibility 类型兼容性
官方链接 TypeScript 中的类型兼容性基于结构子类型. 结构类型是一种仅基于其成员关联类型的方法.这与 nominal typing 相反.考虑以下代码: interface Pet {nam ...
- python中pd.read_Windows下Python的pd.read_excel()报错
最近在学<Python数据分析与挖掘实战>,按照书上例子实践,发现有问题,记录如下 import pandas as pd catering_sale = 'C:\Python\learn ...
- pd 写入数据库_使用PD创建数据库模型,并最终将sql语句导入到MySQL
打开PD 一.首先创建CDM 1. 点击file->New Model,选择Information->Conceptual Data,如下图 Model Name为模型名称(这里我自己定义 ...
- import pandas as pd# 读取两个 Excel 文件df1 = pd.read_excel(file1.xlsx)df2 = pd.read_excel(file2.xlsx)...
import pandas as pd 是在 Python 中导入 Pandas 库的语句.pd 是 Pandas 库的常用简称.使用这个语句后,你就可以使用 Pandas 库中的各种函数和方法来处理 ...
- pd怎么卸载linux系统,PD虚拟机怎么完全卸载 PD虚拟机完全卸载方法
PD虚拟机是Mac平台上的著名的虚拟机应用.PD虚拟机可以让用户在Mac上运行Windows操作系统.那么当我们不需要PD虚拟机的时候该怎么完全将其卸载呢?PD虚拟机怎么完全卸载?一起来看看PD虚拟机 ...
最新文章
- 20个简约风格网站设计作品欣赏
- shell 脚本实现退点输出
- fast.ai 深度学习笔记:第一部分第四课
- 【ClickHouse】ClickHouse 同步 MySQL 数据库
- 放弃机器学习,Python 如何进行物体检测?
- Rust : 求出一个字符串数组中最长的公共连续子序列
- 基础集合论 第一章 4 子集
- excel自动调整列宽_EXCEL选择性粘贴,这些招数你用过吗?
- 分体式水晶头_超6类双屏蔽网线水晶头制作简易教程
- Windows使用阿里云RAM访问控制API实现自建DDNS动态域名解析
- 计算机excel取整函数,Excel取整公式集锦
- 计算机更改开机密码快捷方法,如何对电脑的开机密码进行快速更换
- IMSI、IMEI和MEID(ESN)
- java nanotime 重复_关于Java中System.currentTimeMillis和System.nanoTime的错误认识
- ffmpeg添加字幕(包含srt文件)
- 迅雷5.5.4.268去广告版
- 解决udp socket报socketException使得服务端不再正常工作
- python 利用Crypto进行AES解密加密文件
- 关于我在中华读书报发表的文章
- 哪些pdf编辑软件值得下载?办公常备软件