欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    TYPECPD升压协议全解析讲解.docx

    • 资源ID:16181246       资源大小:397.19KB        全文页数:14页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    TYPECPD升压协议全解析讲解.docx

    1、TYPECPD升压协议全解析讲解TYPE-C PD是Power Delivery简称,代表着电力传输一个通讯协议。一个简单TYPE-C PD使用环境,需要下面几个设备构成:HOST,DEVICE,CABLE(即:主机,从机,EMARKER)PD协议书主要内容集中在:PD协议BMC编码规则;PD协议4B5B解码;PD协议通信流程;PD协议通信指令结构;PD协议通信内容解析;PD协议独立与USB协议之外,但由于TYPE-C口兼容特性,可以让PD协议,QC协议,MTK协议,FCP协议等快冲协议熔于一炉。PD物理层由发射模块和接收模块组成,由于CC是单线协议,所以所有通信都是半双工。BMC编码规则是曼

    2、切斯特编码一个版本,按照脉宽来设定0和1。 图一可以从上图看出,01编码并不以电平变化为依据,而是按照脉宽来决定。BMC最大频率达330KHz,单指令长度在1ms内。通过逻辑分析仪对波形读取,我们可以看到未经BMC解码原码 图二通过BMC从左到右按照脉宽解码后,我们可以得到一系列01无序组合。通过对01组合观察,可以看到从左开始有64对01前导码,来作为数据等待和除干扰。64对前导码后,才是需要关注数据内容。通过BMC解码后,并去除前导码数据,也并不是最终可以解析数据。PD通信协议在这里增加了一个软编码,称为4B5B编码。即接收到数据每5个二进制数据,需要经过一个4B5B编码表还原成正确PD通

    3、信数据。看到这里,都可以想到无线电加密工作了,但是PD官方资料给出解释是4B5B是为了降低接收器设计复杂度并且允许更加多样化接收器设计。4B5B解码表如下:图三根据图二我们可以做一个4B5B解码例子:取出图二中引导码后,我们可以得到数据是,00011 00011 00011 10001 10010,通过上述4B5B表格进行解码后我们得到最终数据为:SYNC1-SYNC1-SYNC1-SYNC2-1。看到这里可能你有疑问,00011在表格中不是Reserved吗?是,没错,4B5B还有个编码规则,就是从左到右记录数据时,需要将读取数据倒过来编译,即00011要倒成11000。由于PD通信流程复杂

    4、,且BMC解码后数据往往长达上百位,人工编解码耗时耗力且容易出错,所以需要使用一些自制电脑软件来进行辅助解码,于是才有了下面自制解码软件。图四 该软件就包括了4B5B解码,和数据内容解析,能够快速将BMC解码数据内容转换成功能定义。PD协议内容繁多,主要包括以下流程:Power Negotiation 电压协商流程(电压升降压)Gotomin Operation Soft Reset 软件复位流程Hard Reset 硬件复位流程Cable ResetPower Role SwapFast Role SwapData Role SwapVCONN Swap Addition Capabilit

    5、y and Status Security 密钥流程Firmware Update 固件升级流程Structured VDM 厂商自定义结构流程BIST PD协议时序测试流程今天我们就根据Power Negotiation讲解PD电压升降流程结构。Power Negotiation流程发生在Source与Sink之间,在这里Source可以是适配器,可以是车充,也可以是移动电源。Sink可以是任何支持TypecPD受电端。Power Negotiation 协议流程包括以下PD指令:Source send CAPABILITY 供电能力指令(包含内容:具有哪几种电压值和电流值)Sink sen

    6、d REQUEST 需电请求指令 (包含内容:选取哪种电压和电流值)Source send ACCEPT 同意需电请求指令 (包含内容:经过对比需电在自己供电范围内)Source send PS_RDY 完成需求指令 (包含内容:已经成功进行能电压改变)GOODCRC 指令接收通过指令在实际应用中这些指令是怎么操作呢,接下来我来详细述说:首选Source端工作在TYPE-CCC模式5V3A检测模式下,一旦检测到有SINK受电端接入,便开始输出5V给SINK端。而这时在CC线上,Source开始不间断发送Source send CAPABILITY指令,SINK端接收到Source send C

    7、APABILITY指令后,判断PD通信数据符合协议规定,便回复GOODCRC表示已经成功接收到数据,接着SINK会根据Source端能够提供电压进行选择,SINK选择好合适电压电流便对SOURCE进行供电请求,于是SINK发出Sink send REQUEST进行需电请求指令。Source接收到Sink send REQUEST后,会给SINK回复GOODCRC,然后对Sink send REQUEST指令请求电压进行校对,如果符合Source供电能力,Source便对SINK发Source send ACCEPT指令,表明同意SINK端电压请求。SINK接收到Source发送ACCEPT指令

    8、后,回复GOODCRC。Source接收到SINK发出GOODCRC后,便开始进行电压调节,电压调节成功后,便发出Source send PS_RDY表示已经调整电压成功,SINK收到后,便回复GOODCRC表示接收指令成功。以上就是一个完整升压指令流程。PD通信指令(就升压来说)有两种方式一种方式是控制包,而另一种是带数据包。指令包格式如下:图五一个完整包结构包括引导码,SOP*使用场景码,Message Header功能码,Byte0-n数据码和CRC校验码,EOP结束码。如果Byte数据码没有,说明指令仅仅作为控制指令使用,没有数据内容,所以叫做控制包。有数据内容叫做数据包,通常数据包里

    9、携带了要变化电压值和电流值等信息。引导码:BMC解码后可以看到由64对01组成,主要为了进行接收缓冲。SOP*码:BMC解码后由20位二进制数组成,通过4B5B解码后我们可以看到SOP由Sync1和Sync2解码值构成。表明该指令是应用在Source与SINK之间。此处还有SOP,SOP场景码,表明是Source与E-marker之间场景指令。Message Header功能码:BMC解码后由20位二进制数组成,经过 4B5B解码后为16位二进制数据构成。Message Header通常包括:数据包还是控制包说明,是由SINK还是SOURCE发出指令,PD协议版本,如果是数据包还包含了有多少个

    10、数据包信息。详细表格说明如下:图六其中,低四位二进制码比较重要,代表是该PD指令名字,比如说升压中用到Source send CAPABILITY就是又这四位来定义。其它指令定义表如下:图七 在指令包结构中,过了Message Header向右就是数据区域,通过4B5B转换后,SOP是16个二进制位,Message Header也是16个二进制位,而数据区域,每个独立数据块包括了32个二进制位。所以Byte0(32位)Byte1(32位).那么新问题又来了,一条完整指令包到底怎么判断包含了多少数据块呢,这个时候就需要由Message Header来进行判断了。Message Header12到

    11、14位表示1到7个数字,代表就是指令包数据数量,所以我们可以认为指令包最大数据数为7。数据模块一般应用在Source send CAPABILITY,Sink send REQUEST等这样需要带电压电流PD指令中。 数据模块右边就是一个32位数据校验区域,也称作CRC校验。CRC校验是PD通信协议中独特一套校验方式,为了保持数据完整与纠错,整个PD指令任何一个位变动,都会造成CRC改变。 经过了引导码,SOP码,MessageHeader,data码,CRC码后,接下来就是EOP码即结束吗,在4B5B中我们可以看到接收到01101BMC编码,即代表PD指令包全部接收完毕。下面我们就实际做一次

    12、PD协议分析:首先准备好待测试PD适配器,PD数据线(两头都是TYPE-C那种),PD测试架,逻辑分析仪。然后将插拔过程中PD数据流程通过逻辑分析仪读取出来如下:图八 首先我们要做就是PD指令BMC解码,将脉冲长短变化成二进制数据,然后通过协议分析软件进行代码解析,为了更好讲解,我们先人工分析一条指令。图九引导码由64位二进制01组成,这一段可以直接略过。图十SOP*码从左到右BMC解码后等于:00011 00011 00011 10001根据图三进行4B5B解码我们可以得到:SYNC1-SYNC1-SYNC1-SYNC2于是我们可以知道,该指令属于SOURCE与SINK之间指令。我们接着往下

    13、分析:图十一Message Header码从左到右BMC解码后等于:10010 01110 10010 00101通过4B5B解码后为:0001 0110 0001 001015到0位为:0010 0001 0110 0001 根据图六可以得到以下信息:从15,14,13,12位可以得到此PD指令包括2个数据块。从11,10, 9位可以知道此PD指令正在进行第一个回合。(PD指令+GOODCRC指令为一个回合)从8位可以得知此PD指令由SOURCE发出。从7,6位得知指令遵循是PD2.0规则。从5得知发指令设备角色为DFP。从4,3,2,1,0得到00001并查阅图七得到该指令名:Messag

    14、e Header指令,为电压协商协议发起指令。数据指令过长过程不再详叙,用协议软件可以分析得到:图十二接下来我们用协议软件分析,速度会快很多,能够迅速掌握这个流程功能和异常:图十三此指令为上条Message Header回复指令。接着下条指令为:图十四 此为SINK端发出Sink send REQUEST指令,我们可以得到相关信息,已经SINK请求电压等级。SOURCE端回复指令:图十五从该指令信息中,我们可以知道该信息由SOURCE发出,用来回复SINK端发出电压请求。接着SOURCE端收到指令后,又发出指令:图十六 该指令信息为SOURCE发出ACCEPT指令,由上述流程介绍可以知道,该指

    15、令表明SOURCE端同意了SINK电压升压请求,并开始做好升压准备。接下来SINK端发GOODCRC,如下:图十七 该指令为SOURCE发第二条指令,所以SINK回复GOODCRC中MSGID这里开始计数到001;与此同时,SOURCE端硬件已经进入升压模式,由于升压要一定时间,所以PD通信会有90ms多延时,才迎来了第三条SOURCE指令,如果流程没有错话就是 PS_RDY指令:用PD协议分析软件分析如下:图十八指令流程进行到这里,说明SOURCE端已经成功将电压升压到SINK端请求电压。接下来SINK端GOODCRC就不累赘了。以上叙述就是一个完整电压升压流程 PD通信速率300KHz,且通信时电压在1V上下,所以在实际软硬件设计中,都要针对上述特性做一些针对性调整。 目前开发SINK端PD测试架,与配合AC-DC做PD协议芯片都是以上述理论为蓝本做相关应用。 两款样机硬件设计请见PD硬件,软件设计篇。


    注意事项

    本文(TYPECPD升压协议全解析讲解.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开