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.

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.