PSOC 5LP 3.3V external powered KitProg

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

cross mob
PaSv_1652016
Level 2
Level 2
10 likes given 5 likes given First like received

Hello
My PSOC 5LP device powered from external 3.3V regulated voltage.
After connect external powered device to miniprog and Programing from "Creator", device  not detected.


pastedImage_0.png

1 After erase or clean boot:

pastedImage_5.png

2 After "Program" :

pastedImage_3.png

what am I doing wrong?

0 Likes
1 Solution

PaSv,

Check also this older thread

Re: 3.3v power CY8CKIT-059 options

In particular the excerpt from the last comment:

Re: CY8CKIT-059 with 3V

  

{

I contacted Cypress and received the following response:

  

   

As you have rightly pointed out  with D1 removed the KitProg senses and adjusts voltage levels for programming the target using Special Input/Output (SIO) pins in PSoC 5LP.  SIO supports programmable output level and programmable input threshold. The logic is to sense the voltage level using ADC and adjust the SIO pin output.

   

We have also implemented similar functionality for UART and I2C pins internally. Thus there is no need of level shifter at these lines. Please let us know if you face any discrepancies. We tried to recreate the same and observed 3.3 V at SDA lines without level shifter.

  

  

I put it on a scope and it does appear that both the TX and RX signals at pins 12.7 and 12.6 have 3.3V logic levels when the target is powered from 3.3V, the KitProg D1 is removed, and the KitProg is plugged into USB.

}

and simple solution by the "pavloven"

Re: 3.3v power CY8CKIT-059 options

/odissey1

View solution in original post

16 Replies
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

Are you connecting "MiniProg3" externally to the PSoC 5LP (CY8C5888LT*-LP097) ?

Because your (1) screen shot suggests that you are connecting via KitProg.

Here I imagine that you are using CY8CKIT-059 or your original board with KitProg.

The KitProg is 5V operating device, so if you have connected VTarg to your board

or if the board is CY8CKIT-059, 5V is provided to the device via VTarg.

If you want to operate the board in 3.3V, choices I can think of are

(1) Use MiniProg3 or other debugger which can provide 3.3V

(2) Use KitProg to program the device, then remove KitProg

     and provide 3.3V power externally.

Note: In this case, disconnect any 3.3V circuit from the PSoC board while KitProg is connected.

(3) Change regulator in KitProg to provide 3.3V to VTarg.

Practically, I would recommend (1) or (2)

moto

0 Likes
Are you connecting "MiniProg3" externally to the PSoC 5LP (CY8C5888LT*-LP097) ?

No. Externally KitProg3  detached from CY8CKIT-059 and connected only SWDIO, SWDCLK,  XRST and GND pins from KitProg3   without Vtarg connected.
pastedImage_5.png

0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

> No. Externally KitProg3  detached from CY8CKIT-059

> and connected only SWDIO, SWDCLK,  XRST and GND pins from KitProg3   without Vtarg connected.

That is a "KitProg" and not "MiniProg3" (nor KitProg3).

I wonder what is the voltage level of SWDIO and SWDCLK, XRST, though.

If your board is 5V tolerant, how about trying without J5,

I think VTarg is 5V Power Supply from KitProg to the board.

moto

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

I've just discussed this with my colleague hardware engineer.

For our conclusion we do not recommend you to use KitProg for 3.3V board.

(Unless the board is 5V tolerant)

From CY8CKIT-059 Schematic

(1) USB-Finger-connector

000-USB-Finger-connector.JPG

(2) Target-PSoC-Debug-Header

001-Target-PSoC-Debug-Header.JPG

(3) VBUS - VDD

002-VBUS-VDD.JPG

(4) VDDIOs

003-VDD_IOs.JPG

From (1), (2), (3), KitProg is driven from Vbus (5V)

and if you connect your VDD_3.3V to VARGET, I'm afraid that the VDD_3.3V's voltage will be raised to 5V.

Meantime from (4), all IO of KitProg seem to be 5V, so it may not be safe to connect SWD, reset signals to

3.3V board.

This is why I was talking about MiniProg3 which can drive 3.3V Vtarget.

MiniProg3

https://www.cypress.com/search-results?as_q=MiniProg3

Although I have not tried it, there seems to be MiniProg4, too.

https://www.cypress.com/documentation/development-kitsboards/cy8ckit-005-miniprog4-program-and-debug...

moto

moto,

I have a project that I use a coin cell battery (3.3V) to drive the target PSoC4.  I program it with the CY8CKIT-059 KitProg board.  I just leave out pin 1 (VTARG) of the 5-pin interface.

Len

Len
"Engineering is an Art. The Art of Compromise."
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear Len-san,

Thank you for your information!

> I just leave out pin 1 (VTARG) of the 5-pin interface.

So not connecting 3.3V to VTARG is agreed, right?

About SWDIO and SWDCLK, I referred to the 5LP CY8C58LP Family Datasheet

5LP_Absolute_max.JPG

Maximum Voltage of

VGPIO = VDDIO + 0.5

VSIO = 6~7V

So if SWIDO and SWDCLK (and RESET) are SIO, they must be fine,

but if they are usual GPIO, then we should not apply more than VDDIO + 0.5, which is 3.3 + 0.5 = 3.8 for 3.3V circuit.

To be honest as 5LP is a device which can be used with 5V, probably PSoC itself will survive at least for a short time,

but we can not tell if there is/are component(s) which can not tolerate 5V in the 3.3V circuit block of the customer.

So my colleague and I decided not to suggest to connect KitProg directly to the 3.3V circuit.

moto

If your board is 5V tolerant, how about trying without J5,

I think VTarg is 5V Power Supply from KitProg to the board.

Yes sure i use my PCB without J5


and yes now i replace LDO 3.3 to LDO 5V  from my PCB.

But again  i have absolutly some result . 8\

0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

> Yes sure i use my PCB without J5

This is good!

> and yes now i replace LDO 3.3 to LDO 5V  from my PCB.

Does this mean that your board is 5V tolerant and/or compatible?

If so, we have much less to worry about now 😉

Currently I can not think of any particular reason for this symptom,

so I'd like to suggest you a couple things

(1) Make sure that the KitProg is OK

Re-connect KitProg to the rest of CY8CKIT-059 using some jumper wires and try programming something simple.

(Note: For UART, P12[6] and P12[7] must be connected externally.)

And if it works, KitProg must be OK.

If KitProg may not working correctly, please try download and install the newest PSoC Programmer

and with the PSoC Programmer update the firmware of KitProg.

https://www.cypress.com/documentation/software-and-drivers/psoc-programmer-archive

(2) Check your design with the Design Considerations below.

PSoC 3 and PSoC 5LP Hardware Design Considerations

https://www.cypress.com/file/44581/download

moto

Hi.

I use solution documented in KIT-059 Prototyping Guide for 3.3V target.  Search the pdf for D1.

"In order to use an external power supply, while KitProg is connected to the PCB USB, remove

diode, D1, from the board. This ensures that VTARG supply from KitProg is not supplied to the target

device. KitProg measures the target voltage and adjusts the logic levels on the programming pins

accordingly."

Simply remove Kitprog diode D1 and connect all 5 signals (install jumper J5) as shown in your schematic.

I suspect your target 5LP may have been damaged when Kitprog applied 5V signals to SWD and XRES.

Try this solution and you might get lucky 5LP is still working.

BTW,

KEEP THE WIRES SHORT !!!

If the SWD wires connecting Kitprog to target PSoC are longer than 10cm, you may have problems with SWD signal integrity.  5cm length works very well.

Good luck with your project.

Bill

Bill,

I found not connecting pin 5 (VTARG) of the KitProg interface connector J7 to be just as effective with minimal modifications to the PCBs.

Len

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

Hi Len.

When target 5LP operating at 5V, I agree, disconnecting VTARG is an option.  Kitprog will source SWD signals at 5V.

When target 5LP operating at 3.3V, I prefer Kitprog to also source SWD signals at 3.3V, hence the removal of Kitprog diode D1 with VTARG connected.

5LP SWD ports are GPIO type pins which are not 5V tolerant unless pin current is limited to 100uA (see datasheet version "L", section 6.4.15 Overvoltage Tolerance).  This is to protect the internal clamp diode and protect any external circuitry connected to 5LP Vddio.  I wish they were SIO type pins.

I guess I just like to play it safe.

Bill

Bill,

I found your reference in the datasheet limiting to 100uA (Idiode).  I also found the LU in the "Electrical Specifications\Absolution Maximum Ratings".  The LU is the LatchUp current spec that actually causes damage to the inputs.  This LU is -140mA to +140mA.

An alternate suggestion is to remove the 3.3V power on the target while programming.  It can only be done if:

  • The devices attached to the VDD can tolerate 5V.
  • The device loads during programming don't exceed 0.4A at 5V.

A series resistor of 20K can be placed on the SWDIO and SWCLK and RESET lines to limit the current below 100uA but this might be a problem for the programming clock rate due to parasitic capacitance on these lines.

I believe the 100uA limitation in the datasheet is not a 'damage-reduction' requirement.  Driving a PSoC GPIO pin with voltage 1 diode above VDD is mostly a problem for analog circuits inside the PSoC and analog components outside the PSoC.

If the vref to internal analog components is VDDA, VDDA during this GPIO overvoltage injection might yield the wrong readings for ADC or output the wrong VDAC voltages.  (If vref is based on the bandgap, it shouldn't be a problem).  During programming, it is assumed that the CPU is not running the user application.  This also means that the KitProg is detached once the programming is completed.

I could be wrong about this specification.  Cypress would have to weigh in.

Len

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

Hi Len.

Some good points you've discussed.

Let's hope PaSv can find a solution that works in their environment.

Bill

PaSv,

Check also this older thread

Re: 3.3v power CY8CKIT-059 options

In particular the excerpt from the last comment:

Re: CY8CKIT-059 with 3V

  

{

I contacted Cypress and received the following response:

  

   

As you have rightly pointed out  with D1 removed the KitProg senses and adjusts voltage levels for programming the target using Special Input/Output (SIO) pins in PSoC 5LP.  SIO supports programmable output level and programmable input threshold. The logic is to sense the voltage level using ADC and adjust the SIO pin output.

   

We have also implemented similar functionality for UART and I2C pins internally. Thus there is no need of level shifter at these lines. Please let us know if you face any discrepancies. We tried to recreate the same and observed 3.3 V at SDA lines without level shifter.

  

  

I put it on a scope and it does appear that both the TX and RX signals at pins 12.7 and 12.6 have 3.3V logic levels when the target is powered from 3.3V, the KitProg D1 is removed, and the KitProg is plugged into USB.

}

and simple solution by the "pavloven"

Re: 3.3v power CY8CKIT-059 options

/odissey1

/odissey1,

I think BIll and PaSv are referring to the target board XRES (PROG_RESET),  P1.0 (PROG_SWDIO) and P1.1 (PROG_SWCLK) pins which aren't SIO pins.

Len

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

Thank you all for detailed information!