Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] LPC2148 and Fast I/O question

2006-01-01 by mickey mouse

Hi Dominic,

Thanks for taking the time to reply.

> I don't think your 230ns are too bad. At 58.9 MHz
> you have 16.98ns per cycle.
> The smallest loop I could come up with looks like
> this:
> 
> loop:
> ldr r0, [FIOPIN] (reg holding address of IOPIN)
> tst r0, MASK
> strne OUTMASK, [FIOSET] (reg holding address of
> IOSET)
> strne OUTMASK, [FIOCLR] (reg holding address of
> IOSET)
> b loop
> 
> A load requires at least 3 cycles, the test 1 cycle
> and the store 2 cycles. 6 
> cycles or ~102ns are the absolute minimum. If the
> store's condition isn't 
> fulfilled, it takes 1 cycle, and the branch takes 3
> cycles.
> If the input isn't high in time for the ldr, up to
> 14 cycles or ~238ns are 
> going to pass. These are optimum values, where no
> additional delay beyond 
> that of the ARM7TDMI-S instruction cycle timing
> occurs. What does your 
> assembly look like, and does the code run from
> single-cycle memory?

I am running my code from the internal SRAM on the
LPC2148.  My assembly is the same as yours.  I have
preloaded registers with values and addresses before I
enter my loop, just like you have. 

I think that a redesign may be in order.  Anyone know
a good 250MHz ARM7 with local SRAM.  Just kidding.

Thanks again.

Vern



		
__________________________________________ 
Yahoo! DSL \ufffd Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.