Interfacing to NAND Flash

Started by Bob Furber May 27, 2004
I would like to interface to a NAND flash chip, but the more I look into it,
the more difficult it seems.

The problem is when one writes (address or data) to a NAND flash, the data
is latched by the NAND flash on the rising edge of the R/*W pulse. The
problem is generating a NAND_CHIP_SELECT (CSnand) that negates at least 10
ns after R/*W has negated.

Before I launch a new career trying to interface to NAND flash, at the risk
of re-inventing the wheel, I wonder if someone else has already done this,
or, could point me in the right direction.

Thanks,

Bob Furber

__________________________________________________________

Connect your micro to the internet the easy way
www.microcommander.com

Microcontroller with an obscenity of I/O & features
..in a small footprint www.steroidmicros.com
__________________________________________________________



Bob,

Specifically, what device are you trying to interface.

I have worked with some NAND type devices and may be able to offer some
tips.

Bob Smith --- Avoid computer viruses, Practice safe hex ---

-- Specializing in small, cost effective
embedded control systems --

http://www.smithmachineworks.com/embedprod.html Robert L. (Bob) Smith
Smith Machine Works, Inc.
9900 Lumlay Road
Richmond, VA 23236 804/745-2608
----- Original Message -----
From: "Bob Furber" <>
To: <>
Sent: Thursday, May 27, 2004 1:56 AM
Subject: [68HC12] Interfacing to NAND Flash > I would like to interface to a NAND flash chip, but the more I look into
it,
> the more difficult it seems.
>
> The problem is when one writes (address or data) to a NAND flash, the data
> is latched by the NAND flash on the rising edge of the R/*W pulse. The
> problem is generating a NAND_CHIP_SELECT (CSnand) that negates at least 10
> ns after R/*W has negated.
>
> Before I launch a new career trying to interface to NAND flash, at the
risk
> of re-inventing the wheel, I wonder if someone else has already done this,
> or, could point me in the right direction.
>
> Thanks,
>
> Bob Furber
>
> __________________________________________________________
>
> Connect your micro to the internet the easy way
> www.microcommander.com
>
> Microcontroller with an obscenity of I/O & features
> ..in a small footprint www.steroidmicros.com
> __________________________________________________________ >
> --------------------To learn more
about Motorola Microcontrollers, please visit
> http://www.motorola.com/mcu
> o learn more about Motorola Microcontrollers, please visit
> http://www.motorola.com/mcu >
> --
------
> Yahoo! Groups Links
>
> a.. To



Hi Bob

> Specifically, what device are you trying to interface.

A Samsung K9F1208U0B 64Mx8 or equivalent. The samsung data sheets are
temporarily inacessible, but you can find a Hynix equivalent data sheet at
http://www.hynix.com/datasheet/pdf/flash/HY27(U_S)S(08_16)121M(Rev0.3).pdf.
The timing is pretty similar, regardless of the manufacturer, in so far as
requiring the *OEn or *Wn pulse to negate well before the *CSn[anf] negates.

Bfn,

Bob Furber

__________________________________________________________

Connect your micro to the internet the easy way
www.microcommander.com

Microcontroller with an obscenity of I/O & features
..in a small footprint www.steroidmicros.com
__________________________________________________________


Bob,

On a quick reading of the data sheet, it looks to me like it might work
to gate *WE and *RE with the HC12's chip select, and drive the flash's
*CE off a port pin.

In fact, it's not clear, from the timing diagrams, whether it's possible
to use the chip without doing something like this. The diagrams show
multiple cycles of *WE and *RE while *CE is low.

Thanks for pointing out this part. It might be useful for an upcoming
project here.

Stephen

--
Stephen Trier
Technical Development Lab
Cleveland FES Center