This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS3137: EMIF NAND Flash memory interface

Part Number: TMS570LS3137
Other Parts Discussed in Thread: TMDS570LS31HDK, HALCOGEN

Hi, I want to interface NAND flash memory(MT29F64G08AFAAAWP-ITZ:A TR) to TMDS570LS31HDK Hercules TMS570LS31x/21x Development Kit.

The Problem is while writing 8000 bytes of data continuously some data is missing in between.

GPO pins are used for ALE(GPOA  7), CLE(GPOA   5).

*Note: For chip select  I am  using EMIF's nDQM pin instead of EMIF 's nCS2 pin. Because of Multiple Write pulse while writing single byte data.

configurations

In Halcogen 

To send data I use "for"  loop.

If I run the above code, it write data in NAND flash memory. But here two problem  occurs

First one is some data is missing while writing 45 data. 

Second one is If I want to increase the data length from 45 to 100 or 1000 or 8000, It can't write. While reading it give's 0xFF for all data.

so after I put delay in between every data the second problem is solved but I don't know how it works.

But still the First problem is not solved.

I am attached the complete project file below.

EMIF Nand2.zip

  • Hi Veerappan,

    We started working on your issue and will provide an update soon.

    --

    Thanks & regards,
    Jagadish.

  • The EMIF on TMS570 supports an asynchronous interface with dedicated signals that is compatible with typical NOR flash and SRAM.

    The EMIF on TMS570 device doesn't have Ready/busy# (R/B#) signal. If the NAND Flash device is busy with an ERASE, PROGRAM, or READ operation, the R/B# signal is asserted LOW. The NAND protocol is not natively supported by TMS570.

    You may try EMIF EMIF_nWAIT to interface NAND R/B# signal. The R/B# signal is open drain and requires a pull-up resistor.