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
  • So I was just trying to get my protoboard to run example6 from EVboard which has sine wave at something like 2.3MHz.  I take the register settings from example6 sequence as shown below.  On the tester yesterday, I am able to get my protoboard to output a sine wave for a few cycles, but then shuts off.  The EVboard runs example6 sine wave continuously.  I try to match the timing of SPI commands exactly like EVboard, which is doing 822kHz clock, but ~150uS delays between address and data, and between each individual register.  I do make all the register programs while trigger pin is high, then bring trigger low about 150uS after CSB gone high. Is this possibly too short a delay?  Also, is there a specific way to program in order to get the continuous mode to stick in the registers?

    So for my application, being in DDS mode and reading the pattern directly from SRAM is what I really need, which is really similar to example2.  I am able to get EVboard to do exactly what I want, but my protoboard doesn't seem to load up example2 at all.  I am using the exact sequence from the example2 of EVboard as well.

    Whatever help you can give on the sine wave or the SRAM reading would be great.  Thanks!

    Dan

    example6 seq:

    0000h 00h
    0001h E00h
    0002h 00h
    0003h 00h
    0004h 4000h
    0005h 4000h
    0006h 4000h
    0007h 4000h
    0008h 00h
    0009h 1F00h
    000Ah 1F00h
    000Bh 1F00h
    000Ch 1F00h
    000Dh 00h
    000Eh 00h
    000Fh 00h
    0010h 00h
    0011h 00h
    0012h 00h
    0013h 00h
    0014h 00h
    0015h 00h
    0016h 00h
    0017h 00h
    0018h 00h
    0019h 00h
    001Ah 00h
    001Bh 00h
    001Ch 00h
    001Fh 00h
    0020h 0Eh
    0021h 00h
    0022h 00h
    0023h 00h
    0024h 00h
    0025h 00h
    0026h 1212h
    0027h 1232h
    0028h 111h
    0029h FFFFh
    002Ah 101h
    002Bh 101h
    002Ch 03h
    002Dh 00h
    002Eh 00h
    002Fh 00h
    0030h 00h
    0031h 00h
    0032h 4000h
    0033h 4000h
    0034h 4000h
    0035h 4000h
    0036h 01h
    0037h 7E00h
    0038h 00h
    0039h 00h
    003Ah 00h
    003Bh 00h
    003Ch 00h
    003Dh 00h
    003Eh 750h
    003Fh 7500h
    0040h 00h
    0041h 00h
    0042h 00h
    0043h 00h
    0044h 02h
    0045h 00h
    0046h 00h
    0047h 00h
    0048h 00h
    0049h 00h
    004Ah 00h
    004Bh 00h
    004Ch 00h
    004Dh 00h
    004Eh 00h
    004Fh 00h
    0050h 2710h
    0051h 00h
    0052h 00h
    0053h 01h
    0054h 00h
    0055h 00h
    0056h 00h
    0057h 01h
    0058h 1770h
    0059h 00h
    005Ah 00h
    005Bh 01h
    005Ch FA0h
    005Dh 00h
    005Eh 00h
    005Fh 7FFFh
    001Eh 01h
    001Dh 01h
Reply
  • So I was just trying to get my protoboard to run example6 from EVboard which has sine wave at something like 2.3MHz.  I take the register settings from example6 sequence as shown below.  On the tester yesterday, I am able to get my protoboard to output a sine wave for a few cycles, but then shuts off.  The EVboard runs example6 sine wave continuously.  I try to match the timing of SPI commands exactly like EVboard, which is doing 822kHz clock, but ~150uS delays between address and data, and between each individual register.  I do make all the register programs while trigger pin is high, then bring trigger low about 150uS after CSB gone high. Is this possibly too short a delay?  Also, is there a specific way to program in order to get the continuous mode to stick in the registers?

    So for my application, being in DDS mode and reading the pattern directly from SRAM is what I really need, which is really similar to example2.  I am able to get EVboard to do exactly what I want, but my protoboard doesn't seem to load up example2 at all.  I am using the exact sequence from the example2 of EVboard as well.

    Whatever help you can give on the sine wave or the SRAM reading would be great.  Thanks!

    Dan

    example6 seq:

    0000h 00h
    0001h E00h
    0002h 00h
    0003h 00h
    0004h 4000h
    0005h 4000h
    0006h 4000h
    0007h 4000h
    0008h 00h
    0009h 1F00h
    000Ah 1F00h
    000Bh 1F00h
    000Ch 1F00h
    000Dh 00h
    000Eh 00h
    000Fh 00h
    0010h 00h
    0011h 00h
    0012h 00h
    0013h 00h
    0014h 00h
    0015h 00h
    0016h 00h
    0017h 00h
    0018h 00h
    0019h 00h
    001Ah 00h
    001Bh 00h
    001Ch 00h
    001Fh 00h
    0020h 0Eh
    0021h 00h
    0022h 00h
    0023h 00h
    0024h 00h
    0025h 00h
    0026h 1212h
    0027h 1232h
    0028h 111h
    0029h FFFFh
    002Ah 101h
    002Bh 101h
    002Ch 03h
    002Dh 00h
    002Eh 00h
    002Fh 00h
    0030h 00h
    0031h 00h
    0032h 4000h
    0033h 4000h
    0034h 4000h
    0035h 4000h
    0036h 01h
    0037h 7E00h
    0038h 00h
    0039h 00h
    003Ah 00h
    003Bh 00h
    003Ch 00h
    003Dh 00h
    003Eh 750h
    003Fh 7500h
    0040h 00h
    0041h 00h
    0042h 00h
    0043h 00h
    0044h 02h
    0045h 00h
    0046h 00h
    0047h 00h
    0048h 00h
    0049h 00h
    004Ah 00h
    004Bh 00h
    004Ch 00h
    004Dh 00h
    004Eh 00h
    004Fh 00h
    0050h 2710h
    0051h 00h
    0052h 00h
    0053h 01h
    0054h 00h
    0055h 00h
    0056h 00h
    0057h 01h
    0058h 1770h
    0059h 00h
    005Ah 00h
    005Bh 01h
    005Ch FA0h
    005Dh 00h
    005Eh 00h
    005Fh 7FFFh
    001Eh 01h
    001Dh 01h
Children
No Data