Yahoo Groups archive

Lpc2000

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

Message

Re: [lpc2000] Lpc22xx and sed1335

2005-08-09 by Gary Greene

Hi Fred,

Have you actually used the LPC2214/2294 in 8 bit mode? I have used
the Olimex LPC2214 eval board with the CS8900A ethernet chip and
while I could read the registers using the equivalent of:
SETBCFG(15, 31, 0, 31, 0)
(NOTE: even though it has all 16 data bus bits tied to the IC,
  it is in 8 bit mode - the design does not toggle the lines
  on the IC necessary to force the IC into 16 bit mode.)
I could not write to the chip until I set the BCFG register to:
SETBCFG(15, 31, 1, 31, 0)
(I figured this out from the polish comment above the line of
code that sets the BCFG register in the demo code for the
Olimex LPC2214 eval board. All my reads and writes are 8 bits
at a time. Trying to read 16 bits at once corrupts the data.)
I can now ping the CS8900A and everything is OK after the port
of existing code (5 hours for the port, 8 hours to find the fix).
Any comments on RBLE=0 vs. RBLE=1 in 8 bit mode?

- Gary Greene


DECwiz (Fred van Kempen) wrote:
> That's what the BCFG3 register is for (in your case.)  It sets the 
> various access
> modes (MW=0, RBLE=0), delays (DLCY=15) and wait states for READ (WST1=15)
> and WRITE (WST2=15) using:
> 
> #define SET_BCFG(idcy, w1, rble, w2, mw) ( \
>   (((mw) & 0x03) << 28) | (((w2) & 0x1f) << 11) | \
>   (((rble) & 0x01) << 10) | (((w1) & 0x1f) << 5) | \
>   ((idcy) & 0x0f))
> 
> so, BCFG3 = SETBCFG(15, 15, 0, 15, 0);
> 
> in your case.  This gives the slowest-possible 8-bit data/address bus for
> the chip.  A0 is used as a "command/data" register switch, so, 0x83000000
> is the command register (A0=0) and 0x83000001 is the data register (A0=1.)
> 
> --fred
> 
> 
> szemzoandras <a.szemzo@...> wrote:
> Hi,
> 
> I would like to port my sed1335 driver to the lpc. I would like to use
> it in memory mapped mode, so I connect data, rw, e, and cs lines. I
> have an A0 pin on the lcd, which state is depends on that I want to
> send data, or command.I plan to connect A0 to the address 0 of the
> lpc, and than if i'm write to address 83000000 a0 will be 0, write to
> 83000001 A0 will be 1. (8bit bus) Will this work? :) I know I need to
> set PINSEL2, BCFG3, but what about the delays. SED1335 is not a fast
> device.
> 
> Any comments?
> 
> Thanks and Regards,
> Andrew
> 
> 
> 
> 
> 
> 
> 
> 
> SPONSORED LINKS
> Microcontrollers Microprocessor Intel microprocessors Pic 
> microcontrollers 8085 microprocessor
> 
> ---------------------------------
> YAHOO! GROUPS LINKS
> 
> 
>     Visit your group "lpc2000" on the web.
>  
>     To unsubscribe from this group, send an email to:
> lpc2000-unsubscribe@yahoogroups.com
>  
>     Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
> 
> 
> ---------------------------------
> 
> 
> 
> 
> [Non-text portions of this message have been removed]
> 
> 
> ------------------------------------------------------------------------
> YAHOO! GROUPS LINKS
> 
>     *  Visit your group "lpc2000
>       <http://groups.yahoo.com/group/lpc2000>" on the web.
>        
>     *  To unsubscribe from this group, send an email to:
>        lpc2000-unsubscribe@yahoogroups.com
>       <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe>
>        
>     *  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>       Service <http://docs.yahoo.com/info/terms/>.
> 
> 
> ------------------------------------------------------------------------
>

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.