Forums

fast io philips ?

Started by gen_4p July 19, 2005
I've been out of the ARM loop for some time now.
That time I was going to use 2138, but it didn't work for me because of
extra cycles added on IO writing.
As I remember, during the subject discussion Philips promised 2138-type
controller with fast IOs (in 6-8 weeks?).
Does anybody know if there are any developments in this area?

Thank you,
Gennady


An Engineer's Guide to the LPC2100 Series

Hi,

the LPC2148 (LPC2138 with USB) has fast I/O. In an assemler test
program we were able to switch the ports with a frequency of CPU/4,
ergo 15 MHz.

Because this chip also has an improved UART, it is possible to reach
even 115200 Baud with 60 MHz, no need to use 14.756 MHz any more if you
prefer even frequencies (like I do). In fact for the USB you might
want to use 12 MHz external anyhow.

Cheers, Bob --- In lpc2000@lpc2..., "gen_4p" <gennadyp@j...> wrote:
> I've been out of the ARM loop for some time now.
> That time I was going to use 2138, but it didn't work for me because
of
> extra cycles added on IO writing.
> As I remember, during the subject discussion Philips promised 2138-
type
> controller with fast IOs (in 6-8 weeks?).
> Does anybody know if there are any developments in this area?
>
> Thank you,
> Gennady


Thanks Bob,

> Hi,
>
> the LPC2148 (LPC2138 with USB) has fast I/O. In an assemler test
> program we were able to switch the ports with a frequency of CPU/4,
> ergo 15 MHz.
>

I believe it's not the actual IO toggle speed, but moving of data from from
flash to IO (VPB related?) that took extra cycles on 'before 2148'
controllers. Loading consecutive data from flash and storing at a port took
10 cycles.
Is this changed on the 2148?

Gennady


Hi Gennady,

that has changed in deed, the ports are no longer connected to the VPB
bus, not even to AHB but to the memory bus, which is even faster than
the AHB connected ports.

Bob

--- In lpc2000@lpc2..., "Gennady Palitsky" <gennadyp@j...> wrote:
> Thanks Bob,
>
> > Hi,
> >
> > the LPC2148 (LPC2138 with USB) has fast I/O. In an assemler test
> > program we were able to switch the ports with a frequency of CPU/4,
> > ergo 15 MHz.
> >
>
> I believe it's not the actual IO toggle speed, but moving of data
from from
> flash to IO (VPB related?) that took extra cycles on 'before 2148'
> controllers. Loading consecutive data from flash and storing at a
port took
> 10 cycles.
> Is this changed on the 2148?
>
> Gennady


I see now difference between the LPC2138 and 2148 in I/O speed. I
have a piece of code that toggles an I/O pin to write to an external
FPGA. The time to set then clear this pin is exactly the same with
the 2148 as it was with the 2138.

This is a listing of the complied code:
// Toggle WE pin
\ 00000048 4004A0E3 MOV R0,#+0x40000000
\ 0000004C 000083E5 STR R0,[R3, #+0]
105 FPGA_WE_IOCLR = FPGA_WE_BIT;
\ 00000050 080083E5 STR R0,[R3, #+0x8]

There are 2 STR instructions in a row to do the set/reset. As I
said, no difference in speed with the 2148.

Also, does anyone know where the 8k block of RAM for USB DMA is
located in the memory map? I would like to use this for general
purpose storage.

Randy Ott

--- In lpc2000@lpc2..., "lpc2100_fan" <lpc2100_fan@y...>
wrote:
> Hi Gennady,
>
> that has changed in deed, the ports are no longer connected to the
VPB
> bus, not even to AHB but to the memory bus, which is even faster
than
> the AHB connected ports.
>
> Bob
>
> --- In lpc2000@lpc2..., "Gennady Palitsky" <gennadyp@j...>
wrote:
> > Thanks Bob,
> >
> > > Hi,
> > >
> > > the LPC2148 (LPC2138 with USB) has fast I/O. In an assemler
test
> > > program we were able to switch the ports with a frequency of
CPU/4,
> > > ergo 15 MHz.
> > >
> >
> > I believe it's not the actual IO toggle speed, but moving of data
> from from
> > flash to IO (VPB related?) that took extra cycles on 'before
2148'
> > controllers. Loading consecutive data from flash and storing at a
> port took
> > 10 cycles.
> > Is this changed on the 2148?
> >
> > Gennady


--- In lpc2000@lpc2..., "Randy Ott" <k5hj@q...> wrote:
> I see now difference between the LPC2138 and 2148 in I/O speed. I
> have a piece of code that toggles an I/O pin to write to an
> external FPGA. The time to set then clear this pin is exactly the
> same with the 2148 as it was with the 2138.
>
> This is a listing of the complied code:

> // Toggle WE pin
> \ 00000048 4004A0E3 MOV R0,#+0x40000000
> \ 0000004C 000083E5 STR R0,[R3, #+0]
> 105 FPGA_WE_IOCLR = FPGA_WE_BIT;
> \ 00000050 080083E5 STR R0,[R3, #+0x8]
>
> There are 2 STR instructions in a row to do the set/reset. As I
> said, no difference in speed with the 2148.
>
> Also, does anyone know where the 8k block of RAM for USB DMA is
> located in the memory map? I would like to use this for general
> purpose storage.

Just guessing, I haven't seen a User Manual for LPC214x. Since the
GPIOs are now accessible through the fast memory bus, they may well
be somewhere else in the memory map than the normal VPB peripherals.
And the speeds you are seeing could be because there exists a set
of "compatibility" GPIO registers at their old VPB addresses, with
their old VPB speeds.
An LPC214x User Manual, philips_apps?

Karl Olsen



--- In lpc2000@lpc2..., "Karl Olsen" <kro@p...> wrote:
> --- In lpc2000@lpc2..., "Randy Ott" <k5hj@q...> wrote:
> > I see now difference between the LPC2138 and 2148 in I/O speed.
I
> > have a piece of code that toggles an I/O pin to write to an
> > external FPGA. The time to set then clear this pin is exactly
the
> > same with the 2148 as it was with the 2138.
> >
> > This is a listing of the complied code:
>
> > // Toggle WE pin
> > \ 00000048 4004A0E3 MOV R0,#+0x40000000
> > \ 0000004C 000083E5 STR R0,[R3, #+0]
> > 105 FPGA_WE_IOCLR = FPGA_WE_BIT;
> > \ 00000050 080083E5 STR R0,[R3, #+0x8]
> >
> > There are 2 STR instructions in a row to do the set/reset. As I
> > said, no difference in speed with the 2148.
> >
> > Also, does anyone know where the 8k block of RAM for USB DMA is
> > located in the memory map? I would like to use this for general
> > purpose storage.
>
> Just guessing, I haven't seen a User Manual for LPC214x. Since
the
> GPIOs are now accessible through the fast memory bus, they may
well
> be somewhere else in the memory map than the normal VPB
peripherals.
> And the speeds you are seeing could be because there exists a set
> of "compatibility" GPIO registers at their old VPB addresses, with
> their old VPB speeds.
> An LPC214x User Manual, philips_apps?
>
> Karl Olsen

Good idea Karl. I'm afraid I'll be old and gray before the user's
manual is available.

I have a product that will go into production soon and it would be
nice to design in the 2148.

Randy Ott


Hello Randy, Karl and other LPC2000 fans,

The most current revision of the LPC214x User Manual has been
uploaded into the files section of this forum (UM10139_1.ZIP). It
will take several days for this file to be available for download
from the official Philips website. Since this is quite a big one
(original size 10MB, zipped 3.8MB) we would remove it from Yahoo
files later so that other content can be posted.

In this document you will find full description of the Fast GPIOs,
enhanced AD features (i.e. dedicated result registers for every
input), UART improvements (fractional baud rate generators,
autobauding, full hardware implementation of the CTS/RTS flow
control) and of course the USB device chapter. Enjoy!

Regards,

Philips Apps Team

--- In lpc2000@lpc2..., "Randy Ott" <k5hj@q...> wrote:
> --- In lpc2000@lpc2..., "Karl Olsen" <kro@p...> wrote:
> > --- In lpc2000@lpc2..., "Randy Ott" <k5hj@q...> wrote:
> > > I see now difference between the LPC2138 and 2148 in I/O
speed.
> I
> > > have a piece of code that toggles an I/O pin to write to an
> > > external FPGA. The time to set then clear this pin is
exactly
> the
> > > same with the 2148 as it was with the 2138.
> > >
> > > This is a listing of the complied code:
> >
> > > // Toggle WE pin
> > > \ 00000048 4004A0E3 MOV
R0,#+0x40000000
> > > \ 0000004C 000083E5 STR R0,[R3, #+0]
> > > 105 FPGA_WE_IOCLR = FPGA_WE_BIT;
> > > \ 00000050 080083E5 STR R0,[R3, #+0x8]
> > >
> > > There are 2 STR instructions in a row to do the set/reset. As
I
> > > said, no difference in speed with the 2148.
> > >
> > > Also, does anyone know where the 8k block of RAM for USB DMA
is
> > > located in the memory map? I would like to use this for
general
> > > purpose storage.
> >
> > Just guessing, I haven't seen a User Manual for LPC214x. Since
> the
> > GPIOs are now accessible through the fast memory bus, they may
> well
> > be somewhere else in the memory map than the normal VPB
> peripherals.
> > And the speeds you are seeing could be because there exists a
set
> > of "compatibility" GPIO registers at their old VPB addresses,
with
> > their old VPB speeds.
> > An LPC214x User Manual, philips_apps?
> >
> > Karl Olsen
>
> Good idea Karl. I'm afraid I'll be old and gray before the user's
> manual is available.
>
> I have a product that will go into production soon and it would be
> nice to design in the 2148.
>
> Randy Ott


I am not able to Download "UM10139_1.ZIP" file from fourm ...
need help ...

sandeep bakshi From: "philips_apps" <philips_apps@phil...>
Reply-To: lpc2000@lpc2...
To: lpc2000@lpc2...
Subject: [lpc2000] Re: fast io philips ?
Date: Wed, 17 Aug 2005 16:13:44 -0000

Hello Randy, Karl and other LPC2000 fans,

The most current revision of the LPC214x User Manual has been
uploaded into the files section of this forum (UM10139_1.ZIP). It
will take several days for this file to be available for download
from the official Philips website. Since this is quite a big one
(original size 10MB, zipped 3.8MB) we would remove it from Yahoo
files later so that other content can be posted.

In this document you will find full description of the Fast GPIOs,
enhanced AD features (i.e. dedicated result registers for every
input), UART improvements (fractional baud rate generators,
autobauding, full hardware implementation of the CTS/RTS flow
control) and of course the USB device chapter. Enjoy!

Regards,

Philips Apps Team

--- In lpc2000@lpc2..., "Randy Ott" <k5hj@q...> wrote:
> --- In lpc2000@lpc2..., "Karl Olsen" <kro@p...> wrote:
> > --- In lpc2000@lpc2..., "Randy Ott" <k5hj@q...> wrote:
> > > I see now difference between the LPC2138 and 2148 in I/O
speed.
> I
> > > have a piece of code that toggles an I/O pin to write to an
> > > external FPGA. The time to set then clear this pin is
exactly
> the
> > > same with the 2148 as it was with the 2138.
> > >
> > > This is a listing of the complied code:
> >
> > > // Toggle WE pin
> > > \ 00000048 4004A0E3 MOV
R0,#+0x40000000
> > > \ 0000004C 000083E5 STR R0,[R3, #+0]
> > > 105 FPGA_WE_IOCLR = FPGA_WE_BIT;
> > > \ 00000050 080083E5 STR R0,[R3, #+0x8]
> > >
> > > There are 2 STR instructions in a row to do the set/reset. As
I
> > > said, no difference in speed with the 2148.
> > >
> > > Also, does anyone know where the 8k block of RAM for USB DMA
is
> > > located in the memory map? I would like to use this for
general
> > > purpose storage.
> >
> > Just guessing, I haven't seen a User Manual for LPC214x. Since
> the
> > GPIOs are now accessible through the fast memory bus, they may
> well
> > be somewhere else in the memory map than the normal VPB
> peripherals.
> > And the speeds you are seeing could be because there exists a
set
> > of "compatibility" GPIO registers at their old VPB addresses,
with
> > their old VPB speeds.
> > An LPC214x User Manual, philips_apps?
> >
> > Karl Olsen
>
> Good idea Karl. I'm afraid I'll be old and gray before the user's
> manual is available.
>
> I have a product that will go into production soon and it would be
> nice to design in the 2148.
>
> Randy Ott


----- Original Message -----
From: "SANDEEP BAKSHI" <bakshi_sandeep@baks...>
To: <lpc2000@lpc2...>
Sent: Thursday, August 18, 2005 8:34 AM
Subject: RE: [lpc2000] Re: fast io philips ? >I am not able to Download "UM10139_1.ZIP" file from fourm ...
> need help ...

I just downloaded it OK. What exactly is the problem you are having?

Leon
--
Leon Heller, G1HSM
leon.heller@leon...
http://webspace.webring.com/people/jl/leon_heller/ -- ---
[This E-mail has been scanned for viruses but it is your responsibility
to maintain up to date anti virus software on the device that you are
currently using to read this email. ]