EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

VPBDIV Setting Changes

Started by scottkelsall July 3, 2006
Hi

I am trying to verify that my LPC2129 is running at 60MHz. I am
simply using the IOPIN command to toggle a GPIO pin.However the pin
stays high for 100ns not the expected 16.666ns.

I have set the VPDIV setting to 0x01; therefore PCLK is running at
the same frequency as the CCLK, and the mul and div settings are
correct to multiply up to 60M from an Oscillator of 20M

I have noticed when running the code that the VPBDIV setting chages
to 0x00; which sets the PCLK to 1/4 of the CCLK speed and then back
to 0x01.

Does anyone know why this happens.

I am using the startup.s file from the blinky examble in the Keil
Micro vision package.

Thanks

Scott

An Engineer's Guide to the LPC2100 Series

Hello,

You can't toggle GPIO pins at the full processor frequency. A store operation
on an ARM7 core takes at least two cycles, but access to port pins requires
some additional cycles because the GPIO system is connected to a slower bus.
The newer LPCs like LPC214x have a fast-gpio feature allowing you to toggle
pins at 1/4th of the processor frequency (2 cycles per write access).

Regards,

Dominic Rath

On Monday 03 July 2006 13:53, scottkelsall wrote:
> Hi
>
> I am trying to verify that my LPC2129 is running at 60MHz. I am
> simply using the IOPIN command to toggle a GPIO pin.However the pin
> stays high for 100ns not the expected 16.666ns.
>
> I have set the VPDIV setting to 0x01; therefore PCLK is running at
> the same frequency as the CCLK, and the mul and div settings are
> correct to multiply up to 60M from an Oscillator of 20M
>
> I have noticed when running the code that the VPBDIV setting chages
> to 0x00; which sets the PCLK to 1/4 of the CCLK speed and then back
> to 0x01.
>
> Does anyone know why this happens.
>
> I am using the startup.s file from the blinky examble in the Keil
> Micro vision package.
>
> Thanks
>
> Scott
Hi

Thanks for that

Kind Regards

Scott

--- In l..., Dominic Rath
wrote:
>
> Hello,
>
> You can't toggle GPIO pins at the full processor frequency. A
store operation
> on an ARM7 core takes at least two cycles, but access to port pins
requires
> some additional cycles because the GPIO system is connected to a
slower bus.
> The newer LPCs like LPC214x have a fast-gpio feature allowing you
to toggle
> pins at 1/4th of the processor frequency (2 cycles per write
access).
>
> Regards,
>
> Dominic Rath
>
> On Monday 03 July 2006 13:53, scottkelsall wrote:
> > Hi
> >
> > I am trying to verify that my LPC2129 is running at 60MHz. I am
> > simply using the IOPIN command to toggle a GPIO pin.However the
pin
> > stays high for 100ns not the expected 16.666ns.
> >
> > I have set the VPDIV setting to 0x01; therefore PCLK is running
at
> > the same frequency as the CCLK, and the mul and div settings are
> > correct to multiply up to 60M from an Oscillator of 20M
> >
> > I have noticed when running the code that the VPBDIV setting
chages
> > to 0x00; which sets the PCLK to 1/4 of the CCLK speed and then
back
> > to 0x01.
> >
> > Does anyone know why this happens.
> >
> > I am using the startup.s file from the blinky examble in the Keil
> > Micro vision package.
> >
> > Thanks
> >
> > Scott
>

There's also a number of Errata that relate to VPDIV for the 2129 (use of
EINT etc) so you may also wish to look there...

Andy

-----Original Message-----
From: l... [mailto:l...]On Behalf
Of Dominic Rath
Sent: 03 July 2006 13:05
To: l...
Subject: Re: [lpc2000] VPBDIV Setting Changes
Hello,

You can't toggle GPIO pins at the full processor frequency. A store
operation
on an ARM7 core takes at least two cycles, but access to port pins requires
some additional cycles because the GPIO system is connected to a slower bus.
The newer LPCs like LPC214x have a fast-gpio feature allowing you to toggle
pins at 1/4th of the processor frequency (2 cycles per write access).

Regards,

Dominic Rath

On Monday 03 July 2006 13:53, scottkelsall wrote:
> Hi
>
> I am trying to verify that my LPC2129 is running at 60MHz. I am
> simply using the IOPIN command to toggle a GPIO pin.However the pin
> stays high for 100ns not the expected 16.666ns.
>
> I have set the VPDIV setting to 0x01; therefore PCLK is running at
> the same frequency as the CCLK, and the mul and div settings are
> correct to multiply up to 60M from an Oscillator of 20M
>
> I have noticed when running the code that the VPBDIV setting chages
> to 0x00; which sets the PCLK to 1/4 of the CCLK speed and then back
> to 0x01.
>
> Does anyone know why this happens.
>
> I am using the startup.s file from the blinky examble in the Keil
> Micro vision package.
>
> Thanks
>
> Scott

The 2024 Embedded Online Conference