CCG2 Can't trigger the Adapter cap, PE_SNK_GET_SRC_CAP

Announcements

Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

您好,

  

    目前存在CCG2 SDK代码在充电头识别不良的问题。问题描述如下:

    首先,该批次的充电头是正常工作的,用其他触发器是可以正常触发。但CCG2在触发该批次充电头时存在只识别到5V,不能切换充电头的电压输出。

  

    在连接不能切换电压的充电头后,输出5V正常。get_src_pdo_count()返回了5个PDO,也符合该充电头的PDO描述。

    然后我用get_pe_state()去获取 CCG2的运行状态,发现一直停留在 PE_SNK_GET_SRC_CAP 这个状态,没有回到PE_READY状态(在连接能正常触发的充电头时,加电识别完成后都能回到该状态)。也不能触发充电头的电压切换(使用handle_sink_pdo_reg_write代码)。用逻辑分析仪抓CC 线上的数据包,发现CCG2没发出电压切换请求数据包(换能正常触发的充电头,该代码是能发出请求切换电压的数据包)。

    下图是在初始连接通讯时,CC数据线上电压不同,正常识别的,CC线默认是高电平;不能识别的,CC线是低电平,不知有何影响。

5.jpg

谢谢!

0 Likes
3 Replies
ShifangZ_26
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 1000 replies posted

Hi ,

如果您设计的是充电器,CC1和CC2应该是高电平的。如果您发现您的设计CC1和CC2不是一直是高电平的。您需要查看以下问题:

1. 您的设计是否是一直让CC1和CC2为高电平?EZ-PD Configuration Utility -> CCG2 config file -> 

Port Role: Source

Default port role: Source

Rp - Rd toggle: No

2. 测试CC1和CC2,确保CC1和CC2是不是一直是低。如果是先高再低,那么需要尝试将固件里面的deepsleep关闭进行尝试。

3. 将所有的保护关闭,以确保不是某个保护触发导致。

Best Regards,

Lisa

0 Likes
Anonymous
Not applicable

您好!

   首先,我这项目不是设计一个充电器!

   该项目是 一个触发器, 通过type-c线去连接各种充电头,并触发充电头的输出电压切换。

   所以如前所述,存在充电头识别不良的问题, 但对于各种充电头,5V都能识别并建立通讯连接。在切换电压输出时,在代码调试时发现get_pe_state()没返回PE_READY状态,停留在PE_SNK_GET_SRC_CAP,调用handle_sink_pdo_reg_write,CCG2没发出通讯数据包。

    在连接能正常切换的充电头时,get_pe_state()会返回PE_READY。 调用handle_sink_pdo_reg_write,CCG2有发出通讯数据包。

    而用逻辑分析仪查看CC线通讯状态,如前所述。

 

谢谢!

0 Likes

Hi ,

如果您这个设计的不是充电器,CC是低电平是不正常的设计,因为对方是SOURCE,需要上拉Rp,CCG2只负责下拉Rd.如果没有有效的分压,CCG2不能进入Type-C的状态。所以您这边需要确认测试充电头的情况。

Best Regards,

Lisa

0 Likes