Altera_Forum
Honored Contributor
12 years agoLVDS clock and data signals, interfacing to LVDS DAC
Hello,
I have designed a system for the generation of signals to be reconstructed with an ADC evaluation module (TSW30SH84EVM form TI). I am currently using a Terasic TR4 board, based on STRATIXIV (EP4SGX530KH40C2). My DAC board has an HSMC connector where I can send both LVDS data and the LVDS data clock, and I can read out a LVDS clock signal which I can use in order to generate the clocking for my FPGA design. The question now is if I am using the LVDS signals in the right way. On some posts on the forum I was reading that in order to use LVDS signals is enough to declare the pins as LVDS, and that Quartus II takes care about defining the correspondent differential pin. Somewhere I have read that then I can just connect for instance the positive pin in my design. The point is that in my design I have a ALTPLL, reading the LVDS clock reference out of the DAC board (737,28 MHz), and generating a 737,28 MHz clock for my NCO which delivers a complex sinusoid at 10 MHz, and a 92 MHz sync signal for the DAC as well. Basically I see no data being converted from my DAC board, just some noise. I am suspecting that I should handle the LVDS signals in a different way. I have tried to route the DAC reference clock signal to the SMA_CLKOUT connector of my development board, in order to measure the waveform which I want to use as input for the ALTPLL block, i think that due to the maximum speed of the clock output connector, I am not able to see a square waveform. What I measure is a sinusoidal wave but with the right frequency. This could even be right I suppose. Somewhere on other posts I have read that I should handle those differential clocks using the ALTDDIO_OUT megacore, connecting its inputs to logic levels '0' and '1', and drive the block using the LVDS positive clock signal read out of the DAC board. But I am afraid that if I drive an ALTDDIO_OUT driven with such a signal, I would just get a single ended clock with double speed (1500 MHz)...... Would be really helpful if someone could help me to understand which one is the correct way to handle LVDS clocks and signals. How do I read them out? How do I menage them inside the design, am I reading them and convert them to single ended and then just convert them again to differential? How do I send them out again in LVDS format? Thanks in advance for your help! Giovanni.