PD 3.1 苹果140w sink端流程

本文详细介绍了PD 3.1协议下,苹果140W快充适配器在sink端请求高功率的流程。内容包括从PE_SNK_Ready状态开始的ERP Mode进入流程,以及实际抓取的苹果MacBook与适配器通信过程。特别强调了线缆规格要求和Request Message中bit 22的重要性,该位必须在ERP Mode(Enter)Message前的Request Message中置1,否则无法成功进入ERP Mode。
摘要由CSDN通过智能技术生成

        随着快充协议的发展,typec-C 中PD的协议也随之迎来PD3.1.苹果率先推出了PD3.1的是适配器,配上专门的线缆,功率更是达到140W。
        今天就给大家介绍一下,sink端请求140W沟通流程。(注意:线缆需用5A 30V以上的规格的或原装线缆)。

        我们从协议文档可以找sink ERP Mode Entry state Diagram状态机:


                                PE_SNK_Send_EPR_Mode_Entry State
当这策略请求进入ERP Mode时,
 PE_SNK_Ready 跳转到 PE_SNK_Send_EPR_Mode_Entry state。

当进入PE_SNK_Send_EPR_Mode_Entry state 将发送一个ERP Mode(Enter)Message,同时开启 SenderResponseTimer和SinkEPREnterTimer。

当收到接收 EPR_Mode (Enter Acknowledge) Message,将跳转到PE_SNK_EPR_Mode_Wait_For_Response。

当接收到ERP_Mode Message 但是没有进入成功 ,或者 SenderResponseTimer 超时, SinkEPREnterTimer times超时,将跳转到PE_SNK_Send_Soft_Reset state.

                        PE_SNK_EPR_Mode_Wait_For_Response State
进入这个状态说明请求已经成功了。
当退出 PE_SNK_EPR_Mode_Wait_For_Response state时,关闭SinkEPREnterTimer然后进入ERP mode。
当接收到EPR_Mode (Enter Succeeded) Message,跳转到 PE_SNK_Wait_for_Capabilities state。
当接收到EPR_Mode (Enter Succeeded) Message 并且不是Enter_succeeded,或者SinkEPREnterTimer超时,将跳转 PE_SNK_Send_Soft_Reset state。

通过上面流程图可知:我们进去ERP Mode 是由sink发起.并且从PE_SNK_Ready状态开始,说明前面已经发生过PD流程已经签订了合同。
这个基本流程就不做太多介绍,小编这个抓了一个苹果mac boook请求140W通信时候的流程。先看看苹果的流程然后在看上小编自己诱骗出来的流程.

  1. 首先上来适配器先和emark进行通信得到获取emark能力为50V/5A

 2.先进行一个基本的PD沟通流程,先请求5V固定挡位

 3.PC这边发送数据消息EPR_Mode给适配器进行EPR_mode流程沟通,data:0x10000000

EPR_mode Enter 

4.适配器收到EPR_Mode enterhou 评估回复的 EPR_Mode Enter Acknowledged 表示EPR_Mode默认进入被认可。

5.适配器先发送emark的soft_reset然后获取emark信息

srouce应该走的是红色线的分支。 

6.适配器发送 EPR_Mode Enter Succeeded消息给sink。

 7.然后srouce就发送了src_cap给sink这里应该包含,7个SPR src_cap和2个EPR_Source_Capabilities

8.SINK这边请求了一个EPR_Request的能力包,请求的电流是4.71A,请求的PD是第8个PD0功率为28V/5A

紧接着就是一个正常功率协商流程,可以看到SRC发送ps_rdy的时候电压已经升到了28V. 

 以上就是抓取一个苹果140w充电器配mac book的一个进入ERP Mode请求28V 5A 的流程.
 

根据上面的信息,小编也在Sink PD3.0得基础上小编也诱骗出来28V 5A,但是要上文也提到过对线缆有要求.如下图是小编的请求流程,

1.先请求PD 固定档5V,成功

2.在请求进入ERP mode Message成功
3.重新请求28v 5A的PDO。

4.以上流程后,snk会在tSinkEPRKeepAlive间歇时间走PE_SNK_EPR_Keep_Alive流程,确保当前的epr_mode流程还活着(类似于pps)。

 



!!!在这个需要提醒特别注意一个细节,小编开始的时候也忽略了,导致当时请求进入erp mode的时候fail。就是Request Message的bit 22,应该在发送ERP Mode(Enter)Message的前面相邻的一个Request Message中的bit 22应该被置1,否则进不了苹果的ERP Mode。

 

 进入ERP mode的条件

 综述嗮一个小编诱骗出来的结果





 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值