Post Go back to editing

PLL Locked Status

Category: Hardware
Product Number: AD9683

Hi,

I have a new design where I am using this ADC (250MSPS version). At the moment I am not able to get "pll locked status" bit in register 0x00A to read "1". I am using the nyquist clock input. Can you confirm that for the 250MSPS version, the clock divider is automatically 2? So I would need to have a 500MHz clock to achieve a 250MSPS sample rate? When I prove the clk+/clk- pins, the input clock seems to be large enough (1V pk to pk, single ended). Are there any other registers that need to be programmed for the pll to lock. I found the following in your kernel driver and I programmed the same thing in the same sequence but still cannot get it to lock. 

    ret = ad9467_spi_write(spi, 0x5f, (0x16 | 0x1));    // trail bits, ilas normal & pd
    ret |= ad9467_spi_write(spi, 0x5e, m << 4 | l); // m=2, l=2
    ret |= ad9467_spi_write(spi, 0x66, sel++);  // lane id
    ret |= ad9467_spi_write(spi, 0x67, sel++);  // lane id
    ret |= ad9467_spi_write(spi, 0x6e, 0x80 | (l - 1)); // scr, 2-lane
    ret |= ad9467_spi_write(spi, 0x70, 0x1f);   // no. of frames per multi frame
    ret |= ad9467_spi_write(spi, 0x3a, 0x01);   // sysref enabled
    ret |= ad9467_spi_write(spi, 0x3a, 0x13);   // sysref enabled
    ret |= ad9467_spi_write(spi, 0x5f, (0x16 | 0x0));   // enable
    ret |= ad9467_spi_write(spi, 0x14, 0x00);   // offset binary
    ret |= ad9467_spi_write(spi, 0x0d, 0x00);   // test patterns
    ret |= ad9467_spi_write(spi, 0xff, 0x01);
    ret |= ad9467_spi_write(spi, 0xff, 0x00);
  • Hi  

    Thanks for using AD9683.

    The input clock divider defaults to ÷1, as indicated in the datasheet memory map.

    Additionally, note that the AD9683 supports only one JESD204B output lane (L = 1) and one converter (M = 1) for its single analog input channel, so setting L and M to 2 is not valid.

    • I am using m=l=1. I have used 500mhz clock with divider of 2 and 250mhz clock with divider of 1. I still can’t lock. Any ideas?
  • Hi, have you tried operating in default configuration with CLK = 250 MHz and does your FPGA receive a REFCLK the same as the CLK frequency?

    Could you also provide your complete SPI configuration and schematic?

  • Here is a reg dump and schematic. The clock on clk+/- is 250MHz.

    Address = 0x00, Data = 0x18
    Address = 0x01, Data = 0xc3
    Address = 0x02, Data = 0x00
    Address = 0x03, Data = 0x00
    Address = 0x04, Data = 0x00
    Address = 0x05, Data = 0x01
    Address = 0x06, Data = 0x00
    Address = 0x07, Data = 0x00
    Address = 0x08, Data = 0x00
    Address = 0x09, Data = 0x00
    Address = 0x0a, Data = 0x00
    Address = 0x0b, Data = 0x00
    Address = 0x0c, Data = 0x01
    Address = 0x0d, Data = 0x00
    Address = 0x0e, Data = 0x00
    Address = 0x0f, Data = 0x00
    Address = 0x10, Data = 0x00
    Address = 0x11, Data = 0x00
    Address = 0x12, Data = 0x00
    Address = 0x13, Data = 0x00
    Address = 0x14, Data = 0x00
    Address = 0x15, Data = 0x03
    Address = 0x16, Data = 0x00
    Address = 0x17, Data = 0x00
    Address = 0x18, Data = 0x00
    Address = 0x19, Data = 0x00
    Address = 0x1a, Data = 0x00
    Address = 0x1b, Data = 0x00
    Address = 0x1c, Data = 0x00
    Address = 0x1d, Data = 0x00
    Address = 0x1e, Data = 0x00
    Address = 0x1f, Data = 0x00
    Address = 0x20, Data = 0x00
    Address = 0x21, Data = 0x00
    Address = 0x22, Data = 0x00
    Address = 0x23, Data = 0x00
    Address = 0x24, Data = 0x00
    Address = 0x25, Data = 0x00
    Address = 0x26, Data = 0x00
    Address = 0x27, Data = 0x00
    Address = 0x28, Data = 0x00
    Address = 0x29, Data = 0x00
    Address = 0x2a, Data = 0x01
    Address = 0x2b, Data = 0x00
    Address = 0x2c, Data = 0x00
    Address = 0x2d, Data = 0x00
    Address = 0x2e, Data = 0x00
    Address = 0x2f, Data = 0x00
    Address = 0x30, Data = 0x00
    Address = 0x31, Data = 0x00
    Address = 0x32, Data = 0x00
    Address = 0x33, Data = 0x00
    Address = 0x34, Data = 0x00
    Address = 0x35, Data = 0x00
    Address = 0x36, Data = 0x00
    Address = 0x37, Data = 0x00
    Address = 0x38, Data = 0x00
    Address = 0x39, Data = 0x00
    Address = 0x3a, Data = 0x13
    Address = 0x3b, Data = 0x55
    Address = 0x3c, Data = 0x00
    Address = 0x3d, Data = 0x00
    Address = 0x3e, Data = 0x1c
    Address = 0x3f, Data = 0x00
    Address = 0x40, Data = 0x00
    Address = 0x41, Data = 0x00
    Address = 0x42, Data = 0x00
    Address = 0x43, Data = 0x00
    Address = 0x44, Data = 0x00
    Address = 0x45, Data = 0x00
    Address = 0x46, Data = 0x00
    Address = 0x47, Data = 0x00
    Address = 0x48, Data = 0x00
    Address = 0x49, Data = 0x00
    Address = 0x4a, Data = 0x00
    Address = 0x4b, Data = 0x00
    Address = 0x4c, Data = 0x00
    Address = 0x4d, Data = 0x00
    Address = 0x4e, Data = 0x00
    Address = 0x4f, Data = 0x00
    Address = 0x50, Data = 0x00
    Address = 0x51, Data = 0x00
    Address = 0x52, Data = 0x00
    Address = 0x53, Data = 0x00
    Address = 0x54, Data = 0x00
    Address = 0x55, Data = 0x00
    Address = 0x56, Data = 0x00
    Address = 0x57, Data = 0x00
    Address = 0x58, Data = 0x00
    Address = 0x59, Data = 0x00
    Address = 0x5a, Data = 0x00
    Address = 0x5b, Data = 0x00
    Address = 0x5c, Data = 0x00
    Address = 0x5d, Data = 0x00
    Address = 0x5e, Data = 0x00
    Address = 0x5f, Data = 0x16
    Address = 0x60, Data = 0x00
    Address = 0x61, Data = 0x00
    Address = 0x62, Data = 0x00
    Address = 0x63, Data = 0x00
    Address = 0x64, Data = 0xc3
    Address = 0x65, Data = 0x00
    Address = 0x66, Data = 0x00
    Address = 0x67, Data = 0x01
    Address = 0x68, Data = 0x02
    Address = 0x69, Data = 0x03
    Address = 0x6a, Data = 0x00
    Address = 0x6b, Data = 0x00
    Address = 0x6c, Data = 0x00
    Address = 0x6d, Data = 0x00
    Address = 0x6e, Data = 0x80
    Address = 0x6f, Data = 0x01
    Address = 0x70, Data = 0x1f
    Address = 0x71, Data = 0x00
    Address = 0x72, Data = 0x0d
    Address = 0x73, Data = 0x2f
    Address = 0x74, Data = 0x20
    Address = 0x75, Data = 0x00
    Address = 0x76, Data = 0x00
    Address = 0x77, Data = 0x00
    Address = 0x78, Data = 0x02
    Address = 0x79, Data = 0x03
    Address = 0x7a, Data = 0x04
    Address = 0x7b, Data = 0x05
    Address = 0x7c, Data = 0x02
    Address = 0x7d, Data = 0x02
    Address = 0x7e, Data = 0x02
    Address = 0x7f, Data = 0x02
    Address = 0x80, Data = 0x00
    Address = 0x81, Data = 0x00
    Address = 0x82, Data = 0x00
    Address = 0x83, Data = 0x00
    Address = 0x84, Data = 0x00
    Address = 0x85, Data = 0x00
    Address = 0x86, Data = 0x00
    Address = 0x87, Data = 0x00
    Address = 0x88, Data = 0x00
    Address = 0x89, Data = 0x00
    Address = 0x8a, Data = 0x00
    Address = 0x8b, Data = 0x00
    Address = 0x8c, Data = 0x00
    Address = 0x8d, Data = 0x00
    Address = 0x8e, Data = 0x00
    Address = 0x8f, Data = 0x00
    Address = 0x90, Data = 0x40
    Address = 0x91, Data = 0x01
    Address = 0x92, Data = 0x6f
    Address = 0x93, Data = 0x10
    Address = 0x94, Data = 0x00
    Address = 0x95, Data = 0x00
    Address = 0x96, Data = 0x00
    Address = 0x97, Data = 0x00
    Address = 0x98, Data = 0x00
    Address = 0x99, Data = 0x00
    Address = 0x9a, Data = 0x00
    Address = 0x9b, Data = 0x00
    Address = 0x9c, Data = 0x00
    Address = 0x9d, Data = 0x00
    Address = 0x9e, Data = 0x00
    Address = 0x9f, Data = 0x00
    Address = 0xa0, Data = 0x00
    Address = 0xa1, Data = 0x00
    Address = 0xa2, Data = 0x00
    Address = 0xa3, Data = 0x00
    Address = 0xa4, Data = 0x00
    Address = 0xa5, Data = 0x00
    Address = 0xa6, Data = 0x00
    Address = 0xa7, Data = 0x00
    Address = 0xa8, Data = 0x04
    Address = 0xa9, Data = 0x00
    Address = 0xaa, Data = 0x00
    Address = 0xab, Data = 0x00
    Address = 0xac, Data = 0x00
    Address = 0xad, Data = 0x00
    Address = 0xae, Data = 0x00
    Address = 0xaf, Data = 0x00
    Address = 0xb0, Data = 0x00
    Address = 0xb1, Data = 0x00
    Address = 0xb2, Data = 0x00
    Address = 0xb3, Data = 0x00
    Address = 0xb4, Data = 0x00
    Address = 0xb5, Data = 0x00
    Address = 0xb6, Data = 0x00
    Address = 0xb7, Data = 0x00
    Address = 0xb8, Data = 0x00
    Address = 0xb9, Data = 0x00
    Address = 0xba, Data = 0x00
    Address = 0xbb, Data = 0x00
    Address = 0xbc, Data = 0x00
    Address = 0xbd, Data = 0x00
    Address = 0xbe, Data = 0x00
    Address = 0xbf, Data = 0x00
    Address = 0xc0, Data = 0x00
    Address = 0xc1, Data = 0x00
    Address = 0xc2, Data = 0x00
    Address = 0xc3, Data = 0x00
    Address = 0xc4, Data = 0x00
    Address = 0xc5, Data = 0x00
    Address = 0xc6, Data = 0x00
    Address = 0xc7, Data = 0x00
    Address = 0xc8, Data = 0x00
    Address = 0xc9, Data = 0x00
    Address = 0xca, Data = 0x00
    Address = 0xcb, Data = 0x00
    Address = 0xcc, Data = 0x00
    Address = 0xcd, Data = 0x00
    Address = 0xce, Data = 0x00
    Address = 0xcf, Data = 0x00
    Address = 0xd0, Data = 0x00
    Address = 0xd1, Data = 0x00
    Address = 0xd2, Data = 0x00
    Address = 0xd3, Data = 0x00
    Address = 0xd4, Data = 0x00
    Address = 0xd5, Data = 0x00
    Address = 0xd6, Data = 0x00
    Address = 0xd7, Data = 0x00
    Address = 0xd8, Data = 0x00
    Address = 0xd9, Data = 0x00
    Address = 0xda, Data = 0x00
    Address = 0xdb, Data = 0x00
    Address = 0xdc, Data = 0x00
    Address = 0xdd, Data = 0x00
    Address = 0xde, Data = 0x00
    Address = 0xdf, Data = 0x00
    Address = 0xe0, Data = 0x00
    Address = 0xe1, Data = 0x00
    Address = 0xe2, Data = 0x00
    Address = 0xe3, Data = 0x00
    Address = 0xe4, Data = 0x00
    Address = 0xe5, Data = 0x00
    Address = 0xe6, Data = 0x00
    Address = 0xe7, Data = 0x00
    Address = 0xe8, Data = 0x00
    Address = 0xe9, Data = 0x00
    Address = 0xea, Data = 0x00
    Address = 0xeb, Data = 0x00
    Address = 0xec, Data = 0x00
    Address = 0xed, Data = 0x00
    Address = 0xee, Data = 0x00
    Address = 0xef, Data = 0x00
    Address = 0xf0, Data = 0x00
    Address = 0xf1, Data = 0xff
    Address = 0xf2, Data = 0xff
    Address = 0xf3, Data = 0x00
    Address = 0xf4, Data = 0x01
    Address = 0xf5, Data = 0x00
    Address = 0xf6, Data = 0x00
    Address = 0xf7, Data = 0x00
    Address = 0xf8, Data = 0x00
    Address = 0xf9, Data = 0x00
    Address = 0xfa, Data = 0x00
    Address = 0xfb, Data = 0x00
    Address = 0xfc, Data = 0x00
    Address = 0xfd, Data = 0x00
    Address = 0xfe, Data = 0x00
    Address = 0xff, Data = 0x00
    

  • Hi  

    I noticed that you are configuring registers that are not documented. We recommend avoiding any settings outside the registers listed in the datasheet memory map.

    Additionally, I see that register 0x5F is set to 0x16; it should be 0x14. When powering down the JESD204B link, the correct value should be 0x15.