Shop OBEX P1 Docs P2 Docs Learn Events
interface to LVDS, not SPI or I2C? — Parallax Forums

interface to LVDS, not SPI or I2C?

microTinkermicroTinker Posts: 4
edited 2006-10-27 20:53 in Propeller 1
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!

Comments

  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-10-26 19:41
    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
    Propeller Applications Engineer

    Parallax, Inc.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2006-10-27 00:01
    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 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 BakerPaul Baker Posts: 6,351
    edited 2006-10-27 05:29
    You're right Phil, I overstretched with that comment.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • microTinkermicroTinker Posts: 4
    edited 2006-10-27 06:00
    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?
  • BTXBTX Posts: 674
    edited 2006-10-27 14:53
    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·
    I2C Manual: http://www.nxp.com/acrobat_download/applicationnotes/AN10216_1.pdf
    You’ll have an exactly answer there.
    Best Regards.
    Alberto.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-10-27 18:19
    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
    Propeller Applications Engineer

    Parallax, Inc.
  • microTinkermicroTinker Posts: 4
    edited 2006-10-27 20:06
    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...
  • BTXBTX Posts: 674
    edited 2006-10-27 20:53
    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.
    ·
Sign In or Register to comment.