Reset multiple ICs in a design

Thread Starter

serendipity

Joined Mar 11, 2019
5
If I want to be able to control Reset pins of multiple ICs (microcontrollers) on a board, how can I do that? Some of them might be active high and some might be active low resets. Like 1 controller should be able to reset the other, and vice-versa, along with one being able to reset other ICs on the board. Is voltage detector/supervisor the best way to do it? Or even a mux? But that might not be the best way, if I normally want to hold the active-low pin high for most of the time?
 

Paul Griffiths

Joined Nov 21, 2017
28
If it's low for reset then can use an inverter.

As for most of the time, set the reset for when the clock is low, allow the clock to go high for it's cycle length then reset pin back to original state.
 

Thread Starter

serendipity

Joined Mar 11, 2019
5
I mean I just have one GPIO each from 2 microcontrollers, to control each others' reset AND be able to reset other ICs on the board. So would I need a Mux, or like n different voltage detectors to control n IC resets (basically 2 GPIO pins controlling n resets)? And since these resets are a combination of active high and active low, I am not sure if the Mux can handle that.
 

Papabravo

Joined Feb 24, 2006
22,082
I don't think there is a one size fits all solution. If I had unlimited resources and board area I would implement this function in an FPGA. There would be "n" RESET REQUSET inputs. There would be "m" RESET outputs with defined polarity. For each RESET REQUEST input, one or more of the "m" RESET outputs would be enabled for a programable amount of time. That is each RESET output would be connected to a digital One-Shot (aka Monostable Multivibrator). That is how I would solve the problem.

I'll bet @danadak could program a Cypress PSOC to do this in less time than it takes to recite the Gettysburg Address.
 

danadak

Joined Mar 10, 2018
4,057
Yes, PSOC has an onboard component for power supply sequencing that could
functionto issue resets, or just a combo of SW and HW controls. If you use latter
you could add conditional controls beyond just time delays to generate the next
reset. Like T, I.....logic conditionals, etc..

Or use PSOC state machine wizard and design a custom HW/SW combination.

upload_2019-3-11_20-49-35.png

Sequencing up and down with individual time delays, up to 32 resets could be done. Delays
up to 32 sec.



Regards, Dana.
 
Last edited:

danadak

Joined Mar 10, 2018
4,057
This is the state machine internal to the component, one for each pin -

upload_2019-3-11_21-14-8.png

Note when I stated in prior post use state machine as another design method thats a
different component inside PSOC.

Basically lots of ways to do design.

Regards, Dana.
 

Thread Starter

serendipity

Joined Mar 11, 2019
5
Under what conditions do you want to do a reset?
The micros should be able to reset each other after flashing. And all the other ICs should be reset when there is a problem with the power supply on the board and/or in certain case one of the micros wants to do a reset. So 2 GPIOs should control this logic (more than 4 ICs in total), and the ICs have active low pins. Maybe using n voltage detectors is the way to do it, each of them controlled by one of the GPIOs and resetting the ICs or the MCUs.
 

Thread Starter

serendipity

Joined Mar 11, 2019
5
Thanks all for laying out all the solutions.

I should've mentioned I am trying to do this with minimum increase in BOM cost and board size. That's why I was wondering if a 30 cents voltage detector would be a good option? But then I would need one with more than 2 outputs to be able to enable all the resets independently using just 2 GPIO pins. I am not sure if another cheap option could be a Mux?
 
Reset is always a problem. Many devices will not reset after a power glitch.

I had trouble with a uP that when it was used with a switching supply, it worked fine. With a linear supply, it would not reset. Fortunately using a schmidt trigger version of an IC in the reset ckt worked.

You have the watch dog timer method, a real power-up method using rest generators.

Not sure exactly what your trying to accomplish? Hold some processors in reset until programming is complete?
 

Thread Starter

serendipity

Joined Mar 11, 2019
5
You have the watch dog timer method, a real power-up method using rest generators.

Not sure exactly what your trying to accomplish? Hold some processors in reset until programming is complete?
Thanks, I'll look into reset generators.

I want to reset the controllers after programming them and be able to reset the 2 contrOllers independently.
 
Top