Forums

Using a small 8-bit micro (LPC900) as external reset / watchdog device!?

Started by An Schwob in USA February 7, 2005
Our design needs to have a timed reset (shorter!) to get up to speed
faster. We use a 32-bit CPU with external crystals and the required
time to keep the device in reset is min. 10 ms. If I use a
RC-combination to generate the reset pulse and include the factory
tolerance my typical reset low time will be much longer than 10 ms.

External supervisory circuits are more expensive and a lot less
versatile than low end micros. If the micro has an internal oscillator
and a defined startup time, it is very easy to control the reset
timing. It is also very easy use the device as watchdog with
programable actions. This watchdog could even try to establish
communication with the larger micro before it generates a reset.
The LPC903 or the LPC904 with ADC seem to be perfect.

With all these benefits and still so many reset devices on the market,
I must have missed some important disadvantages of such a
configuration.

For one the supervisor circuit uses less power than a micro but the
micro is still less than 100 uAs active.
What else am I missing?

Your feedback is appreciated, Schwob

An Schwob in USA wrote:
> Our design needs to have a timed reset (shorter!) to get up to speed > faster. We use a 32-bit CPU with external crystals and the required > time to keep the device in reset is min. 10 ms. If I use a > RC-combination to generate the reset pulse and include the factory > tolerance my typical reset low time will be much longer than 10 ms. > > External supervisory circuits are more expensive and a lot less > versatile than low end micros. If the micro has an internal oscillator > and a defined startup time, it is very easy to control the reset > timing. It is also very easy use the device as watchdog with > programable actions. This watchdog could even try to establish > communication with the larger micro before it generates a reset. > The LPC903 or the LPC904 with ADC seem to be perfect. > > With all these benefits and still so many reset devices on the market, > I must have missed some important disadvantages of such a > configuration. > > For one the supervisor circuit uses less power than a micro but the > micro is still less than 100 uAs active. > What else am I missing?
We pay about $.40 for a 5-pin reset circuit. We've also done a watchdog/reset/power sequencer based on a PIC. The PIC will work fine if you need to do a lot of specialized things, but the cost will be higher after you include development, part cost, programming and board space.
> Your feedback is appreciated, Schwob >
On 7 Feb 2005 16:37:53 -0800, "An Schwob in USA" <schwobus@aol.com>
wrote:


>For one the supervisor circuit uses less power than a micro but the >micro is still less than 100 uAs active. >What else am I missing?
You also have to go to the extra step of programming the micro. The reset chip is simply soldered into place and it works. Dan
On 7 Feb 2005 16:37:53 -0800, "An Schwob in USA" <schwobus@aol.com>
wrote in comp.arch.embedded:

> Our design needs to have a timed reset (shorter!) to get up to speed > faster. We use a 32-bit CPU with external crystals and the required > time to keep the device in reset is min. 10 ms. If I use a > RC-combination to generate the reset pulse and include the factory > tolerance my typical reset low time will be much longer than 10 ms. > > External supervisory circuits are more expensive and a lot less > versatile than low end micros. If the micro has an internal oscillator > and a defined startup time, it is very easy to control the reset > timing. It is also very easy use the device as watchdog with > programable actions. This watchdog could even try to establish > communication with the larger micro before it generates a reset. > The LPC903 or the LPC904 with ADC seem to be perfect. > > With all these benefits and still so many reset devices on the market, > I must have missed some important disadvantages of such a > configuration. > > For one the supervisor circuit uses less power than a micro but the > micro is still less than 100 uAs active. > What else am I missing? > > Your feedback is appreciated, Schwob
I've used an approach like this for ten years, but I wouldn't use it just for reset and watchdog. You still need a power supply monitor, and perhaps an external reset circuit anyway, in any safety critical or high reliability. It can be extremely useful to put a secondary microcontroller as an intelligent slave on a board. I used an 8051 deritave with a 486 a long time ago, and our current architecture uses a 16-bit HS12 from Motorola as a slave/IO coprocessor to an ARM 9. But in addition to the programmable watchdog function, the coprocessor handles relatively low speed tasks to spare the main processor overhead, such as running an A/D converter, debouncing switch and mechanical sensor inputs, controlling LED display outputs. On our newest product, the hand controllers are plug-and-play over a low speed CAN interface, The coprocessor sends out a broadcast status request four times a second, assembles all the replies from however many are connected (there are multiple ports), and sends them to the main processor in a single 115k baud packet using the serial protocol we developed. It is also extremely handy for the board assembly house to troubleshoot boards, and locking the board -- and the whole system -- into a fail safe state if something goes wrong. The typical 32-bit processor/controller requires a large number of devices and board traces to be working to do anything at all. The secondary micro uses no external memory and really needs nothing but power and its oscillator. -- Jack Klein Home: http://JK-Technology.Com FAQs for comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html comp.lang.c++ http://www.parashift.com/c++-faq-lite/ alt.comp.lang.learn.c-c++ http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html
Hello Jack,

great ideas. Watchdog and Reset are probably not worth the while but
adding some sanity check functionality is really excellent.
In fact I have seen hot plug functionality with CAN in the past as well
but the really cheap micros don't offer this yet. The HC12 is a little
too expensive for what I am looking at, the ARM7 device is competing in
price with many of the HC12s. Looked at PIC but the 10-series is just a
toy, the PIC12F is somewhat similar in functionality to the LPC904 but
does not offer the same serial features or the same great internal
oscillator. The smallest AVRs seem more expensive.

In fact your approach could be best implemented with the LPC916,
multiple serial interfaces, 2k flash and an ADC and I got quotes
definitely below $1. Could offload the CPU quite a bit for serial
communication and some low end analog inputs.

Thank you for your great feedback!

An Schwob

Jack Klein wrote:
> On 7 Feb 2005 16:37:53 -0800, "An Schwob in USA" <schwobus@aol.com> > wrote in comp.arch.embedded: > > > Our design needs to have a timed reset (shorter!) to get up to
speed
> > faster. We use a 32-bit CPU with external crystals and the required > > time to keep the device in reset is min. 10 ms. If I use a > > RC-combination to generate the reset pulse and include the factory > > tolerance my typical reset low time will be much longer than 10 ms. > > > > External supervisory circuits are more expensive and a lot less > > versatile than low end micros. If the micro has an internal
oscillator
> > and a defined startup time, it is very easy to control the reset > > timing. It is also very easy use the device as watchdog with > > programable actions. This watchdog could even try to establish > > communication with the larger micro before it generates a reset. > > The LPC903 or the LPC904 with ADC seem to be perfect. > > > > With all these benefits and still so many reset devices on the
market,
> > I must have missed some important disadvantages of such a > > configuration. > > > > For one the supervisor circuit uses less power than a micro but the > > micro is still less than 100 uAs active. > > What else am I missing? > > > > Your feedback is appreciated, Schwob > > I've used an approach like this for ten years, but I wouldn't use it > just for reset and watchdog. You still need a power supply monitor, > and perhaps an external reset circuit anyway, in any safety critical > or high reliability. > > It can be extremely useful to put a secondary microcontroller as an > intelligent slave on a board. I used an 8051 deritave with a 486 a > long time ago, and our current architecture uses a 16-bit HS12 from > Motorola as a slave/IO coprocessor to an ARM 9. > > But in addition to the programmable watchdog function, the
coprocessor
> handles relatively low speed tasks to spare the main processor > overhead, such as running an A/D converter, debouncing switch and > mechanical sensor inputs, controlling LED display outputs. > > On our newest product, the hand controllers are plug-and-play over a > low speed CAN interface, The coprocessor sends out a broadcast
status
> request four times a second, assembles all the replies from however > many are connected (there are multiple ports), and sends them to the > main processor in a single 115k baud packet using the serial protocol > we developed. > > It is also extremely handy for the board assembly house to > troubleshoot boards, and locking the board -- and the whole system -- > into a fail safe state if something goes wrong. > > The typical 32-bit processor/controller requires a large number of > devices and board traces to be working to do anything at all. The > secondary micro uses no external memory and really needs nothing but > power and its oscillator. > > -- > Jack Klein > Home: http://JK-Technology.Com > FAQs for > comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html > comp.lang.c++ http://www.parashift.com/c++-faq-lite/ > alt.comp.lang.learn.c-c++ > http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html
That's funny, I just answered a similar question this morning on LPC2000 
groups. Someone had mentioned they used a TPS3306-20-Q1 but when I 
checked the TI 1K price it was over a $1. For years I have used little 
PIC12C509s for reset and ISP control etc, what flash micros don't need 
some easy kind of ISP control? The newer devices such as the LPC900s or 
PIC12Fs are even better and cheaper. To save double-talk I'll just 
repost my previous message.

REPOST from http://groups.yahoo.com/group/lpc2000/

The problem with reset chips is that they are overly expensive (why?)
and customized. I find it cheaper to employ an 8-pin micro
(PIC12F,LPC900)complete with power-on timer/brown-out detect etc. I can
configure these for my reset threshold, reset time etc. These micros are
typically stand-alone, not requiring any external circuitry such as
crystal etc to operate.

PLUS!, there is always the bonus of having it monitor the coms line and
being able to reset or ISP the main processor as well as being able to
operate as an independant configurable watchdog.

Summary:
Configurable intelligent watchdog/reset/monitor *costs less* than a
fixed reset chip.

my2cents
*Peter*


-- An Schwob in USA wrote:

> Our design needs to have a timed reset (shorter!) to get up to speed > faster. We use a 32-bit CPU with external crystals and the required > time to keep the device in reset is min. 10 ms. If I use a > RC-combination to generate the reset pulse and include the factory > tolerance my typical reset low time will be much longer than 10 ms. > > External supervisory circuits are more expensive and a lot less > versatile than low end micros. If the micro has an internal oscillator > and a defined startup time, it is very easy to control the reset > timing. It is also very easy use the device as watchdog with > programable actions. This watchdog could even try to establish > communication with the larger micro before it generates a reset. > The LPC903 or the LPC904 with ADC seem to be perfect. > > With all these benefits and still so many reset devices on the market, > I must have missed some important disadvantages of such a > configuration. > > For one the supervisor circuit uses less power than a micro but the > micro is still less than 100 uAs active. > What else am I missing? > > Your feedback is appreciated, Schwob
"Dan" <dan@dontspammecauseidontlikit.com> wrote in message
news:qt8g01162f79pmgfbn3s164qt0rrkgluba@4ax.com...
> On 7 Feb 2005 16:37:53 -0800, "An Schwob in USA" <schwobus@aol.com> > wrote: > > > >For one the supervisor circuit uses less power than a micro but the > >micro is still less than 100 uAs active. > >What else am I missing? > > You also have to go to the extra step of programming the micro. The > reset chip is simply soldered into place and it works. > > Dan
right, but you can get from micro much more, like I2C slave RTC,ADC, battery powered RAM, EEPROM , software protection key and Reset device for more powerful (ARM,MIPS) system. r.
> >
> Our design needs to have a timed reset (shorter!) to get up to speed > faster.
> External supervisory circuits are more expensive and a lot less > versatile than low end micros... > With all these benefits and still so many reset devices on the market, > I must have missed some important disadvantages of such a > configuration.
...
> What else am I missing? > > Your feedback is appreciated, Schwob >
As other people have noted, just a pure rest function is maybe not costeffective. there is lot of other things you can do. In the Comet board, an AT90CAN128 is a supervisory controller. It will do: UART expansion CAN expansion Reset the AT91RM9200 Can program the boot order. * External /Internal Dataflash over SPI * Internal Dataflash over SPI * I2C (using internal AVR Flash down.loaded over CAN) * UART * USB Brownout Detection Port Expansion Real Time Clock - little more power than a discrete solution Temperature Measurement Touch Screen Control (ADC) Key Debouncer LED Drive If not all functionas are needed, a smaller AVR can easily be used. If a small LCD controller is needed an ATmega169 can be used etc. I think that conservatism is the answer in many cases. Don't know the volume you have but there are many AVRs which should go under a dollar in volume. Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
An Schwob in USA wrote:
> Our design needs to have a timed reset (shorter!) to get up to speed > faster. We use a 32-bit CPU with external crystals and the required > time to keep the device in reset is min. 10 ms. If I use a > RC-combination to generate the reset pulse and include the factory > tolerance my typical reset low time will be much longer than 10 ms. > > External supervisory circuits are more expensive and a lot less > versatile than low end micros. If the micro has an internal oscillator > and a defined startup time, it is very easy to control the reset > timing. It is also very easy use the device as watchdog with > programable actions. This watchdog could even try to establish > communication with the larger micro before it generates a reset. > The LPC903 or the LPC904 with ADC seem to be perfect. > > With all these benefits and still so many reset devices on the market, > I must have missed some important disadvantages of such a > configuration. > > For one the supervisor circuit uses less power than a micro but the > micro is still less than 100 uAs active. > What else am I missing?
I'd look closely at the Power On reset, or Vpor, on the uC, if you want to use it as a WDOG/RST. The SiLabs C8051F305 etc family might be a better solution, as they have a more robust and precise BOD and /RST pin-drive handling. -jg
Ulf Samuelsson wrote:
>>Our design needs to have a timed reset (shorter!) to get up to speed >>faster. > > >>External supervisory circuits are more expensive and a lot less >>versatile than low end micros... >>With all these benefits and still so many reset devices on the market, >>I must have missed some important disadvantages of such a >>configuration. > > ... > >>What else am I missing? >> >>Your feedback is appreciated, Schwob >> > > As other people have noted, just a pure rest function is maybe not > costeffective.
... Or even technically correct/possible. <snip>
> If not all functionas are needed, a smaller AVR can easily be used. > If a small LCD controller is needed an ATmega169 can be used etc. > > I think that conservatism is the answer in many cases.
Note that to replace a Vdd Monitor device, you need a DEFINED reset drive, from below 1V Vdd. - to get that in a uC, you need one that drives the Reset pin and has a data sheet defined state - eg the C8051F30x series state 0.6V is /RST force threshold, whilst AVRs do not drive the RST pin. The ideal WDOG_uC would ** have a defined Reset Out for < 1V Vcc ** Have a Brown Out detector that defaulted ON ** Have an adjustment range on the BOD threshold ** Draw under 1uA, with BOD alive. I have not seen one that meets all of the ideals.... -jg