EZ-PD configuration utility example target connection

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
DaLu_4606811
Level 1
Level 1
Welcome! First question asked First solution authored

Hi, Just getting started with EZ-PD.  I have a target board of my own design using the CCG2.   I am able to connect to the target using the MiniProg3 but for now I just want to do some config updates without rebuilding the firmware.  So, I'd like to connect to my target PCB with the config utility over I2C.    I have a CY4521 eval kit which has USB to Serial (I2C) hardware and I assume I can use this to connect my target to the config utility running on my PC.  Actual examples of how to use the USB to Serial on the dev kit to configure a target PCB (not the dev kit daughter card)  seem to not be common.  So, can anybody point me to any docs that show using U6 through J6 on the EVK to configure a target PCB?

Thanks! 

Dave

0 Likes
1 Solution

OK, poking around a bit I think I answered one of my own questions.  The CCG2 parts as shipped from the factory only have a bootloader.  I need to get the run time code loaded in them myself.   I think I need to generate a HEX file using PSOC creator and the SDK to get to the next step...   Learning a lot here.

Dave

View solution in original post

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

Hi Dave,

Your request is common. The answer is below:

Generally, a USB Type-A to Mini B cable is needed to connect a CCGx device to the PC to use EZ-PD Configuration Utility. However, many designs like notebook have an I2C bootloader inside the CCGx device and have no billboard device, so it brings some inconveniences to the product development phase.

Actually, this issue can be fixed with assistance of Cypress EVB Kit. CY4501, CY4521, CY4531, and CY4541 have CY7C65215, a USB-Serial Bridge device, to implement the transition function from I2C to USB2.0.

Do the following, with CY4521 as an example:

1. Connect pins I2C_INT / I2C_SCL / I2C_SDA between the target board and the CY4521 baseboard.

2. Power up the CCGx device on the target board.

3. Power up the CY4521 board, and ensure that proper voltage exists on VDDD and VDDIO.

4. Connect the CCG_XRES pin to ground.

5. Connect the USB Mini B on CY4531 daughter board to the PC.

The CCGx device is recognized and read by the EZ-PD Configuration Utility.

Do note that this is just a workaround to meet the demands of the CCGx function validation phase; HPI on the I2C master should be

implemented to work with the I2C bootloader for full function realization.

Best Regards,

Lisa

0 Likes

OK, that seems to work.  Thanks.

I really wanted to do all my programming over the SWD using a Miniprog3.  I don't plan on having an I2C host in my end system and also don't want to have to mess with creating an HPI master.  just 5 wires should let me plug in the MiniProg3.

It wasn't clear that was possible but I found an earlier thread which clearly states that I should be able to take a HEX file from PSOC creator, read it into the EZPD config tool.  Modify PDO's, write out the modified HEX file and finally burn that image into the CCG2 using the PSOC programmer. 

So, I used the PSOC programmer and MinProg3 to read the 32KB image out of a factory fresh CCG2.   I assumed this would be a valid image that the EZPD config tool could update?  Correct?

I get the following error message when I ask EZPD config to read in the firmware file read from the part:

Error: Following exception occured while decoding bootloader last row

Metadata not present in expected location.

I am running the latest build of the EZPD config tool.  (V1.2 build 287)

The read of the part seems to work.  I get:

Device set to CYPD2122-24LQXIT at 5:08:44 PM                  | 32768  FLASH bytes

Device Family set to CYPD2xxx at 5:08:44 PM                    |

                                                              | Automatically Detected Device: CYPD2122-24LQXIT

                                                              | Silicon: 1404, Family: A4, Major/Minor Rev: AC

Read Requested at 5:08:35 PM                                  |

Successfully Connected to MiniProg3/1839CA000438 at 5:08:10 PM | MiniProg3 version 2.05 [3.11/2.10]

..then all the data.

The only thing that is odd is that most of the 32KByte FLASH is 0x00.  There only seems to be code up to around 0x1120 or so.  After that it is all 0x00's.

It isn't obvious to my why a HEX file from a device readback should be different from the HEX file generated by PSOC Creator and thus should work the same. Appreciate your help.

Dave

0 Likes

OK, poking around a bit I think I answered one of my own questions.  The CCG2 parts as shipped from the factory only have a bootloader.  I need to get the run time code loaded in them myself.   I think I need to generate a HEX file using PSOC creator and the SDK to get to the next step...   Learning a lot here.

Dave

0 Likes