We have built 100 systems using the LMX3594. Six of these units fail to lock at (and near) 12GHz. We are not using any of the assisteed modes. Is there something we should be doing or not doing to ensure lock at this frequency?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
We have built 100 systems using the LMX3594. Six of these units fail to lock at (and near) 12GHz. We are not using any of the assisteed modes. Is there something we should be doing or not doing to ensure lock at this frequency?
Are you saying that "No Assist" calibration mode doesn't reliably work at 12GHz? Shown below is the record of VCO selection, CAPCTRL, and DAISET when stepping from 11910MHz to 12050MHz. It appears the No assist cannot find the correct VCO at 12GHz.
Please clarify the correct methods for stepping through the 12GHz region.
Freq_MHz | LD_VTUNE | VCO | CAPCTRL | DACISET | N | Num | Denom | Tries | |
11910 | 2 | 4 | 6 | 273 | 59 | 2354000000 | 4280000000 | 1 | |
11920 | 2 | 4 | 5 | 272 | 59 | 2568000000 | 4280000000 | 1 | |
11930 | 2 | 4 | 4 | 272 | 59 | 2782000000 | 4280000000 | 1 | |
11940 | 2 | 4 | 3 | 271 | 59 | 2996000000 | 4280000000 | 1 | |
11950 | 2 | 4 | 2 | 270 | 59 | 3210000000 | 4280000000 | 1 | |
11960 | 2 | 4 | 1 | 270 | 59 | 3424000000 | 4280000000 | 1 | |
11970 | 0 | 7 | 0 | 258 | 59 | 3638000000 | 4280000000 | 20 | |
11980 | 3 | 1 | 183 | 326 | 59 | 3852000000 | 4280000000 | 20 | |
11990 | 3 | 1 | 183 | 327 | 59 | 4066000000 | 4280000000 | 20 | |
12000 | 0 | 7 | 0 | 260 | 60 | 0 | 20000000 | 20 | |
12010 | 2 | 5 | 182 | 224 | 60 | 214000000 | 4280000000 | 2 | |
12020 | 2 | 5 | 181 | 225 | 60 | 428000000 | 4280000000 | 2 | |
12030 | 2 | 5 | 182 | 225 | 60 | 642000000 | 4280000000 | 1 | |
12040 | 2 | 5 | 175 | 222 | 60 | 856000000 | 4280000000 | 1 | |
12050 | 2 | 5 | 174 | 221 | 60 | 1070000000 | 4280000000 | 1 |
The No assist mode appears to select the wrong VCO, Are you saying that No Assist method cannot be used near 12GHz? Shown below is a record of the No Assist VCO selection, CAPCTRL, and DACISET values when stepping through the 12 GHz region. What should we do differently if No assist doesn't work?
Freq_MHz | LD_VTUNE | VCO | CAPCTRL | DACISET | N | Num | Denom | Tries | |
11910 | 2 | 4 | 6 | 273 | 59 | 2354000000 | 4280000000 | 1 | |
11920 | 2 | 4 | 5 | 272 | 59 | 2568000000 | 4280000000 | 1 | |
11930 | 2 | 4 | 4 | 272 | 59 | 2782000000 | 4280000000 | 1 | |
11940 | 2 | 4 | 3 | 271 | 59 | 2996000000 | 4280000000 | 1 | |
11950 | 2 | 4 | 2 | 270 | 59 | 3210000000 | 4280000000 | 1 | |
11960 | 2 | 4 | 1 | 270 | 59 | 3424000000 | 4280000000 | 1 | |
11970 | 0 | 7 | 0 | 258 | 59 | 3638000000 | 4280000000 | 20 | |
11980 | 3 | 1 | 183 | 326 | 59 | 3852000000 | 4280000000 | 20 | |
11990 | 3 | 1 | 183 | 327 | 59 | 4066000000 | 4280000000 | 20 | |
12000 | 0 | 7 | 0 | 260 | 60 | 0 | 20000000 | 20 | |
12010 | 2 | 5 | 182 | 224 | 60 | 214000000 | 4280000000 | 2 | |
12020 | 2 | 5 | 181 | 225 | 60 | 428000000 | 4280000000 | 2 | |
12030 | 2 | 5 | 182 | 225 | 60 | 642000000 | 4280000000 | 1 | |
12040 | 2 | 5 | 175 | 222 | 60 | 856000000 | 4280000000 | 1 | |
12050 | 2 | 5 | 174 | 221 | 60 | 1070000000 | 4280000000 | 1 |
Hi Stuart,
Partial assist means that you set the starting points of VCO core (VCO_SEL), capcode (CAPCTRL) and amplitude (DACISET) for each single frequency. That was not what I suggested.
Even under no assist mode, you need to set the core, the capcode and the amplitude, The difference is that you do not need to do this for each frequency point you plan to use. In other words, there is no absolute 'no assist', you'll need to set the starting point anyways. That being said, I suggested that you should set the VCO_SEL to <= VCO4 in no assist mode, if you are using frequency points around 12GHz.
This is because normally there is an overlap between VCO cores. For example, within the overlapping area between VCO3 and 4, you can use either VCO3 or 4 to get it to lock. However, there is a gap between VCO4 and 5, and only the varactor of VCO5 with capcode = 183 can cover it. In other words, for the frequency points around 12GHz, you can only get lock in VCO5 and you won't get lock in VCO4.
Based on above discussion as well as the way that VCO calibration works, for frequency points near 12GHz, the VCO_SEL needs to be set to <=4.
Regards,
Hao
Hi Stuart,
The way that VCO calibration works is that, once it jumps to the next VCO core, it doesn't go back. In the case of 12GHz output frequency, if the VCO_SEL is set to >= VCO5, then once it finds out that the last capcode (rb_VCO_CAPCTRL = 183, the lowest frequency for that VCO core) of VCO5 doesn't meet the frequency requirement, it will jump to VCO4. This will happen sometimes because there is a gap between VCO4 and 5, such that the algorithm thinks that the capcode 183 of VCO5 is too high for the desired frequency Once it jumps to VCO4, it's stuck in there and cannot go back to VCO5. Since VCO4 doesn't cover that frequency gap, the device cannot be locked.
However, if the VCO_SEL is set to <= VCO4, then once it finds that the capcode 0 of VCO4 is still lower than the desired frequency, it will jump to VCO5. It still thinks that the capcode 183 of VCO5 is too high for the desired frequency, but the fact is that the varactor of VCO5 has a wide tuning range such that the frequency gap can be fully covered, and the device can get locked in VCO5.
This is why you need to set VCO_SEL to <=4 for frequency around 12GHz.
As for the discussion about no assist, the device will always start calibration according to the values set in VCO_SEL, VCO_CAPCTRL and VCO_DACISET. Even if you never program those registers, they still have some initial values. And the calibration will start from those values because it cannot start from nowhere. That's why I said there is no absolute 'no assist', because a starting point is always there, just that you may not care about it in no assist mode. Whether or not you program those registers, as long as those values are not changed when output frequency is changed, it can be called 'no assist', because you only program it once and stick with it. In the case where you need 12GHz for your output, you will need to set VCO_SEL to <= 4. You only need to program this register when you initialize the device and don't need to change it afterwards if you are using no assist mode.
Regards,
Hao