Help! Failed to replace LPC2132 by LPC2136/01

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by MarcVonWindscooting on Sat Aug 03 11:01:36 MST 2013
Hello, I use LPC213x since a long time. I build a board, recently for the LPC2134. I like the simplicity of these devices, compared to the LPC1700/LPC1100/LPC800 sometimes. I have a stock of LPC2132 and intend to use them for some motor drive/SMPS projects. For program development I want more RAM, hence decided to use an LPC2136/01 for that. I assembled 3 boards, 2xLPC2136/01 and 1xLPC2132 (old).
I thought, I had understood, that the /01 devices are drop-in replacements, if I don't use any new features of these. But that is exactly, what is not happening. While several programs work with LPC213x (old) they do not with LPC213x/01 ?

When limiting functionality of the programs to GPIO, DAC and Timer0 only, I still don't get the same behaviour. The behaviour of the old device is as expected. The new ones behave abnormally: simple button presses not recognized, Timer0-based timings totally off and things like that.

I found out, that I seem to have a problem with the SCS. In my program it is NOT the same (for the /01 devices), if I leave that untouched (its RESET value is supposed to be 0) or if I write 0 to it!! Let alone if I use read-modify-write. Okay, read-modify-write is - strictly speaking - wrong, as it may place 'undefined bits' into locations that should be zero. But still, why a difference between RESET contents and zero?

I found nothing in the User Manual or Errate Sheet.
Did any of you ever experience something similar and how did you fix it?
There must be something I've missed.

I know about fast IO, fractional baud rate generator. Is there anything else different?

I regret to have deleted the original User Manual of LPC213x of the time before /01 devices. But I guess, SCS was simply non-existent in these devices and not touching it should provide portability.