Post Go back to editing

How to write successfully user data to RAM in AD9957

Hi,

It seems that this issue has already been raised at this forum. Unfortunately, even though I tried to follow exactly the suggested steps I couldn't get the data successfully delivered to the memory in AD9957. In particular, I'm not sure how to organize the sequence of signals during RAM loading. I tried as follows:

1. CS = low

2. Send RAM address (0x16)

3. Send N 32-bit words one after another (with I/O_Update issued after each of them)

4. CS = high

Sometimes, I see that the first bit is changed but all the other are unaffected by the above procedure.

I will appreciate any suggestions.

Bartek

Parents
  • Thanks for the prompt reaction on my inquiry. However, I tried to follow your suggestions without success. Let me just mention that:

    1. single tone works ok

    2. in the interpolating DAC mode, any changes of RAM size affects periodicity of the generated signal but the content is incorrect (noisy)

    Let me share with all my sequence hoping you will find some mistakes:

    /CS = 1
    SCLK = 1
    MASTER_RESET = 1
    MASTER_RESET = 0

    //CFR1 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x00
    0x01000002
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //CFR2 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x01
    0x00400020
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //CFR3 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x02
    0x113f0100
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //PROFILE0 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x0e
    0x0480000000000000
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //RAM Segment Register 0 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x05
    0x000100030004
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    RT = 0
    RT = 1

    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x16
    0x00
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0
    0x00
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0
    0x00
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0
    0x00
    /CS = 1

    RT = 0
    RT = 1

    //CFR1 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x00
    0x9f000002
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    RT = 0
    RT = 1

Reply
  • Thanks for the prompt reaction on my inquiry. However, I tried to follow your suggestions without success. Let me just mention that:

    1. single tone works ok

    2. in the interpolating DAC mode, any changes of RAM size affects periodicity of the generated signal but the content is incorrect (noisy)

    Let me share with all my sequence hoping you will find some mistakes:

    /CS = 1
    SCLK = 1
    MASTER_RESET = 1
    MASTER_RESET = 0

    //CFR1 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x00
    0x01000002
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //CFR2 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x01
    0x00400020
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //CFR3 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x02
    0x113f0100
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //PROFILE0 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x0e
    0x0480000000000000
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    //RAM Segment Register 0 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x05
    0x000100030004
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    RT = 0
    RT = 1

    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x16
    0x00
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0
    0x00
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0
    0x00
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0
    0x00
    /CS = 1

    RT = 0
    RT = 1

    //CFR1 settings:
    I/O_RESET = 1
    I/O_RESET = 0
    /CS = 0
    0x00
    0x9f000002
    /CS = 1
    I/O_UPDATE = 0
    I/O_UPDATE = 1
    I/O_UPDATE = 0

    RT = 0
    RT = 1

Children
No Data

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.