Post Go back to editing

AD9102 High speed signal generation issues

Hi 

I'm having difficulties setting up the AD9102 to output high speed signals (around 300ns). Output is shown with pictures from oscilloscope in the bottom. The pulse that I'm generating is ramp with values written in SRAM registers. Main problem is that for every 160ns of the displayed ramp, pulse becomes stagnant for 100ns, and then continues.  Also the part of the ramp that is stagnant isn't at constant location, but it moves throughout the ramp, as seen in picture three.

Clock I'm using is set to 150MHz and I'm using AD9102 on a custom board. 

I have succesfully managed to get output from prestored waveforms and signals prestored in SRAM, but only at lower frequencies (10+ us).

I have checked the clock output , but it works fine, I only set trigger to 0 after setting up the registers, to avoid possible interferances with unstable trigger. Supply lines also work fine. I'm using external reference, but have also tried with internal and have gotten the same results. I also tried to read SRAM register and thy all look as they were supposed to.

I tried to measure stagnant part of the signal and it lasts for 16 clock cycles. The ramp is then generated for 24 clock cycles, and again stagnant for 16 clock cycles. Two stagnant parts are seen on picture 4 with longer ramp.

code:

RESET pin is high
TRIGGER pin is high

//SPICONFIG
SPI_write_DAC(0x00, 0x0000);
//POWERCONFIG
SPI_write_DAC(0x01, 0x0000);
//CLOCKCONGIF
SPI_write_DAC(0x02, 0x0008);

//DACRANGE
SPI_write_DAC(0x08, 0x0001);
//DAC_DGAIN
SPI_write_DAC(0x35, 0x4000); 
//DACRSET
SPI_write_DAC(0x0C, 0x0000); 

//RAMUPDATE
SPI_write_DAC(0x1D, 0x0001);

//PAT_TYPE
SPI_write_DAC(0x1F, 0x0000);
//DAC_PAT
SPI_write_DAC(0x2B, 0x0001); 
//DACDOF
SPI_write_DAC(0x25, 0x8000); 
//WAV-CONFIG
SPI_write_DAC(0x27, 0x0000);

//PAT_TIMEBASE
SPI_write_DAC(0x28, 0x0100);
//PAT_PERIOD
SPI_write_DAC(0x29, 0x8000);

//DAC_CST
SPI_write_DAC(0x31, 0x8000);

//DDS_CONFIG
SPI_write_DAC(0x45, 0x0003);

//PAT_STATUS
SPI_write_DAC(0x1E, 0x0001);
//RAMUPDATE
SPI_write_DAC(0x1D, 0x0001);
//PAT_STATUS
SPI_write_DAC(0x1E, 0x0001);

//START_ADDR
SPI_write_DAC(0x5D, 0x0000); 
//STOP_ADDR
SPI_write_DAC(0x5E, 0x0280); 
//RAM_UPDATE
SPI_write_DAC(0x1D, 0x0001); 
//PAT_STATUS
SPI_write_DAC(0x1E, 0x0004); 
//RAM_UPDATE
SPI_write_DAC(0x1D, 0x0001);

for(j = 0 ; j <= 39 ; j ++){ 
   a = j + 24576; 
   b = j * 1000;
      SPI_write_DAC(a, b);
   }

//SRAM
SPI_write_DAC(0x6028, 0x0000); 
//PAT_STATUS
SPI_write_DAC(0x1E, 0x0001); 
//RAMUPDATE
SPI_write_DAC(0x1D, 0x0001); 
//PAT_STATUS
SPI_write_DAC(0x1E, 0x0001); 

TRIGGER pin is low

So I would like to know what is the cause for this behaviour and how to fix it.

Thanks!
Uros

attachments.zip
Parents
  • I would like to output simple ramp, which is shorter than 400 ns. There are 4 pictures attached to my first post, which show my output. It is a ramp, as I'd like it to be, but it behaves strange. DAC seems to display values from SRAM for around 160 ns, and then stops for 100 ns (as seen in pictures).
    If I try to output ramp with length more than a few us, it seem fine, since this "noise" (the part where DAC display constant value) is short enough, that it doesen't disturb the ramp. I will add picture of a longer ramp as requested tomorrow, when I get in lab.

    What is the length of a signal that you attached? Also are you able to output 300ns ramp with AD9102?
    How can I open regval files?

    Thanks, Uros

Reply
  • I would like to output simple ramp, which is shorter than 400 ns. There are 4 pictures attached to my first post, which show my output. It is a ramp, as I'd like it to be, but it behaves strange. DAC seems to display values from SRAM for around 160 ns, and then stops for 100 ns (as seen in pictures).
    If I try to output ramp with length more than a few us, it seem fine, since this "noise" (the part where DAC display constant value) is short enough, that it doesen't disturb the ramp. I will add picture of a longer ramp as requested tomorrow, when I get in lab.

    What is the length of a signal that you attached? Also are you able to output 300ns ramp with AD9102?
    How can I open regval files?

    Thanks, Uros

Children
No Data