Yahoo Groups archive

Lpc2000

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

Message

Re: [lpc2000] Annoying Problem With SPI interface to Atmel Dataflash

2006-05-18 by ilter koksal

you should check the CPHA of the atmel chip in read and write mode. 
Sometimes you have to change the CPHA of your LPC chip btw read and writes 
dynamically.
----- Original Message ----- 
From: "gogotimmo" <tah2k@...>
To: <lpc2000@yahoogroups.com>
Sent: Thursday, May 18, 2006 7:24 AM
Subject: [lpc2000] Annoying Problem With SPI interface to Atmel Dataflash


> Hi-
>
> I am having probles with the LP32138 SSP (SPI) interface to an Atmel
> dataflash (AT45DB161). I believe it has to do with the chip select
> implementation. To read the status register of the Atmel dataflash,
> for example, the device requires an opcode 'write' followed by
> a 'read'. The write works fine, but the 'read' fails. I believe it is
> failing because the chip select gets deasserted between the read and
> write, thereby resetting the internal state machine of the data flash.
> The datasheet of the atmel memory has timing diagrams that show the CS
> asserted throughout the entire transfer with no transitions between
> frames.  Actually, it looks like the LPC2138 spi chip select gets
> deasserted between each frame in a continuous transfer. If true, this
> bites. The only workaround I can think of is to use a GPIO pin to
> drive the CS manually. Since I'm already out of pins, this isn't a
> great option for me. I thought of tricking the SPI peripheral by
> sending an 8-bit opcode justified in a 16-bit frame, which would
> probably work, but will fail when reading an array of memory
> addresses. These Atmel dataflash devices are extremely popular, so
> someone must have had similar issues.
>
> Also, I don't mean to sound rude, but I have already looked at the SPI
> code examples.
>
> Any help is appreciated-
> Thanks-
> Tim
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>

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.