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.

Can we multiplex more than one External SDRAM with TMS570LC4357?

Other Parts Discussed in Thread: TMS570LC4357

Hi TI,

As per TMS570LC4357 trm, TMS570LC4357 controller can address 128MB (mega bytes) memory of external Synchronous SDRAM.

But I can not find such SDRAM in the market. Do anybody know such SDRAM IC? If yes please post here.

And my question is actually below.

If 128MB(Megabytes) SDRAM with 16-bit data bus is available (??), can we make use of such 4 ICs in such a way that,

One IC is connected with EMIF_ncs[0], and Other Three IC's CS Pins with Three GPIO Pins?

So that I can manually select any one IC at a time and read/write them separately?

I am not sure whether it is possible or not, due to some practical causes like periodical refreshing is required for SDRAM. So That If I use GPIO Pins as Chip select for remaining IC's then I have to do the Refreshing manually at specific intervals.

Likewise I want to know what are the physical considerations?

If there is no such SDRAM IC haing 128MB (megabyte), then at-least is the same approach is possible with available 64MB SDRAM?

What are the things I have to kept in mind when using 4 such ICs and with 3 GPIO Pins as Chip Select?

If this is found, then I can use TMS570LC4357 module effectively.

So Please anybody help me in this.

Thanks in advance.

Regards,

Karthikeyan.K

  • I do not think it a good idea using GPIO for SDRAM chip select. If you want to manually start refreshing process, first, I do not have a good picture how to do it,. Secondly, it will be a huge burden on CPU.

    Thanks and regards,

    Zhaohng
  • Karthikeyan,

    To get 128MBytes, you would use 2x 512Mbit SDRAM chips, in a 64Mx8 configuration.

    Example of such a device would be

    IS42S86400F-6TL

    These chips have 11 column address lines, 13 row address,  and 2 bank address (4 banks).

    One chip gets connected to the EMIF data lines D[7:0] and DQM0.  The other to D[15:8] and DQM1. 

    Other address and control lines are in parallel.  

    The EMIF gets programmed to think of this as 1 SDRAM with 11 col addr, 13 row addr, 4 banks, and x16 bits.

    It doesn't care that the 16-bits are split across 2 chips.

  • Hi Anthony Seely,

    Thanks for this idea.

    Actually My ultimate aim is to use atleast 256 MB of external RAM with TMS570. So to achieve this only I asked this question.

    And In this method you explained, Maximum of 128 MB (A set of 2 SDRAMs as 1 SDRAM = 128MB SDRAM) can be effectively utilized. And Here We gonna connect Chip Select line of both Two SDRAMs with EMIF_nCS[0], isn't it sir?

    Instead of EMIF_nCS[0], can I use a GPIO pin of TMS570 with the CHIP Select line?

    If it is possible to use a GPIO pin, then I plan to use "TWO 128MB SDRAMs" with "2 GPIO Pins as CHIP Select lines" so then I can make use of totally 256 MB of memory with my TMS570.

    But the practical problem I thought is the refreshing. So If I do refreshing frequently (as required by SDRAM datasheet), with GPIO Pins as CHIP Select lines, is this method possible, sir?

    Please give some advice on this approach?

    Thanks in advance.

    Regards,
    Karthikeyan.K.
  • Hi Karthikeyan,

    I don't think there's a clean way to do what you're asking - unless you can find a source of 512M SDR in a 64Mx4 format or 1Gbit SDR in 128Mx8.. there were some of these parts on the market but they seem to be gone. I think that you're probably going to need to work within 128Mbytes or come up with something very creative and labor intensive.. like building an external memory controller in a CPLD .. to do what you're asking. Sorry about that. I think you're right that trying to use the chip select and a gio pin would be a difficult mess to work with due to refresh problems.

    If you really need more than 128Mbytes - and don't want to go to the extreme like above - maybe it's a good idea to look at one of the Sitara parts with a DDRxx type controller - so you can get a larger memory.
  • Hi Anthony,
    Anyway, now I can make use of maximum of 128MB of memory using your concept. Thanks for that.
    And I decided to work within 128MB because moving to Sitara processor will empty my wallet. :)
    So now it is ok for me to use TMS570 itself.

    So as per trm, TMS570 can address 3 * 16MB asynchronous RAM, isn't it?.
    But I cannot find any Asynchronous RAM of 16MB in the market.

    Could you please tell me the recommended Asynchronous RAM for this TMS570LC4357 (having 16MB)?

    Thanks,

    Regards,
    Karthikeyan.K

  • Hi Karthikeyan,

    Standard ASYNC SRAM will really empty your wallet at 16MBytes ;) you could try 4x of a device like CY7C1079DV33 but you'll be paying a premium for the speed. Normally the Aync interface would be used for some slower memory.

    One thing you might try - I haven't personally but looking at the datasheet it seems it would work, is psuedo-sram that has non-multiplexed address/data (i.e. a standard Async SRAM operating mode) like
    MT45W8MW16BGX. Skimming the datasheet the two drawbacks I see are:
    - needs a 1.8v core rail, so that's another power rail over the 3.3V & 1.2V that the LC4357 needs.
    however the power is very low, so a small LDO could source this from 3.3V.
    - the VIH spec of VCCIO - 0.4V is a little tight - our VOH spec is VCCIO -0.3V at 50uA load.
    guessing this is tightly spec'd on the RAM because the VCCIO can go down to 1.8V as well,
    but you could confirm w. the memory vendor or find a similar chip spec'd differently.
    In any case it isn't incompatible, just has a low margin.

    We have some connectors on the LC4357 launchpad where we can add memory - will need to put on our wish-list a psram board because it looks promising ..

    Best Regards,
    Anthony
  • Hi Anthony,
    Thanks for your reply.
    Actually I am designing some data logger system. For that purpose only I want to use more memory with my TMS570.
    And of-course, I cannot go with Async RAMs since they are very costly.

    So in that case what about using SDcards? Using SDcards, I can integrate higher memory. But It is SPI communication. So I am not sure about the Speed.

    Also there are lot of types among them like microSD, miniSD, macroSD and also class 2,4,10 etc.,

    So I have really high speed and large memory requirements.

    Can you please give some suggestions on choosing correct SDCard chip?

    Thanks.

    Regards,
    karthikeyan.K.
  • Hi Karthikeyan,

    We don't have an SDCARD interface so you would need to use SPI mode.
    Not sure about the speed.

    Looping in my colleague QJ - he has written SPI based SDCARD programs before for our kits and may know more details.

    Best Regards,
    Anthony
  • Hi Karthikeyan,

    I have a CCS6.0 project for SD CARD demo on RM48 HDK. The project also contains a simple FS (fatfs). Enclosed is the project.

    Regards,

    QJ0167.RM48 HDK RevE SDCard Demo.zip