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.

trouble with DM6446's DDR2 memory - Hardware related

Other Parts Discussed in Thread: TMS320DM365, TMS320DM6446, STRIKE

Dear Friends,

I am in bring up phase of my custom designed board around DM6446. The board has two 128MByte DDR2 chips connected with DM6446 dedicated DDR2 interface.

My first board had a soldering issue. It has a short circuit between two pins DDR_RAS and DDR_D15 under the DSP. My first board was able to read and write to the DDR2 space 0x8000000 with some errors and one of the error was  that D15 bit was always high. I had no choice of getting it fixed so i went to get my second board stuffed. I got my second board stuffed. The first thing i wanted to check on my 2nd board was the DDR interface. Now when i examine the DDR2 space (0x80000000) through XDS560R emulator then i see permanant or non editable values in the whole DDR2 space.

1. The 32bit hex value read at address 0x80000000 is either 0xFFFF0FFF or 0xFFFFFFFF

2. The 32bit hex value at next address (0x80000004) is always 0x00000000 and these two values repeat in entire DDR2 memory space

All of my DDR2 connections to DM6446 are through series termination resistors of 22 ohms.so i can probe all signals connecting with external DDR2 chips. I ran my ddr2 interface at different speeds: 126MHz, 135MHz,  195.75 MHz and the above mentioned behaviour of data is same for all speeds.

following is the observation of some of the DDR2 signals:

DDR_CK and DDR_CK#: pins output clock at rate defined in setup_pll_2( 0, 27, 13, 2 )/* 126Mhz*/ function defined in gel file.

DDR_RAS:  stays high but periodically (at 137.346KHz) goes low for very short time

DDR_CAS:  stays high but periodically (at 137.346KHz) goes low for very short time

DDR_WE: stays high but goes low only when a read or write is performed from XDS560 memory window.

DDR_CKE: seems to stay high all he time.

DDR_VREF: pin is at 0.9V (1/2 VDD_1.8)

Can somebody help me,. and tell me how should i debug DDR2 interface?

Regards,

Asim

 

 

 

  • I guess one of the first things to verify is the setup of the DDR2 controller timing registers to make sure they support the timing requirements of the particular DDR2 memory device you are using.

    Also, have you verified you are getting the correct clock frequency on DDR_CK and DDR_CK# based on your PLL settings in the GEL file.  From there you can calculate the appropriate DDR2 controller settings to support the DDR2 memory.
    It is also important to get the BANK-ROW-COLUMN settings correct.

  • Hi BrandonAzbell,

    There were short circuits between some of the DSP's DDR pins. I am waiting for my new board to get stuffed.

    I will keep in mind your suggestions when I bring up my new board.

    Thanks and best regards,

    Asim


     


  • Hi,

    I meet  as the same trouble as your description above when I debug my circuit  board based on TMS320DM365, could you give me some sugesstion?

    Regards,

    Ellen

  • Hi,

              I meet  as the same trouble as your description above when I debug my circuit  board based on TMS320DM6446, but i didn't find short circuit pins of DSP, i tested 14pcs units, they all were so, these 14pcs is my second issuing PCB, In order to cost down in the productor, i charged layer numer of PCB, the first issuring PCB is 8 layers PCB, it works normlly; the second issing PCB is 6 layers PCB, i reduced 2 layers of ground, the other rulers are the same as the first issuring PCB, they all strike, is the changing layer number wrong? can you give me some sugesstion?

    Regards,

    Xdan Wang