Hi
I have two costom boards with n78 and n79 PA.
Is there any suggestion to fix spur? thanks
The n78 have two fixed spurs even I change frequency, atten, bandwidth, ref_clock(for LO).
spur:3440.6MHz=122.88*28,3686.4MHz=122.88*30
The n79.
spur:4915.3MHz=122.88*40
JESD setting
ad9528 setting, The device clock and sysref clock are 122.88MHz.
/* Ref = 30.72MHz on REFA (SATA) Lock Mask = 0xe7 */ static const uint16_t ad9528_RefA_30M72_regs[][2] = { { 0x00, 0x3c}, { 0x01, 0x80}, { 0x100, 0x01}, /* RefA div = 1 */ { 0x101, 0x00}, { 0x102, 0x01}, { 0x103, 0x00}, { 0x104, 0x04}, /* N1 div = 4 122.88MHz / 4 = 30.72MHz */ { 0x105, 0x00}, { 0x106, 0x0a}, /* PLL1 Charge Pump current: 10uA */ { 0x107, 0x03}, /* Auto holdover */ { 0x108, 0x08}, /* REFA on, single ended */ { 0x109, 0x04}, /* 4: PPL1 from VCXO, 0: PLL1 from PPL2 output */ { 0x10a, 0x02}, /* Ref = REFA, tristate holdover */ { 0x10b, 0x00}, { 0x200, 0xe6}, { 0x201, 0x87}, /* CAL div = 30 */ { 0x202, 0x03}, { 0x203, 0x00}, { 0x204, 0x03}, /* M1 = 3 */ { 0x205, 0x2a}, /* PLL2 loop filter: 900R/2500R/16pF */ { 0x206, 0x00}, { 0x207, 0x00}, { 0x208, 0x09}, /* N2 Div = 10 */ { 0x209, 0x00}, { 0x300, ADSYSREF_OUT}, /* OUT0: FPGA0_SYSREF */ { 0x301, 0x00}, { 0x302, 0x09}, { 0x303, ADDEVCLK_OUT}, /* OUT1: FPGA0_DEV_CLK */ { 0x304, 0x00}, { 0x305, 0x09}, { 0x306, ADDEVCLK_OUT}, /* OUT2: AD_A_DEV_CLK */ { 0x307, 0x00}, /* 0x40 LVDS Boost */ { 0x308, 0x09}, { 0x309, ADDEVCLK_OUT}, /* OUT3: AD_B_DEV_CLK */ { 0x30a, 0x00}, /* 0x40 LVDS Boost */ { 0x30b, 0x09}, { 0x30c, ADSYSREF_OUT}, /* OUT4: AD_A_SYSREF */ { 0x30d, 0x00 + ADSYSREF_COFF_A}, { 0x30e, 0x09}, { 0x30f, ADDEVCLK_OUT}, /* OUT5: FPGA1_DEV_CLK */ { 0x310, 0x00}, { 0x311, 0x09}, { 0x312, ADSYSREF_OUT}, /* OUT6: FPGA1_SYSREF */ { 0x313, 0x00}, { 0x314, 0x09}, { 0x315, ADSYSREF_OUT}, /* OUT7: AD_B_SYSREF */ { 0x316, 0x00 + ADSYSREF_COFF_B}, { 0x317, 0x09}, { 0x318, ADDEVCLK_OUT}, /* OUT8: CLKOUT0 */ { 0x319, 0x00}, { 0x31a, 0x09}, // 0x01 to output 614.4 MHz */ { 0x31b, ADDEVCLK_OUT}, /* OUT9: REFOUT, N/A */ { 0x31c, 0x00}, { 0x31d, 0x09}, { 0x31e, ADDEVCLK_OUT}, /* OUT10: CLKOUT1 */ { 0x31f, 0x00}, { 0x320, 0x09}, { 0x321, ADDEVCLK_OUT}, /* OUT11: CLKOUT2 */ { 0x322, 0x00}, { 0x323, 0x09}, { 0x324, ADDEVCLK_OUT}, /* OUT12: N/A */ { 0x325, 0x00}, { 0x326, 0x09}, { 0x327, ADDEVCLK_OUT}, /* OUT13: N/A */ { 0x328, 0x00}, { 0x329, 0x09}, { 0x32a, 0x00}, { 0x32b, 0x00}, { 0x32c, 0x00}, { 0x32d, 0x00}, /* SYSREF resampling Bypass 0xA2 */ { 0x32e, 0x00}, /* SYSREF resampling Bypass 0x01 */ { 0x400, 0x00}, { 0x401, 0x08}, /* SYSREF Div 0x800 => 122.88/(2*2048) => 30KHz (2 => 122.88/1024 => 120KHz) */ { 0x402, 0x00}, { 0x403, 0x80}, { 0x404, 0x04}, { 0x500, 0x10}, { 0x501, 0x00}, /* Default: All power UP (else SYSREF does not work)*/ { 0x502, 0x32}, /* Power down out 9, 12 and 13 */ { 0x503, 0xff}, { 0x504, 0xcd}, /* Power down out 9, 12 and 13 */ { 0x505, 0x07}, { 0x506, 0x01}, { 0x507, 0x0c}, { 0x0F, 0x01}, /* Update */ }; ad9528_profile ad9528_RefA_30M72_1_profile = { "RefA 30.72MHz", 30720000, ad9528_RefA_30M72_regs, ARRAY_SIZE(ad9528_RefA_30M72_regs), AD9528_REFB_SATA, AD9528_LOCK_REFA };
Add ad9528 VDD level.
[edited by: Paul_Lin at 2:55 AM (GMT -5) on 21 Feb 2024]