Cypress Programming

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

cross mob
asonuc_4913271
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi,

We are trying to execute an application by using your “CY8C4014LQI-24-QFN“ processor. However we have an problem on programming this chip.

When we make a short search we can find in your site(https://www.cypress.com/products/psoc-programming-solutions) that can be done by using MiniProg4 and MiniProg3. In addition to this devices we also figured out that the programmer part of “CY8CKIT-147 PSoC® 4100PS Prototyping Kit” can also have ability to programme any kind of Cypress processor. But we could not achieved for programming our chip. So i have below question about this situation.

1-) Are MiniProg3-4 devices the only solutions to programme “CY8C4014LQI-24-QFN“ processor or like we found in internet this can be made by using programmer part of “CY8CKIT-147 PSoC® 4100PS Prototyping Kit” having “CY8C5868LTI-LP039” processor for controlling programming jobs.

0 Likes
1 Solution

Hello asonuc.

As Len mentioned, you can program PSoC 4's, with or without XRES pin, using Kitprog from KIT-059.  If you read the "Solution:..." weblink in the thread Len provided, you'll see how to do it.
Solution: Use Kitprog to Program PSoC 4000 without... - Cypress Developer Community

Basically, the target PSoC gets its power (Vdd) from Kitprog XRES signal.  Because Kitprog toggles XRES during normal programming, the target PSoC thinks it's getting a Power Cycle programming sequence.  If there's very little peripheral hardware connected to the target PSoC, the Kitprog XRES signal can supply enough 5V current.  If there are lots of connected peripherals (or filter capacitance), then you need to buffer Kitprog XRES signal.  This is explained in the "Solution:..." link.

The Kitprog2 on KIT-147 should be somewhat equivalent to KIT-059 Kitprog (it's also known as Kitprog1).  However, no guarantee.

And, this method works when you use the alternate SWD pin functions.  In your project, I2C.

Good luck with your design.

View solution in original post

0 Likes
10 Replies
Roy_Liu
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 10 questions asked

Hi,

The programmer part of “CY8CKIT-147 PSoC® 4100PS Prototyping Kit” should be able to programme “CY8C4014LQI-24-QFN“ processor. One of the limitations of "Prototyping Kit" is it does not support power cycle mode, means the target device "CY8C4014LQI-24-QFN" needs to be powered separately, and use Reset Programming mode. Maybe you can provide a screenshot of the settings and failure/error message in PSoC Programmer GUI.

Roy_Liu_0-1617865207365.png

 

Roy Liu
0 Likes
lock attach
Attachments are accessible only for community members.

Hi Roy_Liu,

We tried as you said. By powering from difference source and using the Reset Programming mode the result we got was the same. You can see below.

asonuc_4913271_0-1618230214400.png

After this error  we figured out Xres pin is needed to be connected short between "Prototyping Kit" and the target device. As far as we understood the kit makes the device enter the programming mode via xres pin yet we did not out this pin on the pcb. So to be able to interfere this pin we created another setup that we can set target devices reset pin to ground manually by using a switch. And first thing we did was setting reset pin ground before click 'Program' button. Seconds later from programming started, we set the this pin again not grounded. Via executing this process we were be able to program our chip.

I think we could success to simulate what Prototyping Kit's reset pin does in programming.

But creating another setup foreach programming is not something we want actually. So i have some questions below.

  1. Does this reset pin really need to be connected for programming?
  2. If yes, is there any different solution that we will not need this pin. For instance, do miniprog devices also need this pin? 

Thanks a lot for any support.!

0 Likes

asonuc,

Are you using P3.0 and P3.1 as GPIO pins in your design?

If not, I may have a simple solution using the KitProg board from a CY8CKIT-059.  Follow the posts on this link:  https://community.cypress.com/t5/PSoC-4-MCU/Can-a-Cy8C4013SXI-410-be-programmed-with-a-KitProg/td-p/...

In summary, if P3.0 and P3.1 are NOT used as GPIOs and are left as SWDIO and SWDCLK then the KitProg board can be set to Mass Storage mode (CMSIS DAP) and the XRES is not needed to program or debug the CY8C4014LQI-24-QFN.

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Len_CONSULTRON,

That pins are used for being able to make I2C communication. So i guess we dont have any chance to change them as you said.

Do you know another solution?

Thanks. Regards.

0 Likes

asonuc,

I'm working on a HW solution similar to BiBi_1928986 's solution.  It only requires two relatively inexpensive ICs two 5-pin connectors (header and pins) and a PCB (can be a proto PCB).

My prototype of this circuit is working well.

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Let me know if you want an advanced peek at the HW and SW project that appears to work for me.

Update:

Here's a schematic of the XRES to Power Cycle circuit.

Len_CONSULTRON_0-1618494747134.png

 

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Hi Len.

An elegant design, flexible, but a bit complex for the task at hand IMHO.  A simple invertor/buffer like 74AC14 is much simpler.  With ganged outputs, 74AC14 provides over +/-100mA @5V and +/-50mA at 3.3V, that's lots of sink/source current.  And no additional chip to program.

That said, you might want to add a jumper (or two) to allow external voltage selection of 5V or 3.3V.  Kitprog reads Vtarg to report back to PSoC Programmer GUI.  And FYI, Kitprog uses 3.3V on SWD pins regardless if it read Vtarg as 5V or 3.3V.

Something to watch out for depending on Kitprog f/w version.  The earlier f/w used well over 50 SWDCLK cycles for the Line Reset sequence.  Cypress tightened this up in later releases.  Be sure to check that you have at least 50 SWDCLK's following the 4013 P1.1 activating Vtarg.

And, I would swap P1.1 with P1.6.  P1.6 is an internal pseudo POR RESET signal.  If P1.6 sees any type of pulldown resistance during power-up, 4013 will not come out of reset state.  This is documented in PSoC 4 GPIO app notes, AN86439 and in datasheet just below the Pinout table.  I've tested this, and it's true.  P1.6 can still be used as an output, but with pull-up resistance.

Just some suggestions.

0 Likes

Thanks again Bill,

I'll make the P1.6 P1.1 swap as you suggested.

Based on my measurements:

  • The XRES active low signal has a 100us width.
  • If active discharging is used to quickly remove the VDD off the target's 1uF cap then it takes at least 40us to drop below the low threshold to guarantee a POR.

The 74AC14 IC you recommend is a very good solution. 

Len
"Engineering is an Art. The Art of Compromise."
0 Likes
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

asonuc,

I've also used the KitProg board which is a part of the CY8CKIT-059.   This kit board retails for about US$15 at digikey.com.

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

Hello asonuc.

As Len mentioned, you can program PSoC 4's, with or without XRES pin, using Kitprog from KIT-059.  If you read the "Solution:..." weblink in the thread Len provided, you'll see how to do it.
Solution: Use Kitprog to Program PSoC 4000 without... - Cypress Developer Community

Basically, the target PSoC gets its power (Vdd) from Kitprog XRES signal.  Because Kitprog toggles XRES during normal programming, the target PSoC thinks it's getting a Power Cycle programming sequence.  If there's very little peripheral hardware connected to the target PSoC, the Kitprog XRES signal can supply enough 5V current.  If there are lots of connected peripherals (or filter capacitance), then you need to buffer Kitprog XRES signal.  This is explained in the "Solution:..." link.

The Kitprog2 on KIT-147 should be somewhat equivalent to KIT-059 Kitprog (it's also known as Kitprog1).  However, no guarantee.

And, this method works when you use the alternate SWD pin functions.  In your project, I2C.

Good luck with your design.

0 Likes