MPC860 power-on reset problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC860 power-on reset problem

Jump to solution
1,639 Views
renanarmstrong
Contributor II

Hello colleagues,

I am with a hardware problem.

When I power-off and immediately power-on my board, the MPC860 doesn`t startup and there is no signal in its CLKOUT pin. It is totally "dead".

If I wait some seconds after the power-off, the component starts-up normally.

For some reason, this problem become more constant in the last produced boards (it is in serie production since 2007), maybe there is a problem with MPC860 lots.

This problem is critical because if a  power breakdown occurs, my board gets blocked.

I observed on the errata file that there is a problem with power-on reset, but I changed all the envolved capacitors and the result continued the same.

Could someone help me ???

My Best Regards,

Renan Armstrong

1 Solution
1,277 Views
renanarmstrong
Contributor II

Thank you very much Tom,

The problem was caused due an incorrect pull-down resistor value in debug/JTAG port.

It was exchanged from 10k to 1k and the problem didn`t occur anymore.

Armstrong

View solution in original post

0 Kudos
4 Replies
1,277 Views
TomE
Specialist II

What external hardware reset controller do you have on that board? What is driving PORESET?

If you don't have one, then that's the problem. These chips aren't reliable without an external controller. I'm meaning something like the Maxim MAX803 chips here/

If you do have one, then WHICH rail is it monitoring? How many power rails do you have? The CPU runs from the 3V3 rail, so that's what should be monitored, but if you have multiple rails than you might have a sequencing problem.

What other hardware do you have on the board, and is it all reset by the PORESET signal as well? Something else may be causing problems.

Do you have an external clock, and is it running after reset, or are you relying on the crystal on the CPU?

Put an oscilloscope on PORESET and HRESET and see what is different when it doesn't work.

You might have a similar problem to one I've had on the ColdFire chips. The problem is that the DRAM is on the Data pins, and so too are the gates or resistors that drive the data bus during reset to configure the CPU. When you reset the CPU on a power off, the DRAM controller can stop in the MIDDLE of a RAM Read with the DRAM driving the bus. And it KEEPS driving the bus and doesn't let go until it has been reset. This means the "Reset Configuration" doesn't work, and the CPU is now in the wrong mode, not generating a clock.. DRAM doesn't have a reset pin. The only way to reset it is to send the right commands through the DRAM controller, and in order to do that the Reset has to work and code has to have been read from the FLASH and so on.

A properly designed DRAM controller completes previous cycles on a reset and doesn't cause this problem. The ColdFire ones do have this problem, as well as generating "random" commands on power-up that can lock up the SDRAM. I don't know what the MPC860 does in this case, but you should monitor the reset lines, and the data lines to investigate this problem. If you do have this problem then pull-ups and/or pull-downs on the SDRAM Clock and Clock Enable pins can sometimes help to minimize, but not eliminate the problems.

Add some load resistors to the power rails to try and pull the 3V3 down to ground as fast as possible on a power off. That can sometimes help. Sometimes you need a power supply that guarantees to go all the way to ground on a power-off before coming on again.

> For some reason, this problem become more constant in the last produced boards

Have you changed your RAM chip brands or models recently?

Tom

1,278 Views
renanarmstrong
Contributor II

Thank you very much Tom,

The problem was caused due an incorrect pull-down resistor value in debug/JTAG port.

It was exchanged from 10k to 1k and the problem didn`t occur anymore.

Armstrong

0 Kudos
1,277 Views
TomE
Specialist II

> The problem was caused due an incorrect pull-down resistor value

Well found. Was that the wrong value resistor on all boards, or was that the only one with that value installed?

I'm surprised it worked at all with 10k on it. For the benefit of any others finding this thread:

MPC860 User Manual, Rev 3, 07/2004

12.3 Internal Pull-Up and Pull-Down Resistors

The TMS and TRST pins have internal pull-up resistors. MPC860 devices
from Rev 0 to Rev A.3 (masks xE64C and xF84C) have an internal
pull-up resistor on TCK/DSCK but no internal pull-up resistor on
TDI/DSDI. This was corrected on Rev B and later; on these chips,
the internal pull-up resistor was removed from TCK/DSCK and an internal
pull-up resistor was added to TDI/DSDI.
...
Resistance values for internal pull-up and pull-down resistors are
not specified because their values may vary due to process variations
and shrinks in die size, and they are not tested. Typical values are
on the order of 5 kΩ but can vary by approximately a factor of 2.

I would normally expect to find this information and a specification for the pullup current in the Hardware Manual, but there's no mention of pullups at all in there, except for statements like:

Input leakage current, Vin = 5.5 V (except TMS, TRST, | 100 uA
DSCK, and DSDI pins)

Tom

1,277 Views
renanarmstrong
Contributor II


This wrong resistor was in all produced boards since its creation (around 7 years ago).

The problem occurred very sporadically, but for some reason the board became more sensitive to it in the last year.

The resistor in question is the TRST pull-down resistor.

Armstrong

0 Kudos