Post Go back to editing

HMC7044 can not synchronize for multiple devices

Category: Hardware
Product Number: HMC7044

Hi all

    HMC7044 is connected to a external DRO working at 4.8GHz for getting best phase noise. HMC7044 is configured to use the external clock from CLKIN1/FIN. PLL1 and PLL2 is not use.

    The interconnect structure:

    We want to get deterministic delay between two 300M clocks. 

    The initialization configuration is 

hmc7044Write(0x0000, 0x01);
hmc7044Write(0x0000, 0x00);
hmc7044Write(0x0001, 0x40);
hmc7044Write(0x0002, 0x00);
hmc7044Write(0x0003, 0x00);
hmc7044Write(0x0004, 0x7F);
hmc7044Write(0x0005, 0x60);
hmc7044Write(0x0006, 0x00);
hmc7044Write(0x0007, 0x00);
hmc7044Write(0x0009, 0x01);
hmc7044Write(0x000A, 0x07);
hmc7044Write(0x000B, 0x07);
hmc7044Write(0x000C, 0x07);
hmc7044Write(0x000D, 0x07);
hmc7044Write(0x000E, 0x07);
hmc7044Write(0x0014, 0xE4);
hmc7044Write(0x0015, 0x03);
hmc7044Write(0x0016, 0x04);
hmc7044Write(0x0017, 0x00);
hmc7044Write(0x0018, 0x04);
hmc7044Write(0x0019, 0x00);
hmc7044Write(0x001A, 0x06);
hmc7044Write(0x001B, 0x00);
hmc7044Write(0x001C, 0x04);
hmc7044Write(0x001D, 0x04);
hmc7044Write(0x001E, 0x04);
hmc7044Write(0x001F, 0x04);
hmc7044Write(0x0020, 0x04);
hmc7044Write(0x0021, 0x04);
hmc7044Write(0x0022, 0x00);
hmc7044Write(0x0026, 0x10);
hmc7044Write(0x0027, 0x00);
hmc7044Write(0x0028, 0x0F);
hmc7044Write(0x0029, 0x05);
hmc7044Write(0x002A, 0x00);
hmc7044Write(0x0031, 0x01);
hmc7044Write(0x0032, 0x01);
hmc7044Write(0x0033, 0x01);
hmc7044Write(0x0034, 0x00);
hmc7044Write(0x0035, 0x20);
hmc7044Write(0x0036, 0x00);
hmc7044Write(0x0037, 0x0F);
hmc7044Write(0x0038, 0x14);
hmc7044Write(0x0039, 0x00);
hmc7044Write(0x003A, 0x00);
hmc7044Write(0x003B, 0x00);
hmc7044Write(0x0046, 0x00);
hmc7044Write(0x0047, 0x00);
hmc7044Write(0x0048, 0x09);
hmc7044Write(0x0049, 0x11);
hmc7044Write(0x0050, 0x1F);
hmc7044Write(0x0051, 0x2B);
hmc7044Write(0x0052, 0x00);
hmc7044Write(0x0053, 0x00);
hmc7044Write(0x0054, 0x03);
hmc7044Write(0x005A, 0x00);
hmc7044Write(0x005B, 0x06);
hmc7044Write(0x005C, 0x00);
hmc7044Write(0x005D, 0x06);
hmc7044Write(0x0064, 0x02);
hmc7044Write(0x0065, 0x00);
hmc7044Write(0x0070, 0x00);
hmc7044Write(0x0071, 0x10);
hmc7044Write(0x0078, 0x51);
hmc7044Write(0x0079, 0x16);
hmc7044Write(0x007A, 0x30);
hmc7044Write(0x007B, 0x01);
hmc7044Write(0x007C, 0x1F);
hmc7044Write(0x007D, 0x13);
hmc7044Write(0x007E, 0x7F);
hmc7044Write(0x0082, 0x04);
hmc7044Write(0x0083, 0x4C);
hmc7044Write(0x0084, 0x4C);
hmc7044Write(0x0085, 0x0A);
hmc7044Write(0x0086, 0x00);
hmc7044Write(0x008C, 0x0E);
hmc7044Write(0x008D, 0x02);
hmc7044Write(0x008E, 0x00);
hmc7044Write(0x008F, 0x00);
hmc7044Write(0x0091, 0x02);
hmc7044Write(0x0096, 0x00);
hmc7044Write(0x0097, 0x00);
hmc7044Write(0x0098, 0x00);
hmc7044Write(0x0099, 0x00);
hmc7044Write(0x009A, 0x00);
hmc7044Write(0x009B, 0xAA);
hmc7044Write(0x009C, 0xAA);
hmc7044Write(0x009D, 0xAA);
hmc7044Write(0x009E, 0xAA);
hmc7044Write(0x009F, 0x4D);
hmc7044Write(0x00A0, 0xDF);
hmc7044Write(0x00A1, 0x97);
hmc7044Write(0x00A2, 0x03);
hmc7044Write(0x00A3, 0x00);
hmc7044Write(0x00A4, 0x00);
hmc7044Write(0x00A5, 0x06);
hmc7044Write(0x00A6, 0x1C);
hmc7044Write(0x00A7, 0x00);
hmc7044Write(0x00A8, 0x06);
hmc7044Write(0x00A9, 0x00);
hmc7044Write(0x00AB, 0x00);
hmc7044Write(0x00AC, 0x20);
hmc7044Write(0x00AD, 0x00);
hmc7044Write(0x00AE, 0x08);
hmc7044Write(0x00AF, 0x50);
hmc7044Write(0x00B0, 0x04);
hmc7044Write(0x00B1, 0x0D);
hmc7044Write(0x00B2, 0x00);
hmc7044Write(0x00B3, 0x00);
hmc7044Write(0x00B5, 0x00);
hmc7044Write(0x00B6, 0x00);
hmc7044Write(0x00B7, 0x00);
hmc7044Write(0x00B8, 0x00);
hmc7044Write(0x00C8, 0xF3);
hmc7044Write(0x00C9, 0x08);
hmc7044Write(0x00CA, 0x00);
hmc7044Write(0x00CB, 0x00);
hmc7044Write(0x00CC, 0x00);
hmc7044Write(0x00CD, 0x00);
hmc7044Write(0x00CE, 0x00);
hmc7044Write(0x00CF, 0x00);
hmc7044Write(0x00D0, 0x10);
hmc7044Write(0x00D2, 0xf1);
hmc7044Write(0x00D3, 0x00);
hmc7044Write(0x00D4, 0x04);
hmc7044Write(0x00D5, 0x00);
hmc7044Write(0x00D6, 0x00);
hmc7044Write(0x00D7, 0x00);
hmc7044Write(0x00D8, 0x00);
hmc7044Write(0x00D9, 0x00);
hmc7044Write(0x00DA, 0x10);
hmc7044Write(0x00DC, 0xf2);
hmc7044Write(0x00DD, 0x00);
hmc7044Write(0x00DE, 0x00);
hmc7044Write(0x00DF, 0x00);
hmc7044Write(0x00E0, 0x00);
hmc7044Write(0x00E1, 0x03);
hmc7044Write(0x00E2, 0x00);
hmc7044Write(0x00E3, 0x00);
hmc7044Write(0x00E4, 0x08);
hmc7044Write(0x00E6, 0xf1);
hmc7044Write(0x00E7, 0x00);
hmc7044Write(0x00E8, 0x04);
hmc7044Write(0x00E9, 0x00);
hmc7044Write(0x00EA, 0x00);
hmc7044Write(0x00EB, 0x00);
hmc7044Write(0x00EC, 0x00);
hmc7044Write(0x00ED, 0x00);
hmc7044Write(0x00EE, 0x11);
hmc7044Write(0x00F0, 0xf3);
hmc7044Write(0x00F1, 0x10);
hmc7044Write(0x00F2, 0x00);
hmc7044Write(0x00F3, 0x00);
hmc7044Write(0x00F4, 0x00);
hmc7044Write(0x00F5, 0x00);
hmc7044Write(0x00F6, 0x00);
hmc7044Write(0x00F7, 0x00);
hmc7044Write(0x00F8, 0x10);
hmc7044Write(0x00FA, 0x74);
hmc7044Write(0x00FB, 0x00);
hmc7044Write(0x00FC, 0x00);
hmc7044Write(0x00FD, 0x00);
hmc7044Write(0x00FE, 0x00);
hmc7044Write(0x00FF, 0x00);
hmc7044Write(0x0100, 0x00);
hmc7044Write(0x0101, 0x00);
hmc7044Write(0x0102, 0x03);
hmc7044Write(0x0104, 0x7a);
hmc7044Write(0x0105, 0x00);
hmc7044Write(0x0106, 0x00);
hmc7044Write(0x0107, 0x00);
hmc7044Write(0x0108, 0x00);
hmc7044Write(0x0109, 0x00);
hmc7044Write(0x010A, 0x00);
hmc7044Write(0x010B, 0x00);
hmc7044Write(0x010C, 0x10);
hmc7044Write(0x010E, 0x70);
hmc7044Write(0x010F, 0x00);
hmc7044Write(0x0110, 0x00);
hmc7044Write(0x0111, 0x00);
hmc7044Write(0x0112, 0x00);
hmc7044Write(0x0113, 0x00);
hmc7044Write(0x0114, 0x00);
hmc7044Write(0x0115, 0x00);
hmc7044Write(0x0116, 0x03);
hmc7044Write(0x0118, 0xf3);
hmc7044Write(0x0119, 0x08);
hmc7044Write(0x011A, 0x00);
hmc7044Write(0x011B, 0x00);
hmc7044Write(0x011C, 0x00);
hmc7044Write(0x011D, 0x00);
hmc7044Write(0x011E, 0x00);
hmc7044Write(0x011F, 0x00);
hmc7044Write(0x0120, 0x08);
hmc7044Write(0x0122, 0x75);
hmc7044Write(0x0123, 0x00);
hmc7044Write(0x0124, 0x04);
hmc7044Write(0x0125, 0x00);
hmc7044Write(0x0126, 0x00);
hmc7044Write(0x0127, 0x02);
hmc7044Write(0x0128, 0x00);
hmc7044Write(0x0129, 0x00);
hmc7044Write(0x012A, 0x13);
hmc7044Write(0x012C, 0x72);
hmc7044Write(0x012D, 0x00);
hmc7044Write(0x012E, 0x00);
hmc7044Write(0x012F, 0x00);
hmc7044Write(0x0130, 0x00);
hmc7044Write(0x0131, 0x00);
hmc7044Write(0x0132, 0x00);
hmc7044Write(0x0133, 0x00);
hmc7044Write(0x0134, 0x08);
hmc7044Write(0x0136, 0x70);
hmc7044Write(0x0137, 0x00);
hmc7044Write(0x0138, 0x00);
hmc7044Write(0x0139, 0x02);
hmc7044Write(0x013A, 0x00);
hmc7044Write(0x013B, 0x00);
hmc7044Write(0x013C, 0x00);
hmc7044Write(0x013D, 0x00);
hmc7044Write(0x013E, 0x01);
hmc7044Write(0x0140, 0x73);
hmc7044Write(0x0141, 0x20);
hmc7044Write(0x0142, 0x00);
hmc7044Write(0x0143, 0x00);
hmc7044Write(0x0144, 0x00);
hmc7044Write(0x0145, 0x00);
hmc7044Write(0x0146, 0x00);
hmc7044Write(0x0147, 0x00);
hmc7044Write(0x0148, 0x10);
hmc7044Write(0x014A, 0x70);
hmc7044Write(0x014B, 0x00);
hmc7044Write(0x014C, 0x00);
hmc7044Write(0x014D, 0x00);
hmc7044Write(0x014E, 0x00);
hmc7044Write(0x014F, 0x00);
hmc7044Write(0x0150, 0x00);
hmc7044Write(0x0151, 0x00);
hmc7044Write(0x0152, 0x0b);

    Initialization process will occur when power up two boards. 

    Then we write Reg0x01=0x42 and Reg0x01=0x40, Reg0x01=0xC0 and Reg0x01=0x40 for board2,  generate a pulse 1ms from board1 to SYNC in board2. The phase of 300M in the clockout1 is not change and not respond SYNC from 0 to 1.

    How can I solve this problem, maybe the register is not configrate to right value.

Top Replies

    •  Analog Employees 
    •  Super User 
    Nov 1, 2023 +1 verified

    Hi  

    If I am not mistaken, you are using HMC7044 in clock distributor mode. Which means PLL1 and PLL2 are disabled.  In this case, HMC7044 cannot be synchronized by the SYNC pin because PLL2 is disabled…

  • Hi  

    If I am not mistaken, you are using HMC7044 in clock distributor mode. Which means PLL1 and PLL2 are disabled.  In this case, HMC7044 cannot be synchronized by the SYNC pin because PLL2 is disabled and cannot retime the SYNC signal.  As you can see in the below diagram, the SYNC signal is retimed with PLL2, and a SYNC event is generated by the N divider of PLL2.

       
    You can use the RFSYNC pin or SPI Reseed request in order to synchronize outputs of the HMC7044. 

    Thanks,

    Emrecan