cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
2,434 Views
Registered: ‎04-23-2018

Using LVDS to communicate with external systems

Jump to solution

Hi guys,

 

I am new to FPGA design. I have googled this topic but could not find any useful information.

I want to comunicate with external devices using LVDS in a multidrop topology (see pic bellow). 

 

LVDS-Multidrop.JPG

 

I have assigned my LVDS signals to one of the HR banks of the Artix XC7A35T and powered it with 2.5V. My communication speed is 50 Mbps. I will use a ribbon cable for off-board connections. I know it is not the best approach in terms of noise immunity and impedance matching, but this is the standard cable used in my application. The cable length can be 5 meters long.

 

My doubt is: given the cable lenght and communication speed, can I use only the FPGA LVDS channels or do I need to use an external driver, like DS92LV010A or SN65LVDS31? It would be great if the external drivers were not necessary, because I have a strict budget for the board. I know the environment noise would have to be evaluated, but I don't have this information. Is it commom to use the FPGA LVDS channels like this, or are they typically only used for communication inside the PCB?

 

I would really appreciate any help! Thanks in advance!

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Teacher
Teacher
2,850 Views
Registered: ‎07-09-2009

Sounds fun,

 

Yes, fpga can drive out LVDS,

    your probably going to use bus LVDS.

 

 

Ribbon cable .

    ensure the LVDS pair are adjacent on ribbon, say pins 2 and 3, and have a ground adjacent , say pins 1 and 4.

 

Reason to consider using an external driver / receiver,

   is sacrificial.  

 

5m of ribbon is going to be a great ESD pick up antenna.

     depending upon the environment,  look at tranzorbs etc.

 

re 2v5 .

    careful, LVDS is in theory agnostic, but LVDS was traditionaly 3v3

         look out for the maximum voltage that the chips might produce,

            

 

I don't know if you can, 

     but as your unidirectional, LVDS works great AC coupled,

        you might have to encode the data, say Manchester / bi phase, but it does remove a lot of the voltage concerns.

 

Are you allowing for live insertion,

     only one , the end one must have termination, 

         if the termination is removed, then your into a world of pain,

 

One last thing, over / under shoot.

    ribbon cable, very capacitive / inductive. what might start out at the sending end as 1v PkPk,

         at the far end could be 10 Volts PkPk, with a big spike, ensure always terminated if your using fpga based termination could be difficult, suggest you use external termination so its always present even when far end not powered up.

 

 

 

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>

View solution in original post

6 Replies
Highlighted
Mentor
Mentor
2,417 Views
Registered: ‎02-24-2014

It ought to work, since you only have 1 driver on the cable..   It gets a lot more complicated when you have multiple drivers.  Minimizing the stub lengths will definitely help.    Your speed (50 Mbits) is also pretty reasonable, giving lots of time for reflections to die out.

Don't forget to close a thread when possible by accepting a post as a solution.
0 Kudos
Highlighted
Moderator
Moderator
2,412 Views
Registered: ‎09-18-2014

Leonardo.starling,

 

Ok, so how do you want to "communicate" with the external device? Details are important in engineering and being specific will help narrow down your solution faster. If you've picked this LVDS multi-drop setup I assume you are trying to drive the same set of data to multiple receivers downstream for which it should be sufficient especially at lower frequencies. I would caution if you were to implement this, to make sure to keep your transmission line/distance and stub lengths short as possible. I assume you already have selected the external device that you are "communicating" to. If not I would suggest devices with high impedance receivers if the network needs to remain active when one or more nodes are powered off.

 

I would also suggest depending on your "Communication" scheme to look into our BLVDS IOSTANDARD. LVDS is really intended for point to point applications and best suits those in terms of SI/PI. If your "communication" scheme needs to be able to handle more than one driver the simplest step up would be a double terminated Bus LVDS scheme without having to negotiate signal swing and noise margin. See example found from  a quick google image search. 

 

Also remember to check off your topology in a simulation tools to verify that your assumptions of your intended set up were correct. You can do a lot in these tools that can help you design boards quickly and effectively. Take advantage of them if you have the resources to do so. 

 

busLVDSEx.JPG

 

Regards,

T

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Teacher
Teacher
2,851 Views
Registered: ‎07-09-2009

Sounds fun,

 

Yes, fpga can drive out LVDS,

    your probably going to use bus LVDS.

 

 

Ribbon cable .

    ensure the LVDS pair are adjacent on ribbon, say pins 2 and 3, and have a ground adjacent , say pins 1 and 4.

 

Reason to consider using an external driver / receiver,

   is sacrificial.  

 

5m of ribbon is going to be a great ESD pick up antenna.

     depending upon the environment,  look at tranzorbs etc.

 

re 2v5 .

    careful, LVDS is in theory agnostic, but LVDS was traditionaly 3v3

         look out for the maximum voltage that the chips might produce,

            

 

I don't know if you can, 

     but as your unidirectional, LVDS works great AC coupled,

        you might have to encode the data, say Manchester / bi phase, but it does remove a lot of the voltage concerns.

 

Are you allowing for live insertion,

     only one , the end one must have termination, 

         if the termination is removed, then your into a world of pain,

 

One last thing, over / under shoot.

    ribbon cable, very capacitive / inductive. what might start out at the sending end as 1v PkPk,

         at the far end could be 10 Volts PkPk, with a big spike, ensure always terminated if your using fpga based termination could be difficult, suggest you use external termination so its always present even when far end not powered up.

 

 

 

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>

View solution in original post

Highlighted
2,372 Views
Registered: ‎04-23-2018
Thanks mccclusk!
0 Kudos
Highlighted
2,370 Views
Registered: ‎04-23-2018
Just to clarify, I will "comunicate" with some current-to-voltage digital converters, and the LVDS lines are just to send signals like "start converter" and "start transfer". No protocol will be used on the LVDS. There is only one driver on the bus. A separated LVDS bus will be used for receiving the serial data of all the converters in a daisy chain configuration. Thanks for your considerations!
0 Kudos
Highlighted
2,367 Views
Registered: ‎04-23-2018
Thanks for all the points you have shown!

Ribbon cable: I am considering that positioning of the signals on the ribbon cable.

End termination: I will need to have an end board to connect to the lines, with just the termination resistors.

AC coupling: I will take a look at it! Maybe I can use the capacitors.

Over/under shoot: I was not considering that! Thanks for appointing! I will check what options I have for the LVDS line protection.

Thanks for your support!
0 Kudos