Post Go back to editing

The output cannot be synchronized with the input phase

Thread Summary

The user designed a circuit based on the AD9544 manual and implemented SPI communication, but the input is not synchronized with the REFBB reference input. The final answer suggests setting DPLL0 to internal zero delay mode to align OUT0A (1MHz) and OUT0C (10MHz) with REFBB (100kHz).
AI Generated Content
Category: Hardware
Product Number: AD9544

Hi ,I did not use the AD9544 evaluation board. The circuit was designed by myself based on the AD9544 manual. I used ACE to export register parameters and wrote them to the AD9544 through the MCU. SPI communication has been implemented, REFBB reference input is valid, the system clock is locked, and APLL0 calibration is complete and locked. However, the input is not synchronized with the reference input REFBB. Please advise, thank you! AD9544_REGISTER.txt is the data written to the AD9544 registers; AD9544_REGISTER_READ.txt is the non-zero data read from 0x3000 - 0x320E of the AD9544

Address,Data
0x0000,0x24
0x0200,0x18
0x0201,0x09
0x0203,0x74
0x0204,0x3B
0x0205,0xA4
0x0206,0x0B
0x0207,0x32
0x0280,0x04
0x0282,0x04
0x0284,0x02
0x0285,0xF4
0x0286,0x01
0x0300,0x20
0x0304,0x90
0x0400,0x31
0x0405,0xE8
0x0406,0x76
0x0407,0x48
0x0408,0x17
0x0420,0x7C
0x0425,0x90
0x0426,0x2F
0x0427,0x50
0x0428,0x09
0x0440,0xF3
0x0441,0x01
0x0445,0xE4
0x0446,0x0B
0x0447,0x54
0x0448,0x02
0x0465,0xA0
0x0466,0x72
0x0467,0x4E
0x0468,0x18
0x0469,0x09
0x1000,0xCD
0x1001,0xCC
0x1002,0xCC
0x1003,0xCC
0x1004,0xCC
0x1005,0x20
0x1081,0x08
0x10D7,0x04
0x10D9,0x05
0x10DB,0x05
0x1100,0xCE
0x1101,0x04
0x1112,0x08
0x1124,0x7B
0x1200,0x01
0x1201,0x03
0x1204,0x80
0x1205,0xF0
0x1206,0xFA
0x1207,0x02
0x1208,0x09
0x1209,0x00
0x120C,0x02
0x120D,0x0C
0x1224,0x80
0x1225,0xF0
0x1226,0xFA
0x1227,0x02
0x122C,0x00
0x122D,0x06
0x1230,0x01
0x1233,0x02
0x1244,0x80
0x1245,0xF0
0x1246,0xFA
0x1247,0x02
0x1264,0x80
0x1265,0xF0
0x1266,0xFA
0x1267,0x02
0x1284,0x80
0x1285,0xF0
0x1286,0xFA
0x1287,0x02
0x12A4,0x80
0x12A5,0xF0
0x12A6,0xFA
0x12A7,0x02
0x1400,0x71
0x1401,0x4A
0x1402,0xF3
0x1403,0xE2
0x1404,0x4F
0x1405,0x24
0x1481,0x0A
0x14DB,0x01
0x1500,0x0A
0x1508,0x27
0x1512,0x0A
0x151A,0x27
0x1604,0x80
0x1605,0xF0
0x1606,0xFA
0x1607,0x02
0x1624,0x80
0x1625,0xF0
0x1626,0xFA
0x1627,0x02
0x1644,0x80
0x1645,0xF0
0x1646,0xFA
0x1647,0x02
0x1664,0x80
0x1665,0xF0
0x1666,0xFA
0x1667,0x02
0x1684,0x80
0x1685,0xF0
0x1686,0xFA
0x1687,0x02
0x16A4,0x80
0x16A5,0xF0
0x16A6,0xFA
0x16A7,0x02
0x2001,0x02
0x2103,0x10
0x2202,0x10
0x2203,0x10
Address,Data
0x3001,0x03
0x3002,0x03
0x3003,0x2E
0x3004,0x1F
0x3005,0x0B
0x3006,0x0B
0x3007,0x10
0x3008,0x10
0x3009,0x01
0x3100,0x28
0x3101,0x08
0x3102,0x02
0x310A,0x08
0x310C,0x08
0x3200,0x28
0x3201,0x01


  • Hi,

    in the future, please send me the cso file you used to obtain the list of the AD9544 registers. 

    Based on the ACE photo you sent, you seem to provide REFBB=100kHz and obtain at DPLL0 output OUT0A=1MHz and OUT0C=10MHz. You can set the DPLL0 to work in internal zero delay mode and this will make the OUT0A and OUT0C to be in phase to the REFBB=100kHz.

    Petre

  • Thank you for your reply!
    I have successfully achieved that when REFBB inputs 100KHz, OUT0A and OUT0C output waveforms in phase with it.
    The next step is to achieve the same phase waveform of 80MHz and 100MHz output from OUT0A and OUT0C when REFBB inputs 1Hz. But I didn't succeed, please advise me again.
    The ACE I am using is AD9545; On the PCB is AD9544
    REFB input 100MHz 100ppb TCXO
    The system crystal oscillator is 50MHz 100PPm
    0x3008 is 0x10, 0x3007 is 0x10, and 0x3100 is 0x2C
    Frequency locked, no phase locked
    Also, I couldn't find a place to set 0x0800-0x0804 in ACE. May I ask where to set the Phase lock threshold.

    Thanks again for the assistance.

    .AD9545-1Hz.zip

  • HI,

    I looked at the cso file you sent and it seems to me the AD9545 is correctly configured. You just need to provide REFBB=1Hz in 1.8V CMOS DC coupled (and make the schematic accordingly) from a GPS module or a rubidium or cesium based generator. What is your 1PPS source? Even if it is considered valid by the REFBB reference monitor, if REFBB wonders within the 100 ppm tolerance, the DPLL will not be able to lock.

     8585.AD9545 Live and Buffered Registers_20220118.pdf

    I attach the list of live and buffered registers of the AD9545. The status registers you mention 0x3008, and 0x3007 are buffered. The 0x3100 register is live. A live register may be read at any time and it tells you the status in that moment. The buffered registers require executing first an IO Update operation (write 0x01 into register 0x0F) to latch the value of the status bits into the register. Then you read the register or registers. Did you execute an IO Update before reading 0x3007 and 0x3008?

    The registers 0x800 to 0x809 are:

    You click the blueish triangle near the REFBB (because this is the reference used in the DPLL0 Profile 0) and you get this:

    You then change the desired parameters and then click Apply Changes. In my view, you only may want to change phase lock threshold, which at 700 ps may be too low. But I would not change the frequency lock threshold (you already got it locked) and the fill and drain rates. The fill and drain rates function at the carrier frequency used in the feedback clock, i.e. 10MHz in your case, which makes the lock to happen instantaneously when the bath tub (see DPLL lock detectors section the AD9545 rev C data sheet, page 99) starts to fill above the unlock level.

    Petre

  • HI,Thank you for your reply!
    The 1HZ signal is generated by Waveform Generators; Jitter 400ps; what is the jitter requirement?
    The timing for reading registers is as follows, which I think is correct:
    while(1)
    {

    AD9544_WriteReg(0xF, 0x01);
    Delay(1);
    AD9544_WriteReg(0xF, 0x00);

    status1 = AD9544_ReadReg(0x3009);
    status2 = AD9544_ReadReg(0x1200);
    status3 = AD9544_ReadReg(0x1201);
    status4 = AD9544_ReadReg(0x3100);
    status5 = AD9544_ReadReg(0x3008);
    status6 = AD9544_ReadReg(0x3007);
    }
    In addition, I also want to achieve an effect:
    After phase locking, the output follows the input changes. For example, when REFBB is adjusted from 1Hz to 2Hz, OUT0A automatically adjusts from 80MHz to 160MHz. Can this be achieved.
    Thanks again for the assistance.
  • HI,

    sorry for getting back to you so late.

    I'm sorry to say, but the AD9544 was architected to maintain the output frequency no matter what. So if you want to be able to change the reference clock from 1 Hz to 2Hz and you also want the output o change from 80 MHz to 160 MHz, just create two configurations. You use the TDCs to measure the period of the reference clock and when the reference changes, just reinitialize the AD9545 with the related configuration. The output clocks will stop while this happens, but I do not believe it is a problem if you want to change the output frequency.

    Petre

Before You Switch


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