Post Go back to editing

How to create files for RAM?

Thread Summary

The user is struggling with creating a suitable set of data for the AD9910 RAM, specifically how to format frequency values. The final answer suggests providing more details on the intended use to better assist. Accompanying answers clarify that the data should be in a 32-bit binary format, with an example of calculating the Frequency Tuning Word (FTW) for a 20 MHz frequency sweep using a 500 MHz SYSCLK.
AI Generated Content

Hello,

having just started using AD9910 board, I got stucked with RAM usage. I know how to load/retrieve data from RAM - the problem is, I do not understand how to create a suitable set of data. Having read the datasheet, technical tutorial, user guide and searched on the Internet, I made only little progress.

From the data sheet (p. 33/60, Table 12) I know the required structure of each word and how many bits are assigned to each parameter for each type of entry. However, I have no idea what to put into those bits. The first thing that came to my mind - to load the required values of, for example, frequency - does not seem to be right, especially after having a look at several example files posted on this forum.

Therefore I would like to ask you, how can I create files for AD 9910 RAM - what are the general rules, if there is any software required etc.

I am especially interested in a way how to get data from Excel/Calc and txt files into a format suitable for the RAM.

Thank you very much in advance.

Parents
  • I'm not sure I understand what your question.  I think you have all of the information, but maybe just not piecing it together correctly.  I looked up an example RAM file DSB gave in another thread on this forum (https://ez.analog.com/message/11004#11004) and the file is a simple text file with values written in binary.  Each line contains 32-bit word which would be programmed into RAM.

    For example, the RAM file he gave is a frequency sweep from 20-30 MHz with a SYSCLK of 500MHz.  To calculate the FTW for 20MHz follow the equation given on page 23.  If I do this, I get...

              FTW = Round[ (20MHz / 500MHz) * 2^32] = 171798692

              which in binary equals 000001010001111010111000010100011

              Note: Using the Caclulator on your PC is an easy way to convert from

              decimal to binary to hex.  Keep in mind though it will not give leading zeros.

    This is the first line in the example RAM file.

Reply
  • I'm not sure I understand what your question.  I think you have all of the information, but maybe just not piecing it together correctly.  I looked up an example RAM file DSB gave in another thread on this forum (https://ez.analog.com/message/11004#11004) and the file is a simple text file with values written in binary.  Each line contains 32-bit word which would be programmed into RAM.

    For example, the RAM file he gave is a frequency sweep from 20-30 MHz with a SYSCLK of 500MHz.  To calculate the FTW for 20MHz follow the equation given on page 23.  If I do this, I get...

              FTW = Round[ (20MHz / 500MHz) * 2^32] = 171798692

              which in binary equals 000001010001111010111000010100011

              Note: Using the Caclulator on your PC is an easy way to convert from

              decimal to binary to hex.  Keep in mind though it will not give leading zeros.

    This is the first line in the example RAM file.

Children
No Data