cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD Type-C

NiMc_4245981
New Contributor II

I'm trying to set up a CYPD3120-40LQXI to sink up to 20 V.  I'm able to connect to  it using a MinProg3 with a 5-pin connector on the board.  I don't have a USB-serial bridge.  Is it possible to change the configuration of the default firmware?

I'm using PSoC Programmer Version 3.28.3.4174 and EZ-PD Configuration Utility Version 1.1.

Here is what I'm trying, which looks like it might work.

1.  Connect using PSoC Programmer.

2.  From the File menu select "Read To Hex" to create a hex file.

3.  Run EZ-PD Configuration Utility.

4.  From the File menu select "Read From Firmware File" and select the hex file.

Step 4 fails with the error message "Error: Silicon ID or Checksum is not found in hex file".  I'm unable to proceed any further, but below are the steps I'm planning to take.

5.  Add profiles to the "Sink PDO" section of the configuration.

6.  From the File menu select "Save To Firmware File" and select the hex file.

7.  In PSoC Programmer select "File Load" and select the hex file.

8.  Select Program to update the firmware on the CCG3.

0 Likes
1 Solution
YiZ_31
Moderator
Moderator

Hi,

May I know what version of PSoC Creator you are using?

If your application is DP-Dongle then you should use CCGx SDK instead of CCGx Host SDK:

https://www.cypress.com/documentation/software-and-drivers/ez-pd-sdk-v302-ccg2-all-applications-ccg3...

Regards,
Eddie

View solution in original post

9 Replies
pavec_4247266
New Contributor II

1) normally you can't use EZ-PD configuration utility with the Miniprog3
2) if you have .hex file or  generated the hex file from project in your IDE, then you can use miniprog3 with psoc programmer to program your device

0 Likes
NiMc_4245981
New Contributor II

How do I go about updating the firmware to enable 20V?

0 Likes
pavec_4247266
New Contributor II

within EZ-PD configuration utility i can't help because i don't use it but.
you can customize  firmware in Psoc creator using one of the cypress example code one you have done you customisation and enable your 20V you can find hex file in the direction below

C:\Documents\PSoC Creator\CYPD3171-24LQXQ_pb\CYPD3171-24LQXQ_pb.cydsn\CortexM0\ARM_GCC_541\Debug.

in the Psoc programmer you have to go to file >> then file load (F4) then find you hex file the program it using miniprog3.

you can also program and debug directly in the Psoc creator.

NiMc_4245981
New Contributor II

I was eventually able to program by rebuilding the firmware in PSoC Creator and using that instead of the default chip.  I was not able to build it using the 3.3 version of the CCGx Host SDK.  I had to uninstall everything and then install the 3.2 version.  Then, I was able to build, program the firmware and debug all from within PSoC Creator.  I believe I can also modify the firmware from the EZ-PD Configuration Utility as well.

0 Likes
YiZ_31
Moderator
Moderator

Hi,

May I know what version of PSoC Creator you are using?

If your application is DP-Dongle then you should use CCGx SDK instead of CCGx Host SDK:

https://www.cypress.com/documentation/software-and-drivers/ez-pd-sdk-v302-ccg2-all-applications-ccg3...

Regards,
Eddie

View solution in original post

NiMc_4245981
New Contributor II

PSoC Creator  3.3 DP1 (3.3.0.9604)

I'll look at the CCGx SDK.  I'm actually not sure which firmware is best to start with.  I'm designing a device that will be controlled by a PC with a USB C port that can provide 20 V.  The device will need to get 20 V, and USB 3.0 speeds (with an FX3), but no alternate mode.

0 Likes
YiZ_31
Moderator
Moderator

Hi,

CCGx Host SDK v3.3 can be compiled with PSoC Creator 4.2.

You can start from CYPD3125-40LQXI_notebook example in Host SDK since you do not need alternate mode.

Regards,

Eddie

0 Likes
NiMc_4245981
New Contributor II

That seems to work better for my use.  I'm able to edit the firmware, but I'm not able to debug it.  I'm using the CYPD3125-40LQXI-notebook firmware in PSoC Creator 4.2.  When I connect the MiniProg3, I can't get it to break anywhere.  If I halt, the call stack just lists cy_bootloader().  If I reset from PSoC Creator, I get a message "Debugger exited unexpectedly during run. Encountered error (Target disconnected See output window for more information".

0 Likes
YiZ_31
Moderator
Moderator

Hi,

There are two ways can help you debug the firmware code.

  1. Use no-boot project from SDK project. Which is no bootloader part in the project, you can use PSoC Creator IDE debug the firmware step by step.

  1. If you want to use the project with bootloader directly and debug it as run time. You can use UART debug to transmit some information and debug it.

UART debug for firmware bring up or test.

Open CCGx Project and make sure one of SWD clock / data or other GPIO is available ( using SWD is more convenient, because most design reserve SWD for programming ). Use CCG3PA as example,

1.png

Drag “Software Transmit UART” from component catalog into TopDesign.cysch. And then assigned to SWD_CLK or SWD_DATA.

2.png

Call SW_TX_UART_1_Start() in main.c . Sending “start” is to make sure UART is working.

3.png

NOW, you add anywhere to output the value (Char, string, or others).

-----------------------------------------------------------------------------------------------------------

Now you could build the FW and use UART cable ( or USB to Serial cable ) to connect cable_RX (UART_RX) to SWD_Data (UART_TX)

(Cypress USB to Serial kit (CYUSBS232) is can be re-used for USB to UART TX).

You need a software like Tera Term. And then, configure the UART port to receive the data from CCGx.

4.png

Regards,

Eddie

0 Likes