Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20705 Discussions

Receiving LVDS using NIOS II

Altera_Forum
Honored Contributor II
976 Views

Hi , 

 

Does anyone have any experience in receiving LVDS signal using NIOS II?? 

I have no idea where to start from. 

 

Thanks in advance. 

 

 

Regards, 

Michael
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
288 Views

You'll need to provide a better description of what you are trying to do. 

 

What does the LVDS signal 'mean' to you or the NIOS processor? 

 

Is it data from an analog-to-digital converter? Is it an interrupt? What is the NIOS processor going to do once it 'gets' this LVDS signal. 

 

There's nothing particularly special about LVDS signals. Its just another logic standard. If the LVDS signal you are looking at has a frequency about the same as the NIOS processor, then its really no different than any other I/O. If the LVDS signal is much faster than the NIOS processor clock, then the LVDS SERDES would be used to deserialize the LVDS signal into blocks of bits, eg. 8-bits per NIOS clock. The NIOS processor would then have to process blocks of bits (or blocks of samples). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
288 Views

Hi Dave, 

 

I am trying to get the LVDS (output from an ADC running at maximum 65Msps, 14bits) signal using NIOS II processor, and display the information on the 8'' LCD (tPad from terasic), and also save data, by transmitting to computer using High Speed USB2.0 (QuickUSB from Bitwise). 

 

If the throughput of the LVDS data stream is 65Mbps(14 pins), can NIOS II handle this fast enough?  

I am assuming the NIOS II can handle maximum data throughput of 185Mbps per pin, since it could be clocked at maximum frequency of 185MHz, and also a 6 stages pipelined processor. Is this assumption correct? 

 

Please advice. 

 

Thank you. 

 

Regards, 

Michael
0 Kudos
Altera_Forum
Honored Contributor II
288 Views

Hi Michael, 

 

I don't think you will be able to display the raw samples continuously. 

 

I'm not sure that you will be able to transfer them over USB either. You would need to perform tests to see what the maximum bandwidth you can achieve over the USB interface is. Ignore what the performance 'could be' based on the USB specification - you need to measure what it actually is. Performance depends on what you have sending and receiving data over USB. 

 

However, your display could be used as a logic analyzer to show blocks of samples, or as a spectrum analyzer to show the power spectrum. Or if you were to do some image processing, perhaps an image. 

 

The NIOS processor can be used as a controller, and for some signal processing, however, its highly unlikely it will be able to do any sustained processing of the 65MHz samples directly.  

 

For example, lets say you read an ADC sample, scaled it by two, and wrote that sample back to memory. Write some assembly code to do that, and then simulate it in Modelsim. The performance over the data bus will give you an idea of the maximum rate that the NIOS core can actually move data. I'm pretty sure you will be disappointed. 

 

In signal processing systems, you usually connect signal processing blocks in a streaming fashion, eg. the ADC data goes through a gain block, and then into the next block. The job of the NIOS processor is to write to the gain register to keep power levels where they need to be for optimal processing. The NIOS processor does not have to be particular powerful for this 'control plane' task. 

 

Cheers, 

Dave
0 Kudos
Reply