Dev kits: XRES components

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

cross mob
DaKo_463136
Level 5
Level 5
10 likes received 10 likes given 5 likes given

Hello,

I took me a while of debugging my firmware to find out that at least two Cypress kits, namely CY8CKIT-043 and CY8CKIT-044, do not have populated pull-up resistor and filtering capacitor on XRES pin on a target PSoC.

The target device behavior is then very unexpected... If I connect the kit and freshly program the target device, the program runs (KitProg holds it). However, if I reconnect the device, the program doesn't run. If I debug the program, it runs fine...

Why? Two cents spared, but many troubles created...

David

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

PSoC 4 devices have internal pull-up on XRES pin. So the external pull-up is not necessary. Also the decoupling capacitor is better to keep but it is also optional.

>>"However, if I reconnect the device, the program doesn't run."

--> Please program a simple blinky project and check once.

--> Please check if the device is powered properly. If you have Multimeter check the voltage on the VDD pin.

--> Please check the VCCD pin also. It should be at 1.8 volts.

If the blinky project dont run even if the VDDD pins are powered, the kit might have an issue.

Thanks

Ganesh

View solution in original post

13 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

PSoC 4 devices have internal pull-up on XRES pin. So the external pull-up is not necessary. Also the decoupling capacitor is better to keep but it is also optional.

>>"However, if I reconnect the device, the program doesn't run."

--> Please program a simple blinky project and check once.

--> Please check if the device is powered properly. If you have Multimeter check the voltage on the VDD pin.

--> Please check the VCCD pin also. It should be at 1.8 volts.

If the blinky project dont run even if the VDDD pins are powered, the kit might have an issue.

Thanks

Ganesh

Hello,

here are the voltages I measured on CY8CKIT-043.

I detached the KitProg(2?) originally supplied with the kit and use a KitProg from a PSoC 5LP kit with a cca 12 cm log cable. However, the same situation happens on CY8CKIT-044.

Vusb 4,986 V

Vtarg 4,709 V (Voltage reduced by D1)

Vccd 1,862 V (of the target PSoC 4)

The pull-up on PSoC 4 must really be very weak, because when I want to measure voltage (around 4,618 V) on the reset pin, I reset the PSoC by touching the probes (internal resistance should be around megaOhms or tens of megaOhms).

I haven't tried a simple blinking, because I already use blinking as a heartbeat indication in my own project (only because of the problem described above) - otherwise I can't be sure that the program is running.

David

0 Likes

Hello.

You might want to look at this thread:

Solution: Use Kitprog to Program PSoC 4000 without XRES pin

The key to getting the power cycle programming method to work is:

1)  add a pull-up resistor on the Kitprog XRES signal.  Kitprog is relying on this for a logic 1 level (since it is not physically connected to something else that could drive it HI).  Otherwise, Kitprog will likely enter its own bootloader s/w.

2) use short length SWD cables.  12cm is tooooooooo long!!!  I've never had an issue with 5cm up to 10cm length cables. Beyond 10cm the signal quality was very poor.

3) whatever method you use for toggling the target power supply, ensure it can support enough current to charge up any capacitors attached to target (and support circuitry).  Also, it must be able to discharge any capacitance within 100us (duration timing that Kitprog asserts XRES).

Good luck with your project.

DaKo_463136
Level 5
Level 5
10 likes received 10 likes given 5 likes given

Hello,

thank you for your comment. Interesting thread you linked...

I will make the wires shorter, but I didn't have any problems previously. I think I will try solving my issue by simply adding a pull-up on the *target* device XRES (but no capacitor). 4k7 is in the kit's schematics, I will try something like 100k. I need the application to work reliably even without the KitProg.

David

0 Likes

Hello.

You might also try the suggested 0.1uF capacitor on target XRES along with the 4.7k Ohm resistor (100k would also work).

The capacitor performs 2 functions:

1) filtering unwanted noise on XRES pin

2) power-up reset time constant.   4200M (like other PSoC families) needs 1us logic 0 for a reset cycle to be recognized while voltages are being applied.  All voltage rails are being monitored inside PSoC as voltage is applied to its pins (i.e., power cycle reset method).  You'd have to read the datasheet and architecture reference manual for the full description.

0 Likes

Hello,

I tried three configurations:

1) a 100k pull-up resistor to XRES

2) a 100 nF capacitor to ground

3) combination of both above.

I also tried a laboratory supply instead of a USB port (laptop and a powered USB hub).

Unfortunately, nothing worked I switched on the power supply, the application doesn't run (among other things it should blink a hearthbeat on a LED). Then I pull XRES to ground by touching a wire between ground and XRES and the application runs as soon as I stop touching the ground.

There is something with the reset circuitry (applies to both CY8CKIT-043 and 044, which have the same PSoC). Is there an errata? I didn't see any on the web. Am I missing something? Some reset configuration in PSoC Creator?

Here you can see the XRES and Vdd voltages on a scope (Vdd is violet, XRES is light blue) : after adding the pull-up and capacitor as mentioned above.

osc.jpg

I am hopeless.

Thanks for any help.

David

0 Likes

Hi.

The waveforms look okay at 1ms/div.  However, can you expand to 1us/div.  That's where the important reset waveform is located.

I would go with the suggestion from Ganesh.  Load the Cypress provided blinking LED program.  That way, all the build settings will be set to factory default to run on CY8CKIT-043.

Bill

0 Likes

Hello,

I tried the DeepSleep Blinky on CY8CKIT-044 and it seemed to be running. I did a few power cycles.

I will try to run some firmware blinking on CY8CKIT-043 tomorrow.

When I run my own application in a debugger, it works OK. This might be because of a slower timing, or simply complies to my situation where the firmware runs when freshly programmed by KitProg. I can't really explain this.

David

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi DaKo_463136​,

I tried running a normal blinky code on the CY8CKIT-043 out of the box (R23 and C30 not loaded) and performed a couple of tests to reproduce your issue. The program was getting executed everytime. Can you please let me know if the new project worked for you?

Is it possible for you to test it out in another board? Also, could you please share your project so that I can run the same tests with your code programmed into the device?

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B

Hello RakshithM_16​,

Interesting... May I ask you to share your project to run on my boards? My whole project has now a few dependencies and works with serial and external I2C components you probably don't have. It would be much easier for me.

Thank you,

David

0 Likes
lock attach
Attachments are accessible only for community members.
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi DaKo_463136,

Like I said, I just programmed a simple blinky project. I have attached the project for your reference.

Please let me know if repeating the same steps after programming your device works with your Kit.

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes

Hello RakshithM_16​,

thank you for your help. Your program worked OK, I unplugged and plugged back the USB power and it started up fine.

I will try to export some version of my project that still starts-up only after being freshly programmed into the PSoC. I still can't find any clues what in firmware could be wrong that it wouldn't start after connecting the power, but it could after a reset...

Or there is some project setting I can't see.

Thank you,

David

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi DaKo_463136,

Can you start by comparing the setting in the System tab in .cydwr file? Is Debug Select set to SWD?

Please provide an update on this thread regarding the issue with the firmware.

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B