07-26-2019 05:36 PM
I'm doing data recovery on SONET 622 Mbps data using 4x oversampling. (I intend to use an ARTIX-7.) I can use the NIDRU (XAPP1240). I need to use the recovered clock to generate the TX SONET clock. I've gathered that I can't do this with either a GTP recovered clock or cleaning a recovered clock with an MMCM, because the jitter would be too high. I also thought of tweaking a reference clock by means of continuous phase adjustment with an MMCM (https://forums.xilinx.com/t5/Other-FPGA-Architectures/MMCM-with-smoothly-varying-output-frequency/td-p/678630), but it sounds like that would also have too much jitter.
Most commonly, an external clock cleaner (e.g., Silicon Labs) is used, but I'd like to avoid external parts, if possible.
XAPP589 describes a means of using a GTP along with some PLL logic in the fabric to do a clock cleanup. I can't quite tell if this is applicable to my case. Can I use that scheme to take my jittery recovered 622.08MHz (or a divided down version) clock and clean it up enough that it can be used as a SONET TX clock? (And also use it internal to the FPGA for the TX logic?)
07-28-2019 12:49 PM - edited 07-28-2019 12:51 PM
XAPP589 needs a recovered clock so you could not oversample your RX input. If your line rate is 625 Mhz you should be able to recover the data without oversampling but I think if oversampling is a requirement you won't be able use this XAPP. I'm talking about the setup on page 6 of the application note so it still requires one external reference clock for multiple channels.
07-29-2019 08:44 AM
Thanks for the response. I have a reference clock which I use to sample the received data. The recovered data is sampled at 4x 622MHz so my recovered clock looks something like this:
001100110011...
The period of the recovered clock is 4 cycles of the reference clock, on average, but sometimes it may be 3 or 5 cycles. It is this which I which to de-jitter.
08-01-2019 03:52 AM
Hi @kevinneilson ,
I think xapp589 would be a good approach to clean up your clock. Please check with the spreadsheet from the design if it would be good enough for the SONET requirements.
08-01-2019 03:22 PM
It's not entirely clear how to fill in all parts of the spreadsheet nor the meanings of all the calculated results. Even if it were, I don't see that it indicates the amount of output jitter that can be expected.