AnsweredAssumed Answered

Long lock time ADF5355

Question asked by Valimor on Aug 21, 2017
Latest reply on Dec 7, 2017 by Valimor

Hi, I use ADF5355 to get the frequencies 7325 MHz, 7350 MHz and 7375 MHz, between which I need to switch. But in the process of measuring the parameters of the circuit, I found out that the lock time for each frequency of the synthesizer is 6.1 milliseconds. Although the calculation should be 3.5 milliseconds. And, moreover, in figure 31 of datasheet with a smaller bandwidth, the switching time is about 3.4 milliseconds. This time is normal?
My parameters: the frequency of the comparison is 2.5 MHz, the bandwidth of the filter is 31.1 kHz. 

My code:

switch (req.SwitchFrequencyTX.FrequencyNewCode) {

 

case REG_7325MHz:

//REG 12

Write_ADF5355(0x1041C, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 11

Write_ADF5355(0x61300B, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 10

Write_ADF5355(0xC001BA, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 9

Write_ADF5355(0x2017CC9, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 8

Write_ADF5355(0x102D0428, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 7

Write_ADF5355(0x10000077, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 6 //Write_ADF5355(0x35004036, Choise_Syntesis);

DisableOutPower();

//REG 5

Write_ADF5355(0x800025, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 4

Write_ADF5355(0x32014984, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 3

Write_ADF5355(0x3, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 2

Write_ADF5355(0x12, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 1

Write_ADF5355(0x1, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

// wait

Timeout(wait_16ADC_cycles);

//REG 0

Write_ADF5355(0x205B90, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

break;

case Frequency_7350MHz:

//REG 10

Write_ADF5355(0xC0033A, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 9

Write_ADF5355(0x3027CC9, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 6 //Write_ADF5355(0x35006036, Choise_Syntesis);

DisableOutPower();

//REG 4

Write_ADF5355(0x32009D94, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 2

Write_ADF5355(0x12, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 1

Write_ADF5355(0x1, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 0

Write_ADF5355(0x2DF0, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 4

Write_ADF5355(0x32009D84, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork); Timeout(wait_16ADC_cycles);

//REG 0

Write_ADF5355(0x202DF0, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

break;

case Frequency_7375MHz:

//REG 10

Write_ADF5355(0xC001BA, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 9

Write_ADF5355(0x2017CC9, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 6 // Write_ADF5355(0x35004036, Choise_Syntesis);

DisableOutPower();

//REG 4

Write_ADF5355(0x32011D94, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 2

Write_ADF5355(0x12, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 1

Write_ADF5355(0x1, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 0

Write_ADF5355(0x5C30, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//REG 4

Write_ADF5355(0x32011D84, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

//wait

Timeout(wait_16ADC_cycles);

//REG 0

Write_ADF5355(0x205C30, req.SwitchFrequencyTX.SwitchProcess.bits.SyntezNotWork);

break; }

Attachments

Outcomes