How to make PSoc4 reset itself

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

cross mob
Anonymous
Not applicable

Hi!

   

Is there anyway to have the logic blocks in a PSoc4 generate some form of hardware reset? I am using a PSoc 4200L as a keyboard controller for a project and I'd like to add a special key board combo that will trigger a (fail safe) reset if held for 4 seconds. To make this as solid as possible, I'd like to do the key detecting and counting as a logic block to be resilient to bugs in the software. Is there anyway to let the output of a logic block generate a reset? Would it be ok to route the logic block to a pin and then route the pin to XRES or should I add an external reset circuitry that makes sure to keep XRES low longer than the port output?

   

Are there any other ideas how this could be handled?

   

Best regards,

   

Stefan

0 Likes
1 Solution
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted
        What bugs? Software reset is simpler CySoftwareReset();   

View solution in original post

0 Likes
5 Replies
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted
        What bugs? Software reset is simpler CySoftwareReset();   
0 Likes
Anonymous
Not applicable

That implies that the software is still running and doing what it should _or_ that the watchdog reset has not broken down. Bugs = mistakes in our code. Since the code is in software, bugs are guaranteed 😉

Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I think you should put more effort in writing bug-free software than  designing new hardware components.

   

By the way: The watchdog timer is hardware.

   

 

   

Bob

Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

   

You could design a reset block and route its output to XRES pin. It is totally fine to route the output to a digital output pin and connect it to XRES. Otherwise you can generate an interrupt based on the designed logic block and call CySoftwareReset(); as Odissey said.

Thanks,
VSRS

0 Likes

Hello, I was wondering what a reset block would look like, and the steps to create one?

0 Likes