Forums

How to find if LPC2214 is 00 or 01

Started by "parretti.francesco" April 15, 2010
Hi! I'm a newbie, so sorry if I post a stupid question.
This is my problem: I'have to work on a board with LPC2214
I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
Using keil ULINK2 can I detect the type of ARM???
Thx

An Engineer's Guide to the LPC2100 Series

Hi

Devices with fast GPIO will usually also support legacy GPIO too.
In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.

regards

Mark

--- In l..., "parretti.francesco" wrote:
>
> Hi! I'm a newbie, so sorry if I post a stupid question.
> This is my problem: I'have to work on a board with LPC2214
> I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> Using keil ULINK2 can I detect the type of ARM???
> Thx
>

This is my C code :

PIN0=0;

SCS|=0x00000001;

FIO0DIR0 = 0xFFFFFFFF;

while(1)
{
FIO0CLR0=0xFFFFFFFF;
__asm("nop;");
FIO0SET0=0xFFFFFFFF;
__asm("nop;");
}

and I'm thinking that it's correct.

Something missing???or my board have LPC2214/00 and so I can't use
FAST GPIO??
THX

--- In l..., "Mark" wrote:
>
> Hi
>
> Devices with fast GPIO will usually also support legacy GPIO too.
> In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
>
> regards
>
> Mark
> --- In l..., "parretti.francesco" wrote:
> >
> > Hi! I'm a newbie, so sorry if I post a stupid question.
> > This is my problem: I'have to work on a board with LPC2214
> > I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> > My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> > Using keil ULINK2 can I detect the type of ARM???
> > Thx
>

Have you tried reading the Part ID via ISP command?
Maybe this can differentiate between the types(?)

Regards

Mark
--- In l..., "parretti.francesco" wrote:
> This is my C code :
>
> PIN0=0;
>
> SCS|=0x00000001;
>
> FIO0DIR0 = 0xFFFFFFFF;
>
> while(1)
> {
> FIO0CLR0=0xFFFFFFFF;
> __asm("nop;");
> FIO0SET0=0xFFFFFFFF;
> __asm("nop;");
> }
>
> and I'm thinking that it's correct.
>
> Something missing???or my board have LPC2214/00 and so I can't use
> FAST GPIO??
> THX
>
> --- In l..., "Mark" wrote:
> >
> > Hi
> >
> > Devices with fast GPIO will usually also support legacy GPIO too.
> > In some cases it is first necessary to enable the fast IO before they work - check for a control bit in the registers to see whether you have missed this.
> >
> > regards
> >
> > Mark
> >
> >
> >
> >
> > --- In l..., "parretti.francesco" wrote:
> > >
> > > Hi! I'm a newbie, so sorry if I post a stupid question.
> > > This is my problem: I'have to work on a board with LPC2214
> > > I try to run a simple code (like LED blinking) for fast GPIO PORT0 , but nothing happens, otherwise with standard GPIO PORT0 it works correctly.
> > > My trouble is that ARM is LPC2214/00 (without FAST GPIO) and not LPC2214/01.
> > > Using keil ULINK2 can I detect the type of ARM???
> > > Thx
> > >
>

--- In l..., "Mark" wrote:
>
> Have you tried reading the Part ID via ISP command?
> Maybe this can differentiate between the types(?)
>

Unfortunately the Part ID that can be read using IAP / ISP does NOT differentiate between different Rev numbers. In some cases it does not even differentiate between part numbers e.g. LPC 2101/2102/2103! A previous related discussion is here:

http://tech.groups.yahoo.com/group/lpc2000/message/48172

Regards,
Chris Burrows
Armaide: LPC2xxx Oberon-07 Development System
http://www.armaide.com

Thank everybody!
I think that CPU is LPC2214/00.

In my code I set SCS register, PINSEL0 and FIODIR, and FAST GPIO still no work!

I forgot something?

--- In l..., "cfbsoftware1" wrote:
>
> --- In l..., "Mark" wrote:
> >
> > Have you tried reading the Part ID via ISP command?
> > Maybe this can differentiate between the types(?)
> > Unfortunately the Part ID that can be read using IAP / ISP does NOT differentiate between different Rev numbers. In some cases it does not even differentiate between part numbers e.g. LPC 2101/2102/2103! A previous related discussion is here:
>
> http://tech.groups.yahoo.com/group/lpc2000/message/48172
>
> Regards,
> Chris Burrows
> Armaide: LPC2xxx Oberon-07 Development System
> http://www.armaide.com
>

--- In l..., "parretti.francesco" wrote:
> This is my C code :
>
> PIN0=0;
>
> SCS|=0x00000001;
>
> FIO0DIR0 = 0xFFFFFFFF;
>
> while(1)
> {
> FIO0CLR0=0xFFFFFFFF;
> __asm("nop;");
> FIO0SET0=0xFFFFFFFF;
> __asm("nop;");
> }
>
> and I'm thinking that it's correct.
>
> Something missing???

To be sure you should also clear the relevant bits in FIO0MASK. However, they are likely to be zero anyway.

How are you observing whether or not it is working? With a scope? If you are just looking for blinking LEDs you won't see anything as they will be blinking so fast they will appear to be on (but a bit dimmer than usual) all the time. Replace the 'nop's with a timer delay of 1 second or similar if you want to see the LEDs blink.

Regards,
Chris Burrows
CFB Software
http://www.cfbsoftware.com

Hi
I use 300MHz scope, now I try to use FIOMASK

I read this via ISP:

Part ID: 100794131
Boot Lader ID: 1.65
But on datasheet I can't find this value anywhere.

On top of package I have this write:

LPC2214FBD144
CF9718 02
TS60640A

--- In l..., "cfbsoftware1" wrote:
>
> --- In l..., "parretti.francesco" wrote:
> >
> >
> > This is my C code :
> >
> > PIN0=0;
> >
> > SCS|=0x00000001;
> >
> > FIO0DIR0 = 0xFFFFFFFF;
> >
> > while(1)
> > {
> > FIO0CLR0=0xFFFFFFFF;
> > __asm("nop;");
> > FIO0SET0=0xFFFFFFFF;
> > __asm("nop;");
> > }
> >
> > and I'm thinking that it's correct.
> >
> > Something missing???
>
> To be sure you should also clear the relevant bits in FIO0MASK. However, they are likely to be zero anyway.
>
> How are you observing whether or not it is working? With a scope? If you are just looking for blinking LEDs you won't see anything as they will be blinking so fast they will appear to be on (but a bit dimmer than usual) all the time. Replace the 'nop's with a timer delay of 1 second or similar if you want to see the LEDs blink.
>
> Regards,
> Chris Burrows
> CFB Software
> http://www.cfbsoftware.com
>

-- In l..., "parretti.francesco" wrote:
>
> Hi
> I use 300MHz scope, now I try to use FIOMASK
>
> I read this via ISP:
>
> Part ID: 100794131
> Boot Lader ID: 1.65
> But on datasheet I can't find this value anywhere.

When doing LPC2xxx software development refer to the User Manuals not the Data Shhets.

The Part IDs are listed in Chapter 21. Section 9.11 in the User Manual (UM10114). However, the LPC2214 is not included in the Revision I have (Rev 3 April 2008) :-(

>
> On top of package I have this write:
>
> LPC2214FBD144
> CF9718 02
> TS60640A
>

According to the Errata for LPC2214/01 parts, the second line of these markings should be /01 for /01 parts. That indicates to me that you have a no suffix or a /00 part. Chapter 9 Section 1 of the User Manual shows that the Fast GPIO ports have not been implemented on those parts which would explain why it is not working.

--
Chris Burrows
CFB Software
Armaide: ARM Oberon-07 Development System
http://www.armaide.com