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.

TMS320F28377S: F28377S expands SDRAM (MT48LC16M16A2P)

Genius 3095 points

Part Number: TMS320F28377S
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

Dear team:

I use the "emif1_16bit_sdram_far" routine from controlSUITE to do my text, and when I debug with single step mode, I found that each time I write data into an address, Data will be written to another address at the same time. For example: If I write 0x50001 at 0x80000000, it will write 0x50001 at 0x80000200 too. And so does 0x80000001 and 0x80000201, and so on.

Could it be a hardware problem? Or what may cause it?

Best regards

  • Hi,

    If ok, can you share your schematic for SDRAM connection with EMIF ?

    Regards,

    Vivek Singh

  • This is often caused by a bad signal mapping or a timing issue.

    A schematic review will check for signal mapping.

    For timing:

    Make sure that your EMIF pins are configured for Async qualification through the GPIO GPxQSEL registers.

    Double-check your SDRAM timing registers using the EMIF configuration tool from C2000Ware: \<C2000Ware>\boards\TIDesigns\F28379D_EMIF_DC\C2000-EMIF_ConfigurationTool.xlsx

    -Tommy

  • looks like it's my question.  the schematic is attached  and the configuration code is also added. I already referred to TRM(ver F) to double check the SDRAM parameter.

     

     

     

        //configure Data pins for Async mode

        //

        for (i = 69; i <= 85; i++)

        {

            if (i != 84)

            {

                GPIO_SetupPinOptions(i,0,0x31);

            }

        }

     

     

        GPIO_SetupPinOptions(88,0,0x31);

        GPIO_SetupPinOptions(89,0,0x31);

        // GPIO_SetupPinOptions(90,0,0x31);

        // GPIO_SetupPinOptions(91,0,0x31);

     

     

    //

        Emif1Regs.SDRAM_TR.all = 0x31114610;    

      //

        //Txsr = 70ns = 0x7

        //

        // Emif1Regs.SDR_EXT_TMNG.all = 0x7;

         //Txsr = 68ns/min = = 0x6

        //

        Emif1Regs.SDR_EXT_TMNG.all = 0x6; //

        //Tref = 64ms for 8192 ROW, RR = 64000*100(Tfrq)/8192 = 781.25 (0x30E)

        //

        Emif1Regs.SDRAM_RCR.all = 0x30E;

           

        //

        //PAGESIZE=2 (1024 elements per ROW), IBANK = 2 (4 BANK), CL = 3,

        //NM = 1 (16bit)

        //

        Emif1Regs.SDRAM_CR.all = 0x00015622;  ////changed into 0x4421 

        //

     

     

     

     

  • according to the EMIF_configuration_tool excel by your recommendation I updated SDRAM_CR value. now it's fine. many thanks