|
发表于: 27-03-2020 14:07:22
|
显示全部楼层
TestUSBC 25-03-2020 18:44
Looking at trace more closely, GoodCRC is sent by Apple iPad in response to Not_Supported reply. But ...
Yeah I noticed that in both cases (When I reply with "Not_Supported" or I simply don't replay anything.), PD PHY didn't send a GoodCRC message. I suspect that as the PD PHY is released when only PD2.0 is available, it only calculate the CRC with valid bits. Extended bit in message header is not defined in PD2.0, and PD2.0 forces this bit to be 0. This might caused undefined behavior inside the chip.
By the way, PD PHY is configured to send a GoodCRC message automatically after receiving and checking any massage. And it is also configured to interrupt the uC when a message with correct checksum is received. So we face a CONFLICTION, it didn't send back a GoodCRC, meaning it thinks there is something WRONG in the message. However, the uC is interrupted, meaning that the message IS ACTUALLY CHECKED CORRECTLY. I guess there is a bug in the chip, it's not designed for PD3.0 in the first place.
Anyway, if it is so, a possible workaround is to send a GoodCRC message manually if the message is extended. Firmware in the attachment probably solved the problem.
|
|