CYPD3175 detailed programming flow using MiniProg3

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
BDu_4573986
Level 1
Level 1
First like received

Hello,

I am a power electronics designer with essentially very little to no experience in programming. I have created a CYPD3175 direct feedback application to control a step-down buck regulator aimed at providing a USB-PD compliant output via a type-C connector. Using PSoC Programmer along with a MiniProg3 dongle, I've been able to program the CYPD3175 with existing hex files, thus verifying that the hardware works. I have all the latest software from Cypress (including EZ-PD CCGx Host SDK 3.3, all installed within the past 3-4 days).

My question is: how does one go about creating a hex file from scratch? My problem is that I could not find a hex file that likely matches the power profiles I want my application to support and also, without having created the specific configuration, I cannot tell what settings are being programmed into the CYPD3175 via an existing hex file... over-current trip points, etc. Hence, the need to gain the ability to program the controller from scratch.

The PSoC Programmer GUI is pretty straight-forward and I think I know how to use it to load a hex file to the Cypress controller. Hardware and physical layer appear to work fine. I also fiddled with EZ-PD Configuration Utility and I think I can use the knowledge I have of USB-PD to come up with a configuration that suits my application.

I suspect PSoc Creator (v. 4.2 installed) plays into the entire process and is likely the one piece of the puzzle I need help with, inclusive of what the proper flow is for the entire process - details here can never be in excess 😉 Read a lot of app notes, but in trying to address many other controllers, they did not clarify the aspects that still elude me at this time. I appreciate all the help that anybody can offer.

0 Likes
1 Solution

Understood. You are only unclear on how you get the HEX file from the C file containing configuration.

You will need to place the "config.c" file generated using the config utility in place of the "config.c" default file present in the firmware project.

You will need to download the software development package from here.

Make a copy of the EZ-PD CCGx Power SDK folder installed in Program files, onto your working folder (other than Program files) and go to this location: EZ-PD CCGx Power SDK\CCGx\Firmware\projects\CYPD3175-24LQXQ_pa_direct_fb\CYPD3175-24LQXQ_pa_direct_fb.cydsn\common\config.c

Replace the default config.c file with the one you have generated, open the project worksapce (EZ-PD CCGx Power SDK\CCGx\Firmware\projects\CYPD3175-24LQXQ_pa_direct_fb\CYPD3175-24LQXQ_pa_direct_fb.cywrk) using PSoC Creator and give build command - Shft+F6 (no code changes required as per your requirements).

If you are unfamilar with PSOC creator, please go through it's user manual​ and some videos.

creator.jpg

You will find the HEX file output in this location: \CYPD3175-24LQXQ_pa_direct_fb\CYPD3175-24LQXQ_pa_direct_fb.cydsn\CortexM0\ARM_GCC_541\Debug\CYPD3175-24LQXQ_pa_direct_fb.hex

Regards,

Rajath

View solution in original post

0 Likes
4 Replies