I have a system like this:
The CAL REF reference clock is temporary and just for calibration of OCXO, how can achieve this? I want to remove OCXO offset using an external accurate clock.
Let me adapt the method above:
You use the AD9542. You set the system clock source as the OCXO. You set the DPLL to output a clock with the same frequency as the OCXO, so you can use it in your system…
I am not sure I follow you. You use the OCXO as a reference to generate some clocks. Usually, the OCXO has a 0.5ppm frequency error. Do you want to correct this error? Or you just want to correct the phase of the outputs?
To correct the phase of the outputs, you provide the second reference to SYSREF_IN (max 250MHz according to the eval software) and use the SYSREF system as a buffer to copy the reference to the outputs. This means this second reference has a frequency that is a multiple of the clocks created from the OCXO. You measure the phase difference and calibrate it using the fine delay block in the clock distribution.
You cannot provide this reference clock to REFB because you need outputs created by REFA simultaneously with outputs created by REFB and this is not possible.
I want to fix the OCXO frequency error, even a 50 ppb OCXO class can have more than 1ppm first year aging. So I need to calibrate this offset. and I want to do that. Is there any solution using AD9528 or combined with other PLLs to achieve this?
I am still confused. The OCXO has an initial frequency error and then it ages with time and this introduces another error. Both errors require a much more stable source to correct them. Then just use that much more stable source.
If you want to compensate only the initial frequency error, then you need to use a digital PLL like the AD9542 (use the AD9545 rev B data sheet as reference because the chips are from the same family and the AD9542 data sheet is still at rev0). You create the system clock of the AD9542 using the OCXO. Then you set a DPLL to generate in freerun a frequency equal to the one of the OCXO. Then you use the system clock compensation method 1 to introduce a correction of the system clock based on the OCXO error you identify. The DPLL output is corrected and has the corrected OCXO frequency.
OK, let me rephrase it. sorry for the confusion. I'm making a radio device, I use and OCXO in it but occasionally I want to calibrate the frequency of this device like year to year back to factory calibration. I want to connect an external and fully calibrated frequency reference to the device (ref b) and measure the frequency offset and compensate the error in RF upconversion part of device.
You use the AD9542. You set the system clock source as the OCXO. You set the DPLL to output a clock with the same frequency as the OCXO, so you can use it in your system. You set the DPLL to use as reference the external and fully calibrated frequency reference.
Let's say we power up the AD9542. The DPLL outputs a clock in freerun with the accuracy determined by the OCXO accuracy.
When you want to calibrate the OCXO frequency:
- you apply the calibrated reference. The DPLL locks onto it and generates the clock with the accuracy determined by the reference
- you leave the DPLL to create a history of the tuning word (as long as you want, maybe 1sec, depending of the reference frequency)
-then you take out the reference. The DPLL enters holdover and the output frequency will be identical with the formerly valid reference. But in time, it will vary according to the OCXO variation.
-then, after one year, you repeat the procedure.