Post Go back to editing

AD9102 - Trouble with DDS mode and reading from SRAM??

I have the AD9102 EVboard and I can get all modes to work: constant value, Sawtooth, DDS, and reading from SRAM.  However, on my proto-layout board, I program the Ad9102 SPI directly and I can only get the constant value and Sawtooth mode to work.  The DDS and read from SRAM do not give any output.  I am taking the regval and default sequence from the EVboard software and and programming into AD9102 SPI directly.  So inputting example4 settings gives me the pulsed triangle wave for the sawtooth mode which is working, but the sine wave of example6 is not working.  The registers and SRAM are able to read and write properly. Is this a common problem or am I missing something obvious?  Any help would be appreciated, thanks.

Parents
  • Hi Biao,

    I didn't get to create the example1 patterns, but I did have example2 patterns already.  I believe ex2 does use only the SRAM addresses out to DAC.  I do see that the WAV_CONFIG reg reads back as 0x0001 instead of 0x3030.  If i try to program WAV_CONFIG alone, it will read back correctly, but i don't understand why it would get pushed out when i program a string of the registers together. Note that example4 fires up no problem on my protoboard, just not the SRAM modes.

    So I put a 3.3V regulator for each of the power supply pins, using ferrite bead inductor to 2 caps, and I also put 100pF and 0.1uF up close to the AD9102 pin.  All grounds are to ground plane. 

    -What would be the result of noise feeding to the supplies? could that cause registers to lose value?

    -I read that writing the RAMUPDATE bit pushes the buffered register settings to the active register settings.  How many times can you do a RAMUPDATE before active register goes to 0x0 or default value? 

    -Does RAMUPDATE clear any registers that were not written into the buffer registers?

    -Do you know of any specific sequence order of registers that need to be programmed?  I note the reg sequence for the DAC1 tab programming from EVboard below.

    Thanks again for the help.

    Dan

    DAC1 tab write:

    0x45

    0x5D

    0x5E

    0x5C

    0x27

    0x1F

    0x2B

    0x35

    0x25

    0x3E

    0x3F

    0x43

    0x31

    0x37

    0x47

    0x5F

    0x1D

Reply
  • Hi Biao,

    I didn't get to create the example1 patterns, but I did have example2 patterns already.  I believe ex2 does use only the SRAM addresses out to DAC.  I do see that the WAV_CONFIG reg reads back as 0x0001 instead of 0x3030.  If i try to program WAV_CONFIG alone, it will read back correctly, but i don't understand why it would get pushed out when i program a string of the registers together. Note that example4 fires up no problem on my protoboard, just not the SRAM modes.

    So I put a 3.3V regulator for each of the power supply pins, using ferrite bead inductor to 2 caps, and I also put 100pF and 0.1uF up close to the AD9102 pin.  All grounds are to ground plane. 

    -What would be the result of noise feeding to the supplies? could that cause registers to lose value?

    -I read that writing the RAMUPDATE bit pushes the buffered register settings to the active register settings.  How many times can you do a RAMUPDATE before active register goes to 0x0 or default value? 

    -Does RAMUPDATE clear any registers that were not written into the buffer registers?

    -Do you know of any specific sequence order of registers that need to be programmed?  I note the reg sequence for the DAC1 tab programming from EVboard below.

    Thanks again for the help.

    Dan

    DAC1 tab write:

    0x45

    0x5D

    0x5E

    0x5C

    0x27

    0x1F

    0x2B

    0x35

    0x25

    0x3E

    0x3F

    0x43

    0x31

    0x37

    0x47

    0x5F

    0x1D

Children
No Data