Reset issues

Hi,

We have a design with Embedded Master modules that includes a battery to keep the board running on power failure.
Most of the times that the power is not restored and the battery runs out the EMaster remains freeze after powering the board again.
Hitting the reset (a simple switch to GND) doesn’t make any difference, the battery has to be disconnected from the board to allow a “clean” power-up in order to restore the system.
This is becoming quite a pain because it requires opening the product enclosure.
Is there any particular reset configuration/circuit we should have implemented? Doesn’t the EMaster module include a power supervisor or something to handle properly the power fluctuations? Should it be added externally? (if that is the case, we may facing the same issue as the supervisor would have to be connected to the reset pin, which apparently is not working as expected).

You help and insight would be appreciated.

I think while the battery is being drained, the processor is running of low voltages below allowed specifications and causing it to lock up.

Maybe add a reset IC to do this manually?

I agree 200% with you about what could be the cause.

A few clarifications, please:

  • Is the RESET pin of the module connected directly to the RESET of the processor? Any RC circuit, pull-ups?
  • Does the EM module include any voltage supervisor or similar IC?

[quote]- Is the RESET pin of the module connected directly to the RESET of the processor? Any RC circuit, pull-ups?

  • Does the EM module include any voltage supervisor or similar IC?[/quote]

There is a pricey reset controller chip on the reset pin but for some reason it is not doing the job!

Sorry to hear that…

That means we have to include extra components to take care of that, right?
Is the chip the same in the EMX or the reset/power supervisory have a different design?
BTW, what is the chip?

MCP130 maybe?! I can’t remember the part number.

Yes you may need to add something to your design to cover this.

I am curious to how the battery is supplied to the circuit.

Are using some form of battery charge controller that switches power from the battery and the external supply. It sounds like your design has the battery always supplying the board and in the even it goes low, it does not get disconnected from the load. If you then re-apply external power, you are not raising the supply from ZERO and it is likely that the board is failing to come out of reset properly.

It still doesn’t explain why the reset input from your switch fails to reset the device.

Have you considered an alternative method of powering from the battery? Linear Technology and TI offer Power Path battery charger controller IC’s that can be used to switch from external supply to battery automatically. With the addition of an external switching IC you can power off the battery to this when the voltage drops below the lower limit. This would then ensure that your board is fully powered down. As the external supply is re-applied, the charge controller feeds this to your board and the battery shutdown IC detects that there is sufficient voltage to switch on and starts to charge the battery again.

I used this exact design in a recent project and it has been working well ever since.

As the rest of your design seems to work, maybe you just need that shutdown circuit to remove battery power when it gets too low. This would ensure that the board gets powered right down and not supplied with insufficient low voltage power.

Good luck with your project and hope you can find a solution.

Hi Dave,

Thanks for your detailed analysis and suggestions. :slight_smile:

The design is very simplistic and actually the voltage regulator that powers the EM is feed by the power source and the battery, each line with a diode to prevent current from flowing the wrong directions.
I’ll consider one of those power path you suggest on a future design.

As for the reset, I’m as puzzled as you. It is a simple NO switch connected to GND… No matter what, that should be able to pull the reset line low (which it does, as I’ve measured it). That is supposed to reset the EM, which is not happening, thus requiring the hard power off to bring back the EM.

Gus,

I’ve check the MCP130 data sheet and it is a power supervisor circuit, no input to handle external reset signals.
Some of my questions remains unanswered: is the EM reset pin connected directly to the LPC reset pin? Is there anything else connected to the LCP reset pin, besides the MCP130 reset signal and possibly the EM reset pin?

Yes directly and nothing else

Hi JZ,

Just a thought. Can you connect up a variable power supply (no battery fitted) and then whilst monitoring the power and the reset line, reduce the voltage slowly until it gets to the same low voltage that the battery gets to. Ideall you should have a dual supply, one acting as the battery and the other as the external power.

Once you get the battery voltage down low, the reset IC should kick in and pull the line low.
Now switch on the external supply and see what happens. I theory, your supply to the module should now be correct and the reset IC should come out of reset and you module start but it sounds like the low voltage is probably not low enough for the MCP130. You need to find out which part number was used as there are a number of different voltage ranges it comes in.
Even if it don’t restart, the push button reset should cause it to work.
By monitoring the voltage into the board and the reset line you might see what the fault is.

Oh hang on, here’s a thought that just occurred to me in addition to the above!!!

I am not familiar with that processor yet so need to check it’s power up sequence. A number of devices these days have 1.2 or 1.8V cores and the timing of the supply switch on is critical to getting them to work to prevent latchup. What could be happening is that the low voltage core is still working but the 3.3V sections are too low. Because you still have this battery connected and possibly powering the core and then apply external power, you are not really meeting this timing requirement. Just a thought worth checking and as I said, I am not familiar yet with that processor.

Dave…

Ah, the LPC2478 has a single 3.3V supply so that throws that theory out the window.

It also has a built in BOD and what appears to be a good reset circuit so this is still a bit strange.

I would suspect that when the battery is dead it presents a huge load to the power supply when you try and turn the power supply on. It sounds like to me that you need to do a better job of battery management to avoid letting it get that low.

Dave,

Many thanks for the debug tip! I’ll give it a try.

Jeff,

The battery includes an internal protection circuit to prevent it from deep discharge.
Although that could be an issue, as power is restored it would start the charging cycle immediately and eventually would reach a decent voltage.
In one of those occasions that a unit froze it was a weekend. On Monday (almost a day after the power failure) it was still locked and the battery perfectly charged. It was necessary to disconnect the battery and power to unlock the EM…

[quote]The battery includes an internal protection circuit to prevent it from deep discharge.
Although that could be an issue, as power is restored it would start the charging cycle immediately and eventually would reach a decent voltage.[/quote]

The voltage level at which the internal battery protection kicks in may be lower than a safe operating voltage for the processor. It sounds as if the battery needs to delay charging until a few seconds after power is applied to give the power supply time to come up properly.

Just wondering if anyone actually got to the bottom of this problem, as we seem to have a very similar one now?

We have a battery powered EMX based application, rev.1 has been in use for a year, and rev.2 with an updated PCB design has been under field test for a few weeks, and we’ve just had a report of a unit that failed to boot up. The hardware reset didn’t work, and it required removing the power supply (battery) and replacing to get it to start.
I had actually seen this a couple of times during development, and put it down to a problem with the debugger attachment or similar, but obviously not in this case.

The battery is a 3.7V Lithium rechargeable, and isn’t designed for easy removal, being used in a heavy industrial environment which is quite unfriendly towards hardware. I would like to avoid a case redesign (adding an external power-off switch) at this stage, we already have orders lined up for more units.

Hopefully someone found a cause/cure, and just didn’t get around to posting about it?

The thread is months back so wouldn’t assume it is a related issue. If there a problem, please let us know how we can reproduce it on our end.

Hi Gus,
I figured the first thing to so was search the forum for a similar problem and see if it had been resolved, to avoid wasting your time. This one seemed to be pretty well identical to our symptoms. Another search turned up a more recent thread with a very similar sounding problem: http://www.tinyclr.com/forum/topic?id=7929
Again, it doesn’t seem to have been resolved.

If I could find out how to reproduce it, that would be a great start. It has happened perhaps 3-4 times that we know of, in a year of use of several devices, although perhaps many more were unreported. These units are used in a rather unpleasant industrial environment, with operators taking some 12,000 readings per shift with them, and if something goes wrong they tend to get a bit cranky. I didn’t think it was possible to break 15mm carbon fibre shafts like that!
I’ll see what I can find out, but I may have to resort to an external power switch.
Thanks, David

What type of voltage regulator are you using with your 3.7V Lithium battery? Open circuit voltage on freshly charged single cell can be as high as 4.2V. We burnt up a few USBizi-100 chips because of this. We now use a little buck-boost converter that gives us a nice stable 3.3V over the cells entire operating range.

We are using a MIC5219 3.3V regulator, and a MCP73871 for battery charger and charge-path. Charging is solely from USB.

We initially used a boost converter to give us a 5V rail, followed by a 3.3 buck, which worked really nicely 99% of the time. However when working in close proximity (inches) to a 380,000 Amp DC bussbar the magnetic field would sometimes saturate the inductors, so we had to change to an inductorless LDO design.