UC3 RESET glitches

Go To Last Post
7 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We have a product that incorporates an AT32UC31512C.  Recently we have started to get some reports from the field of devices where the software appears to be rebooting spontaneously.

 

In my search for the cause of this unpleasant behaviour, I got probing the RESET line to the micro.  The RESET line is driven by a Microchip TCM809T reset controller through a 10K series resistor.  That resistor is there to allow the programmer to drive the RESET line during production programming. 

 

I discovered that just touching the RESET line with a scope or multimeter probe frequently causes the micro to reset.  I connected a scope probe and then touched with the multimeter probe to see what happens.  There is a brief glitch of much less than 1us, presumably due to the capacitance of the probe.

 

According to the Atmel specs, the RESET input is glitch filtered: http://atmel.force.com/support/a... Any pulse shorter than about 8.5us should be ignored.

 

I don't think I have ever encountered a micro that would reset just because I touched the RESET line with a probe.  Has anyone else seen anything like this?  Any idea why this might be happening?  Something else I should be thinking about?

 

In the fuse settings, I have disabled the 3.3V BOD, since the errata explain it doesn't work.  Just to test I also disabled the 1.8V BOD, but that made no difference.

 

Thanks for any insights.

 

--

Bert Menkveld

bert@greentronics.com

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In further research, I found Atmel's app note AVR32768.  It does nothing to explain the apparent sensitivity to short glitches, but it does show an example of a RESET circuit that has a 100nF capacitor from the RESET line to ground. 

 

It also mentions that there is a permanent pull-up resistor on the RESET line, which I had not managed to glean from the datasheet.  That pull-up resistor appears to be similar in value to the I/O pin pull-up, which are spec'ed at 5K to 26K (I see something a little over 10K).

 

So I have added a 100nF capacitor to the RESET line, and reduced the series resistor from the reset controller from 10K down to 1K.  That has definitively squashed any sensitivity to probing the RESET line.  Whether that will actually solve our problems in the field remains to be seen.

 

And my Atmel JTAGICE3 programmer still seems to work OK, so apparently it doesn't mind all that loading on the RESET line.

 

--

Bert Menkveld

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The datasheet does say that there is a pullup resistor on the RESET input to the micro. (I/O Line considerations and Power Manager. Reset Controller)
The TCM809T monitors the power rail, so my first thought was that you are getting intermittent power glitches that, via a combination of duration and depth, trigger the TCM809T.


Spurious resets can also be caused by intermittent software faults that manage to reset the processor, or (if you use it) a too-short-in-duration watchdog timer .


in my experience a simple 0.1 ufd capacitor to ground on the /RESET line is generally reliable, but a high-electrical-noise environment would require more care with shielding/filtering.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the response, mikech.

 

You are quite right -- the datasheet does say there is a pull-up on the RESET line, and it's my own fault for having missed that before.

 

I also wondered if my reset controller was somehow being fooled into producing a RESET pulse.  I did put the scope on the reset controller output, and saw absolutely nothing from it.  Touching the RESET signal with a probe is hardly likely to disrupt the power supply rail, so it's hard to see how the reset controller would decide to activate the RESET line anyway. 

 

I have not used a capacitor on a RESET line in a long time, and have never had any trouble with that.  Apparently here's an instance where that capacitor is required.  I was really hoping to find some magic fuse setting or something to get the micro to ignore tiny glitches like it's supposed to, but I guess adding a capacitor is not the end of the world, and will make the design more robust.

 

--

Bert

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The RCAUSE register might have some more information.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mikech wrote:

The RCAUSE register might have some more information.

 

Thanks for prodding.  I had meant to check that, but had not actually done it yet.

 

So I added a bit of debug code to show RCAUSE.  When I generate one of these glitchy resets, RCAUSE consistently shows 0x0004, meaning EXT reset.

 

That fits with a simple externally generated reset. 

 

It really seems as if this UC3 micro does not filter out glitches on its RESET input.

 

--
Bert

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This can be solved easily by reducing the value of the pull-up resistor at the reset line.

 

By looking at the schematic checklist, looks like capacitor is essential. Personally I dont think so. Reducing the pull-up resistor value to around 5k seems fine in my setup.

 

Take a look at the schematic checklist :- http://www.atmel.com/images/doc3...

 

-----Adithya Vishnu-------