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.

NAND Flash with TMS320F28335

Other Parts Discussed in Thread: TMS320F28335

Hi guys, 

I'm evaluating the TMS320F28335 for a project. It seems to fit most of my requirements, but I'd like to interface it to a NAND flash memory chip (specifically the MT29F2G08AACWP). 

From the description (http://www.ti.com/product/tms320f28235) I see that it has a 32/16-bit EMIF. Is it possible to interface this EMIF with NAND memory? 

Thanks for your help,

Aleks

  • Alex,

    The EMIF (XINTF) is well suited where the memory access is linear (SRAM). You will not be able to successfully map the block and page addressed with XINTF.

    You probably need an FPGA between the TMS320F28335 and NAND device.

    Thanks

    Noah

  • Thanks for the reply Noah!

    Do you know what kind of non-volatile memory is suitable? I need about 1GB of memory for data storage.

    Thanks,

    Aleks

  • Aleks,

    I am not aware of any other flash that has parallel access. A simple search might reveal the truth.

    The one method I have seen is to have an FPGA between the MCU and the NAND FLASH. 

    You can write to the FPGA however you want from the MCU side. You need to keep track of which block , page etc..

    you are accessing.

    The FPGA will have to make the necessary arrangements to send the data to the NAND flash.

    Thanks

    Noah

  • Thank you for your help.

    I'd rather not have the added complexity and cost of an FPGA. Looks like I'll have to write a driver and handle flash read / write in software. 

    Aleks

  • Hi Aleks

    We had interfaced F28335 with NAND flash through Cyclon FPGA. Now we are looking to remove cyclone FPGA. How complex the firmware is to handle flash read/write? Pls let us know if any special care need to be taken care in software. Is there any document available to do this?

    Thanks,
    Sachin
  • Hi Sachin,

    It is not too difficult, probably about two weeks to implement then some time to iron out issues. I used the datasheet of the flash chip as documentation. There are no gotchas that I remember, but I also didn't need very high throughput.

    Start at the lowest level with defines for all the control pins (CE, CLE, ALE ...) for high and low, a function to write and read a single byte (bitmask), then move to functions for opening / closing the chip, sending a command, setting the address...

    Aleks