This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADC12QJ800-Q1: Register configuration problem

Part Number: ADC12QJ800-Q1

Hi team,

One of our customer's issues, I'm forwarding it below, could you please provide some troubleshooting suggestions?

Requirements:

The device input clock uses a differential clock: Input 144MHz,

Use CPLL to generate a sample rate of 720MSPS sample signal.

JESD using mode0, single lane rate 5.76Gbps, 8 lane, data scrambling, sysref signal 2.25MHz

Configuration Process:

First, using the following register configuration sequence and value configuration according to section 9.3 of the datasheet. Read CPLL, SPLL not locked, JESD not issuing sync code.

The first column in the figure is the register address, the third column is the register value written, after the 0x00 register is written 0xB0, the 0x270-register is read 0x01,The write continues, and nothing happens after the write completes

Then use the following register configuration table:

 {0x00U, 1U, 0xB0U, 0x00U},
{0x02U, 1U, 0x00U, 0x00U},
{0x10U, 1U, 0x00U, 0x00U},
{0x29U, 1U, 0xE0U, 0x00U},
{0x2AU, 1U, 0x00U, 0x00U},
{0x2BU, 1U, 0x03U, 0x00U},
//0X30 0XA000
{0x30U, 1U, 0xA0U, 0x00U},
{0x31U, 1U, 0xA0U, 0x00U},
{0x37U, 1U, 0x4BU, 0x00U},
{0x3BU, 1U, 0x00U, 0x00U},
{0x3CU, 1U, 0x01U, 0x00U},
{0x3DU, 1U, 0x04U, 0x00U},
{0x3EU, 1U, 0x05U, 0x00U},
{0x3FU, 1U, 0x4AU, 0x00U},
{0x48U, 1U, 0x03U, 0x00U},
{0x57U, 1U, 0x00U, 0x00U},
{0x58U, 1U, 0x00U, 0x00U},
{0x59U, 1U, 0x00U, 0x00U},
{0x5CU, 1U, 0x00U, 0x00U},
{0x5DU, 1U, 0x41U, 0x00U},
//0X5E //READ
{0x61U, 1U, 0x01U, 0x00U},
{0x62U, 1U, 0x01U, 0x00U},
{0x65U, 1U, 0x01U, 0x00U},
{0x68U, 1U, 0x61U, 0x00U},
{0x6BU, 1U, 0x00U, 0x00U},
{0x6CU, 1U, 0x01U, 0x00U},
{0x7AU, 1U, 0x00U, 0x00U},
{0x7CU, 1U, 0x00U, 0x00U},
{0x7EU, 1U, 0x00U, 0x00U},
{0x7FU, 1U, 0x00U, 0x00U},
{0x80U, 1U, 0x00U, 0x00U},
{0x81U, 1U, 0x00U, 0x00U},
{0x9AU, 1U, 0x08U, 0x00U},
{0x9BU, 1U, 0x07U, 0x00U},
{0x9DU, 1U, 0x00U, 0x00U},
{0x160U, 1U, 0x00U, 0x00U},
{0x200U, 1U, 0x01U, 0x00U},
{0x201U, 1U, 0x00U, 0x00U},
{0x202U, 1U, 0x1FU, 0x00U},
{0x203U, 1U, 0x01U, 0x00U},
{0x204U, 1U, 0x03U, 0x00U},
{0x205U, 1U, 0x00U, 0x00U},
{0x206U, 1U, 0x00U, 0x00U},
{0x207U, 1U, 0x00U, 0x00U},
// {0x208U, 1U, 0x00U, 0x00U},
{0x209U, 1U, 0x03U, 0x00U},
{0x20FU, 1U, 0x00U, 0x00U},
{0x210U, 1U, 0x03U, 0x00U},
{0x211U, 1U, 0xF2U, 0x00U},
{0x213U, 1U, 0x07U, 0x00U},
//0X270 //READ
{0x29AU, 1U, 0x0FU, 0x00U},
{0x29BU, 1U, 0x04U, 0x00U},
{0x29CU, 1U, 0x1BU, 0x00U},
{0x2C1U, 1U, 0x3FU, 0x00U},
{0x2C2U, 1U, 0x3FU, 0x00U},
{0x2C4U, 1U, 0xFFU, 0x00U},
{0x330U, 1U, 0x00U, 0x00U},
{0x332U, 1U, 0x00U, 0x00U},
{0x334U, 1U, 0x00U, 0x00U},
{0x336U, 1U, 0x00U, 0x00U},
{0x338U, 1U, 0x00U, 0x00U},
{0x33AU, 1U, 0x00U, 0x00U},
{0x33EU, 1U, 0x00U, 0x00U},
{0x360U, 1U, 0x00U, 0x00U},
{0x361U, 1U, 0x00U, 0x00U},
{0x362U, 1U, 0x00U, 0x00U},
{0x363U, 1U, 0x00U, 0x00U},
{0x364U, 1U, 0x00U, 0x00U},
{0x365U, 1U, 0x00U, 0x00U},
{0x366U, 1U, 0x00U, 0x00U},
{0x367U, 1U, 0x00U, 0x00U},  

The first column is the address, the third column is the register write value, CPLL SPLL is not locked, no response.

May I know if there is an accurate sequential configuration table of registers?

Best Regards,

Amy Luo

  • Sorry for pushed, any update on here?

  • Hi Amy,

    Here are the register writes for the customer to try. 

    Address Value // Comments

    0x000     0xB0 // reset the ADC

    delay (100 mSec) // wait for 100milli second)

    0x03F     0x4A

    0x058     0x81

    0x05C     0x01

    0x03D     0x04

    0x03E     0x05

    0x05D     0x41

    0x05C     0x00

    0x057     0x81  // ONLY USE IF TRIG OUT is getting used.

    0x02B  0x15 // EN_VA11_NOISE_SUPPR

    0x0200 0x00 // Clear JESD_EN (always before CAL_EN)

    0x0061 0x00 // Clear CAL_EN (always after JESD_EN) 

    0x0201 0x00 // Set JMODE0

    0x0202 0x03 // Set KM1=3 so K=4

    0x0204 0x01 // Use SYNCSE input, offset binary data, scrambler enabled

    0x0213 0x0F // Enable overrange, set overrange holdoff to max period 4*2^7 = 512 samples

    0x0061 0x01 // Set CAL_EN (always before JESD_EN)

    0x0200 0x01 // Set JESD_EN (always after CAL_EN)

    0x006C 0x00 // Set CAL_SOFT_TRIG low to reset calibration state machine

    0x006C 0x01 // Set CAL_SOFT_TRIG high to enable calibration

    Regards,

    Neeraj

  • Hi Neeraj,

    Thank you for your assistance.

    The customer didn't give me follow-up feedback. I think the customer's problem has been solved.