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
  • I think I may have found a possible problem in your RAM code, but I'm not 100% sure because I'm not privy to all of your code. I am guessing that the function, spi_send_register(x), generates a SPI sequence that formats an instruction byte with the appropriate read/write bit and address followed by the data, x. If so, that is a problem.

    Writing/reading RAM involves a single instruction byte followed by ALL of the desired RAM content. So, you must build an array of RAM values and send them all together (with a single preceding instruction byte).

Reply
  • I think I may have found a possible problem in your RAM code, but I'm not 100% sure because I'm not privy to all of your code. I am guessing that the function, spi_send_register(x), generates a SPI sequence that formats an instruction byte with the appropriate read/write bit and address followed by the data, x. If so, that is a problem.

    Writing/reading RAM involves a single instruction byte followed by ALL of the desired RAM content. So, you must build an array of RAM values and send them all together (with a single preceding instruction byte).

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.