EmbeddedRelated.com
Forums

LPC2132/01 ISP issue

Started by gmpundlik August 20, 2009
Hello,

I am developing a LPC2132/01 based system. I just received the assembled PCBs and I tried to put in a test program. But the LPC2132 won't go into ISP mode.

Pin P0.31 is left unconnected, and pin P0.14 is used exclusively for ISP mode select, with a pull-up of 10K. I used LPC Flash Utility v2.2.3, tried baud rates of 4800, 9600, 19200 and 38400 but none of them could detect the device id, let alone write anything to its flash.

I also tried resetting the controller by shorting the reset capacitor, after power up. The controller's 3.3V supply is generated by ADP3338 LDO that does not soft start (have used it earlier with LPC2114), so I guess it is not the problem with supply voltage ramp.

The voltages at all power pins are ok. The battery socket is empty (Vbat connected to VSS). However, the XTAL2 and XTAL1 clock pins are level at high and low respectively. Seems that the oscillator is not working. The crystal is 12MHz with 33pF capacitors.

Errata documents do not mention anything relevant to this problem.

Is there any issue or a trick to get the LPC2132 working, or could it be plain dead... on a fresh new board (two of them)!?

Thanks,

Girish

An Engineer's Guide to the LPC2100 Series

>The voltages at all power pins are ok. The battery socket is empty (Vbat connected to VSS).
That may be the problem - I've seen mention of various issues whne VBat has no voltage on it.
The LPC2132 datasheet itself says:

"If the RTC is used, VBAT must be connected to either pin V3 or an independent power supply (external battery). Otherwise, VBAT should be tied to the ground (VSS)."

- the empty CR2032 battery holder does just that.

The LPC2132 does not need Vbat to boot, so it should not matter whether any Vbat is present or not.

Can you elaborate on any specific issues with Vbat missing?

Thanks,

Girish
--- In l..., Mike Harrison wrote:
> >The voltages at all power pins are ok. The battery socket is empty (Vbat connected to VSS).
> That may be the problem - I've seen mention of various issues whne VBat has no voltage on it.
>
>Is there any issue or a trick to get the LPC2132 working, or could it
be >plain dead... on a fresh new board (two of them)!?

I don't know the problem you are having, but to assist, you can bring up
a terminal session on the ISP port and type ????? at various baud rates.
If ISP is working it will reply with "SYNCHRONISED". No different to
FlashMagic, but might save some debugging time.

Thanks,

Girish

Yes, tried that too, with both FlashMagic and NXP utility. The host keeps sending 0x3F ('?') and doesn't get anything back.

--- In l..., "Bruce Paterson" wrote:
> >Is there any issue or a trick to get the LPC2132 working, or could it
> be >plain dead... on a fresh new board (two of them)!?
>
> I don't know the problem you are having, but to assist, you can bring up
> a terminal session on the ISP port and type ????? at various baud rates.
> If ISP is working it will reply with "SYNCHRONISED". No different to
> FlashMagic, but might save some debugging time.
>
> Thanks,
>
> Girish
>
>
I checked all the pin usage again, and found that I am using pin P1.20 as input for a sensor, whose value is indeterminate at startup. This pin when low at startup, makes pins P1.16:25 as trace port. And at this point, no sensors are connected and P1.20 is being pulled low.

Apparently, this trace port affects functions of only certain pins (of course, that is not desired), and is connected directly to the ARM core. The documentation is not clear whether it affects ISP mode. I could switch this input to a nearby pin that is defined as output in my application, but before I perform some surgery on the board, does anybody have any experience with using the traceport and ISP together on the same board?

Thanks,
Girish

--- In l..., "gmpundlik" wrote:
>
> Hello,
>
> I am developing a LPC2132/01 based system. I just received the assembled PCBs and I tried to put in a test program. But the LPC2132 won't go into ISP mode.
>
> Pin P0.31 is left unconnected, and pin P0.14 is used exclusively for ISP mode select, with a pull-up of 10K. I used LPC Flash Utility v2.2.3, tried baud rates of 4800, 9600, 19200 and 38400 but none of them could detect the device id, let alone write anything to its flash.
>
> I also tried resetting the controller by shorting the reset capacitor, after power up. The controller's 3.3V supply is generated by ADP3338 LDO that does not soft start (have used it earlier with LPC2114), so I guess it is not the problem with supply voltage ramp.
>
> The voltages at all power pins are ok. The battery socket is empty (Vbat connected to VSS). However, the XTAL2 and XTAL1 clock pins are level at high and low respectively. Seems that the oscillator is not working. The crystal is 12MHz with 33pF capacitors.
>
> Errata documents do not mention anything relevant to this problem.
>
> Is there any issue or a trick to get the LPC2132 working, or could it be plain dead... on a fresh new board (two of them)!?
>
> Thanks,
>
> Girish
>
To have a flash programming enabled, you need to get p0.14 to low
level exclusively.
If it is pulled up and you are not grounding to program, then it would never
recognize programming mode.
This may sound too simplistic, but I have faced this number of times my self
Regards,
Prerak

On Thu, Aug 20, 2009 at 10:36 PM, gmpundlik wrote:

> Hello,
>
> I am developing a LPC2132/01 based system. I just received the assembled
> PCBs and I tried to put in a test program. But the LPC2132 won't go into ISP
> mode.
>
> Pin P0.31 is left unconnected, and pin P0.14 is used exclusively for ISP
> mode select, with a pull-up of 10K. I used LPC Flash Utility v2.2.3, tried
> baud rates of 4800, 9600, 19200 and 38400 but none of them could detect the
> device id, let alone write anything to its flash.
>
> I also tried resetting the controller by shorting the reset capacitor,
> after power up. The controller's 3.3V supply is generated by ADP3338 LDO
> that does not soft start (have used it earlier with LPC2114), so I guess it
> is not the problem with supply voltage ramp.
>
> The voltages at all power pins are ok. The battery socket is empty (Vbat
> connected to VSS). However, the XTAL2 and XTAL1 clock pins are level at high
> and low respectively. Seems that the oscillator is not working. The crystal
> is 12MHz with 33pF capacitors.
>
> Errata documents do not mention anything relevant to this problem.
>
> Is there any issue or a trick to get the LPC2132 working, or could it be
> plain dead... on a fresh new board (two of them)!?
>
> Thanks,
>
> Girish
>
>
>


Sorry I did not explain the complete situation. P0.14 is pulled up by 10K resistor, and grounded though a jumper. So when I attempt to flash the program, I put the jumper in place, and rest of the times it is pulled high without the jumper.

I think I know what can be the problem. The pullup resistor on P0.14 was tied to 5V instead of 3.3V. There was a issue with the power supply circuit in the begining, the first stage 15V switching regulator catch diode was connected in reverse (bad footprint used by the PCB designer), and I had to replace the regulator. The subsequent power stages 5V and 3.3V were OK, therefore I guess they were safe. But, if somehow the 5V rail could have been affected, it could have damaged the P0.14 pin. Rest of the microcontroller may well be ok, but there is no way it can respond to ISP requests now.

I am building another board with the diode put correctly, so I will know by next week.

Can a reversed catch diode of a switching regulator inflict such damage on rest of the circuit?

Thanks,

Girish
--- In l..., Prerak Sheth wrote:
>
> To have a flash programming enabled, you need to get p0.14 to low
> level exclusively.
> If it is pulled up and you are not grounding to program, then it would never
> recognize programming mode.
> This may sound too simplistic, but I have faced this number of times my self
> Regards,
> Prerak
>
> On Thu, Aug 20, 2009 at 10:36 PM, gmpundlik wrote:
>
> >
> >
> > Hello,
> >
> > I am developing a LPC2132/01 based system. I just received the assembled
> > PCBs and I tried to put in a test program. But the LPC2132 won't go into ISP
> > mode.
> >
> > Pin P0.31 is left unconnected, and pin P0.14 is used exclusively for ISP
> > mode select, with a pull-up of 10K. I used LPC Flash Utility v2.2.3, tried
> > baud rates of 4800, 9600, 19200 and 38400 but none of them could detect the
> > device id, let alone write anything to its flash.
> >
> > I also tried resetting the controller by shorting the reset capacitor,
> > after power up. The controller's 3.3V supply is generated by ADP3338 LDO
> > that does not soft start (have used it earlier with LPC2114), so I guess it
> > is not the problem with supply voltage ramp.
> >
> > The voltages at all power pins are ok. The battery socket is empty (Vbat
> > connected to VSS). However, the XTAL2 and XTAL1 clock pins are level at high
> > and low respectively. Seems that the oscillator is not working. The crystal
> > is 12MHz with 33pF capacitors.
> >
> > Errata documents do not mention anything relevant to this problem.
> >
> > Is there any issue or a trick to get the LPC2132 working, or could it be
> > plain dead... on a fresh new board (two of them)!?
> >
> > Thanks,
> >
> > Girish
> >
> >
> >
>
>
Hello,

I further rechecked the schematic and the tested the boards again.

The schematic is good, reset circuit has a 10K pullup and 0.1uF capacitor to the ground. P0.14 has a 10K pullup and jumper to the ground. There are in all 36 pins used for I/O. Pin P0.31 is left open and not used, so it should not pose any problem. I also changed the crystal from a KDS make that had no datasheet, to a Vishay crystal of known parameters, 20pF load capacitance so that the 33pF capacitors matched.

Voltages on all power pins are OK. I scoped the serial port signals and traced with a serial port monitor. The '?' command is being sent, but there is no response from the microcontroller. The clock shows low on one pin and high on the other.

Pin P1.20 when low is supposed to put pins P16:25 in traceport mode, so I set it to high by a jumper. Pin P1.26 (enables JTAG when low) is also not used, left unconnected.

I have probably checked for every possible pin that could send the LPC2132 into some other mode and prevent it from responding to ISP.

I had used a LPC2114 earlier in this project, that had no problem doing ISP right at first power up. I am sure LPC2132 is no different. At least, I did not find any ISP related cases other than bad handling of P0.14 or other hardware errors.

Now, is there anything else I could be missing, in terms of logic levels on certain pins that I need to maintain on startup?

Thanks for any help.

Girish
--- In l..., "gmpundlik" wrote:
>
> Hello,
>
> I am developing a LPC2132/01 based system. I just received the assembled PCBs and I tried to put in a test program. But the LPC2132 won't go into ISP mode.
>
> Pin P0.31 is left unconnected, and pin P0.14 is used exclusively for ISP mode select, with a pull-up of 10K. I used LPC Flash Utility v2.2.3, tried baud rates of 4800, 9600, 19200 and 38400 but none of them could detect the device id, let alone write anything to its flash.
>
> I also tried resetting the controller by shorting the reset capacitor, after power up. The controller's 3.3V supply is generated by ADP3338 LDO that does not soft start (have used it earlier with LPC2114), so I guess it is not the problem with supply voltage ramp.
>
> The voltages at all power pins are ok. The battery socket is empty (Vbat connected to VSS). However, the XTAL2 and XTAL1 clock pins are level at high and low respectively. Seems that the oscillator is not working. The crystal is 12MHz with 33pF capacitors.
>
> Errata documents do not mention anything relevant to this problem.
>
> Is there any issue or a trick to get the LPC2132 working, or could it be plain dead... on a fresh new board (two of them)!?
>
> Thanks,
>
> Girish
>
gmpundlik wrote:
> Hello,
>
> I further rechecked the schematic and the tested the boards again.
>
> The schematic is good, reset circuit has a 10K pullup and 0.1uF capacitor to the ground. P0.14 has a 10K pullup and jumper to the ground. There are in all 36 pins used for I/O. Pin P0.31 is left open and not used, so it should not pose any problem. I also changed the crystal from a KDS make that had no datasheet, to a Vishay crystal of known parameters, 20pF load capacitance so that the 33pF capacitors matched.
>
> Voltages on all power pins are OK. I scoped the serial port signals and traced with a serial port monitor. The '?' command is being sent, but there is no response from the microcontroller. The clock shows low on one pin and high on the other.
>
> Pin P1.20 when low is supposed to put pins P16:25 in traceport mode, so I set it to high by a jumper. Pin P1.26 (enables JTAG when low) is also not used, left unconnected.
>
> I have probably checked for every possible pin that could send the LPC2132 into some other mode and prevent it from responding to ISP.
>
> I had used a LPC2114 earlier in this project, that had no problem doing ISP right at first power up. I am sure LPC2132 is no different. At least, I did not find any ISP related cases other than bad handling of P0.14 or other hardware errors.
>
> Now, is there anything else I could be missing, in terms of logic levels on certain pins that I need to maintain on startup?
>
> Thanks for any help.
>
> Girish

What is P0.31 have or connected to?

regards,
Charles