Post Go back to editing

AD9910 - Loading the RAM data files without Eval-board

Thread Summary

The user seeks to load RAM data files for a frequency sweep from 250 MHz to 350 MHz on an AD9910 device without an evaluation board. The solution involves using SPI to write start and end addresses to RAM Profile registers, selecting the profile via profile pins, and writing 32-bit frequency words to SPI address 0x16. Key clarifications include setting CFR3[15]=1 to bypass the REFCLK divide-by-2 block and verifying RAM data with RAM Enable set to 0 or 1.
AI Generated Content

 Although it would be a fundamental question, let me ask one question. I want to know how to load the RAM data files without evaluation board.

 Above all, I want to introduce my procedures for loading the RAM data files with the evaluation board and software which were provided by Analog Device. Using evauation board and software, I successfully loaded the RAM data files and I could easily generate some ramp signals which I wanted. To be specific, several detailed conditions are mentioned below.

 - Fsystemclk = 1GHz

 - Start frequency = 250 MHz

 - End frequency = 350 MHz

 - frequency step = 0.1 MHz

 => RAM data files : 250MHz, 250.1MHz, 250.2MHz ~ 352 MHz, 352.1 MHz, 352.2 MHz

                                (# of data = 1024, I attached RAM data files which consists of Hex)

 I loaded these RAM data files using RAM I/O Window in the evaluation software. And then, Using Profiles Window, I designated each RA segment by setting Beginning and Final Address, step rate, and mode control.

 

 What I really want to know about is how I can load the RAM data files without Evaluation software and board. I want to know the similar procedure as I loaded attched text files in the RAM I/O Window when I used Eval-software. I think I might have to use SPI control pin such as SDIO, SCLK, I/O_RESET pins. Could you please let me know the detailed process for loading RAM data files?

250_350MHz.txt.zip
Parents
  • Thank you for your reply. However, I still have several questions regarding procedures above.

    This is my actions with respect to each procedure. Could you please confirm my each action?

    1. Write the desired start and end addresses into the RAM Profile registers. Note each RAM Profile register defines a specific RAM segment (that is, RAM address range).

        -> start address (10 bit) : 00 0000 0000  (start frequency = 250MHz, 0)

        -> end address  (10 bit) : 11 1110 1000  (end frequency  = 350MHz, 1000)

        -> address step rate (16 bit) : 0000 0000 0000 1010 (ramp rate delta t = 40ns, 10)

                    

       2. Apply the appropriate logic levels to the Profile pins to select a particular RAM segment. This points the internal   

          RAM controller to the appropriate address range in the RAM.

         -> profile pins (3 bit) : 000 (Activate Profile=0 for using profile 0)

       3. Write to SPI address 0x16 the number of 32-bit words corresponding to the address range specified by the start and end addresses in the selected Profile. Note SPI address 0x16 serves as an external gateway to/from the RAM. The RAM controller takes each 32-bit word written to (or read from) SPI address 0x16 and transfers it to (or extracts it from) the appropriate address of the RAM. Note the controller "knows" how many 32-bit words to expect based on the start/end address values stored in the selected RAM Profile register. The SPI address 0x16 "gateway" is how you load or retrieve RAM data.

         -> It is hard for me to understand this procedure. I think I have to set the specified frequency range from 250 MHz to 350 MHz.

        

        ->  Could you please write the correct SPI address 0x16 [31:0] for the address range below?

        

            FTW of 250 MHz = 2147483648, 1000 0000 0000 0000 0000 0000 0000 0000

            FTW of 350 MHz = 3006477107, 1011 0011 0011 0011 0011 0011 0011 0011

       

        -> What is the number of 32-bit words ? I have two values 250MHz and 350 MHz, and total length of FTWs is 64 bit. However, the assinged RAM (0x16) is only 32 bit. How do I let the start and end address to contain the RAM (0x16).

Reply
  • Thank you for your reply. However, I still have several questions regarding procedures above.

    This is my actions with respect to each procedure. Could you please confirm my each action?

    1. Write the desired start and end addresses into the RAM Profile registers. Note each RAM Profile register defines a specific RAM segment (that is, RAM address range).

        -> start address (10 bit) : 00 0000 0000  (start frequency = 250MHz, 0)

        -> end address  (10 bit) : 11 1110 1000  (end frequency  = 350MHz, 1000)

        -> address step rate (16 bit) : 0000 0000 0000 1010 (ramp rate delta t = 40ns, 10)

                    

       2. Apply the appropriate logic levels to the Profile pins to select a particular RAM segment. This points the internal   

          RAM controller to the appropriate address range in the RAM.

         -> profile pins (3 bit) : 000 (Activate Profile=0 for using profile 0)

       3. Write to SPI address 0x16 the number of 32-bit words corresponding to the address range specified by the start and end addresses in the selected Profile. Note SPI address 0x16 serves as an external gateway to/from the RAM. The RAM controller takes each 32-bit word written to (or read from) SPI address 0x16 and transfers it to (or extracts it from) the appropriate address of the RAM. Note the controller "knows" how many 32-bit words to expect based on the start/end address values stored in the selected RAM Profile register. The SPI address 0x16 "gateway" is how you load or retrieve RAM data.

         -> It is hard for me to understand this procedure. I think I have to set the specified frequency range from 250 MHz to 350 MHz.

        

        ->  Could you please write the correct SPI address 0x16 [31:0] for the address range below?

        

            FTW of 250 MHz = 2147483648, 1000 0000 0000 0000 0000 0000 0000 0000

            FTW of 350 MHz = 3006477107, 1011 0011 0011 0011 0011 0011 0011 0011

       

        -> What is the number of 32-bit words ? I have two values 250MHz and 350 MHz, and total length of FTWs is 64 bit. However, the assinged RAM (0x16) is only 32 bit. How do I let the start and end address to contain the RAM (0x16).

Children
No Data