AnsweredAssumed Answered

AD9957 temperature problem

Question asked by radar_guy on Feb 4, 2016
Latest reply on Oct 28, 2016 by KennyG

Hi,

 

we are using the AD9957 as digital modulator in a correlation based radar application. The AD9957 is clocked by a 380 MHz analog signal which is previously filtered by a 5th order passive lowpass, then made balanced, then limited by a schottky anti-parallel pair and of course properly balanced terminated and fed to the AD9957 which receives a clock signal of about 0.6Vpp. The output signal is 260 MHz (actually 120 MHz is set and the aliased version 380 MHz-120 MHz is used due to low power requirements) bypassing the reference multiplier. This configuration works pretty well in the range of 3°C - 60°C however below zero after programming sometimes the output signal seems to be on a different frequency AND it has considerable jitter like jumping around in frequency (like an unlocked PLL, which is not used in this design). This problem worsens with lower temperatures. However some PCBs do work to -10°C some even to -30°C and some have problems at +3°C. programming pins have very clean TTL signal with practicall no over or undershoot. Power supply is stable.

 

Setup is like:

with IQ_Write_Register(register_number, number_of_bytes_to_write, lower_32_bits, upper_32_bits)

 

    IQ_Write_Register(0x00, 4, 0x0100000A, 0x00000000);

    IQ_IOUpdate();

    IQ_Write_Register(0x01, 4, 0x014000A0, 0x00000000);

    IQ_IOUpdate();

    IQ_Write_Register(0x02, 4, 0x1F3FC000, 0x00000000);

    IQ_Write_Register(0x03, 4, 0x000000FF, 0x00000000);

    IQ_Write_Register(0x04, 4, 0x00000040, 0x00000000);

    IQ_IOUpdate();

    

    IQ_Write_Register(0x0E, 8, frequency, (amplitude << 16 ) + PHASE_0_DEGREE );

    IQ_Write_Register(0x0F, 8, frequency, (amplitude << 16 ) + PHASE_270_DEGREE );

    IQ_Write_Register(0x10, 8, frequency, (amplitude << 16 ) + PHASE_180_DEGREE );

    IQ_Write_Register(0x11, 8, frequency, (amplitude << 16 ) + PHASE_90_DEGREE );

    IQ_Write_Register(0x15, 8, frequency, PHASE_0_DEGREE );

    IQ_IOUpdate();

 

Has anybody an idea? Would be nice.

Outcomes