PDA

View Full Version : interface to LVDS, not SPI or I2C?



microTinker
10-27-2006, 01:57 AM
I'm seeing some chips that use LVDS, Low Voltage Differential Signalling. There are interface chips to simplfy using LVDS, such as the Maxim 9112 Line Driver. Does anyone have any information on how to drive either of these from a microcontroller, or better yet, a Propeller? The data sheets have been too sparse to explain the microcontroller timing/signalling issues...

Thanks!

Paul Baker
10-27-2006, 02:41 AM
What chip are you looking to interface with that uses LVDS? LVDS was designed to provide very high speed communication links (500MHz), way beyond anything that is practical for interfacing with a microcontroller. LDVS has a 350mV swing around 1.25V which incompatible with all existing signal levels (ECL variations are closest, but not compatible), also when working at this high speed extra design consideration must be taken to avoid standing waves on the transmission line. RS422/485 is a much better fit and can be driven directly from a Propeller.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Phil Pilgrim (PhiPi)
10-27-2006, 07:01 AM
Paul,

I'm not sure what you mean by "directly". For simplex, short-range, point-to-point transmission, a pair of Propeller pins might well do the job. You'd probably want series resistors on them (120-ohm?) with a similar-valued termination network on the other end and a good ground connection between nodes — but not using the cable shield, which should be connected at one end only (lesson learned the hard way http://forums.parallax.com/images/smilies/smile.gif ).

Longer runs with the potential for common-mode noise pickup and ground currents may present a problem, though. The issue is that the Propeller ports aren't spec'd for the same output common mode range that RS422 drivers can endure when disabled (typically -7V to +12V). And that may be a problem during reset when all the pins are inputs or if you try to share the line with another transmitter and have to tristate the pins.

Real driver chips are cheap, though, and include the necessary circuitry to buffer the Propeller from the electrical wilds.

-Phil

Paul Baker
10-27-2006, 12:29 PM
You're right Phil, I overstretched with that comment.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

microTinker
10-27-2006, 01:00 PM
Well, I was looking at·this Maxim chip:

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2317

If you look at the pdf datasheet,

http://datasheets.maxim-ic.com/en/ds/MAX9110-MAX9112.pdf

it looks like a very simple way to create a low-power,·fast communications link. It needs only 1 input and two transmission wires, so it's simpler than SPI or I2C. I read today that it can work over short ranges, up to 10m. It·can use·a simple twisted cable. The datasheet says to avoid ribbon cable, but the book I was studying (sorry didn't write down the title) said it worked with shielded ribbon (arrange the signals x+-+-+-x, ie alternate and don't put signals on the edges.)·The 9112·uses 250-450mV differential voltage for transmission, drawing only 9.4mA for two channels.

Thoughts? Uses compared to SPI/I2C?

BTX
10-27-2006, 09:53 PM
microTinker
I think you’re a bit confused about this point.
LVDS chips are used, for transmission lines, that needs high speed data rate, low EMI, (up to 500Mbps).
RS485 chips are used, for transmission lines that needs not so high speed data rate (up to 50Mbps), but for distances up to 1200 meters.
If you need to communicate a microcontroller with some peripheral, at long distances “or not near it”, you could use a LVDS or RS485 transmission line, depending the speed that you need.
If you use a chip like, MAX6974/6975 that has ·Low Voltage Differential Signaling (LVDS) inputs, you must drive these inputs with a chip like MAX9110, between the microcontroller and the 6974/6975,· I am not sure, if you’re asking about to drive those inputs directly from the PChip, but in that case, the answer in no.
Instead If you use a chip for dimmer LED’s, that has I2C bus control interface, like “PCA9532” you could drive it directly from the PChip using· an I2C driver.
You said: “It needs only 1 input and two transmission wires, so it's simpler than SPI or I2C.”, you can’t compare, SPI or I2C bus, with a differential transmission line like uses, LVDS, RS422/423/485 !!
Dou you compare I2C bus with RS232 serial port?. They are different things for different purposes.
It’s very difficult for me, to explain all for you in English,….but …Please read this:
EIA/TIA-644 Standard: http://www.interfacebus.com/Design_Connector_RS644.html (http://www.interfacebus.com/Design_Connector_RS644.html)·
I2C Manual: http://www.nxp.com/acrobat_download/applicationnotes/AN10216_1.pdf (http://www.nxp.com/acrobat_download/applicationnotes/AN10216_1.pdf)
You’ll have an exactly answer there.
Best Regards.
Alberto.

Paul Baker
10-28-2006, 01:19 AM
Alberto is correct, you can't compare LVDS with SPI or I2C. LVDS is a physical layer specification, IOW it is concerned with the voltage levels, currents etc that are being transmitted on the line(s). SPI and I2C is a network/data link layer specification, IOW it is concerned about the data being transfered and communication between devices connected on the physical layer.

To utilize LVDS, you would have to define your own data layer and implement it. It is far easier to use a pre-defined higher layer than trying to design one of your own unless you are an EE with experience in networks.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

microTinker
10-28-2006, 03:06 AM
Ok, thanks for the clarifications. Looking at the MAX6974, it's designed to be strung along an LVDS line. I had read that LVDS was really designed for on-PCB inter-chip communication, but from the discussion above, and further reading, it seems that the 6974s could be separated and connected only by twisted pair using LVDS. So a single Propeller could control several of them that are physically separated. The propeller would drive a MAX9112 at the head of a chain of·MAX6974s. Is that correct? Would they have to share a ground? Not as general-purpose as SPI or I2C, but cool nonetheless...

BTX
10-28-2006, 03:53 AM
microTinker said...

So a single Propeller could control several of them that are physically separated. The propeller would drive a MAX9112 at the head of a chain of·MAX6974s. Is that correct? Would they have to share a ground?

I think that it could be possible,·and more.... many, cogs "driving" MAX9112's with·a chain of MAX6974 each of them.
But taking advantage of the Paul knowledge, let's him to confirm that.

Best Regards.
Alberto.
·