05-30-2015 12:04 PM
I just had a doubt regarding phase detector signal in XAPP585. Does this take care of the fact that the clocks of different channels ,( say in a camera link) arent in the phase.
Does it take care of this phase difference.
Also when do u use the per bit skew and what are the advantages, of this.
It would be great if someone elaborated on this.
05-30-2015 06:08 PM
In Channel-Link, which is the basic physical layer for Camera Link, there is a clock channel and 4 associated data channels that must be in phase, relying on low skew routing (including low-skew cables) to keep the bit reception correct. For Medium or Full Camera Link, 2 or three independent Channel-Links are used and may have significant skew between links. This skew could be due to using a different device (like the DS90CR287) for each Channel Link, as well as cable to cable skew. It is up to the receiver to deal with this by independently phase adjusting to each Channel-Link, and using the line valid signal, which is replicated on each link to receive data coherently.
XAPP585 really only implements a single Channel-Link, which is good enough for a Base Camera Link, but would need to be replicated - including the MMCM or PLL - to implement Medium or full Camera Link.
The phase adjustment in the MMCM or PLL is good enough if the skew on the data and clock wiring is low enough. This is typically true if you use a reliable Camera Link cable and use length matched routes from the connector to the FPGA. Per-bit skew adjustment should only be needed if there is too much skew between the individual pairs of a given Channel-Link. It is probably not good enough to handle the level of skew seen between Channel-Links when using more than one.
06-01-2015 06:05 AM
I had this question ,since in the reference design file, The design comes with 2 channels with each channel having 5 differential pairs. So i just wanted to know, if it accounts for the phase difference that could arise between the channels, in a full camera link. There is a parameter passed called enable phase detector. I just wanted to know what was its purpose.
08-17-2015 10:18 PM
XAPP585 can be used to implement more than just Base Camera Link reception and is intended to do just that, otherwise there wouldn't be special "slave" components in the design. As you stated, the reference design contains 2 channels, with each channel having 5 differential data pairs + 1 clock pair. Medium Camera Link has this same configuration, except with 1 less data pair. Full Camera Link has the same configuration as Medium, but adds a third channel.
The XAPP585 code utilizes the first clock pair to generate shared 1X parallel and 7X serial clocks (in SDR mode) that are used for all channels. Since the input clocks for each channel are at the parallel data rate (or 1X rate), they are simply used as training signals for each channel independently. Therefore, if each channel has the required phase alignment between its own clock and data pairs (intra-pair alignment), then the data can be correctly received using the shared 1X and 7X clocks. The clock and data pairs from different channels (inter-pairs) do not have to be perfectly phase aligned, but the clock frequencies for each channel do have to be the same. This is required for a standard Medium or Full Camera Link interface anyway.
Now this may not guarantee that every pixel from the different channels is aligned with respect to a video line, but it is not a difficult task to write a synchronization interface that monitors FVAL or LVAL from each independent channel and fixes the pixel alignment, which won't be off by more than a clock cycle or two.
07-03-2016 12:49 PM
I am implementing camera link interface using XAPP585 on Zynq 7020 (ZC702). As you stated it can be used for Base, Medium and Full modes. But my understanding is that each channel will have 5 deserializers (which 4 data pairs + 1 clock pair) the first channel will have a MMCM which will provide 1x and 7x clock for all the channels. And the parameters
DATA_FORMAT = PER_CHANL;
Is my understanding right? Do we have to make any other changes, to make the camera link work? I am getting the FVAL, LVAL and DVAL, but not int he right order.
Really appreciate your response.