[lkml]   [1998]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [offtopic] Re: I2c was: Cobalt Micro (was Re: Build your own Mo therboards)
    >Further, since everything is done in software, fast machines can send
    >data faster than slow machines can receive it. This means the fast
    >machine must artificially slow down data transmission to match the
    >slowest receiver.
    >This is an awful bus in all respects.

    You're missing the point that IIC was intended as a bus that could be easily
    and cheaply implemented on small ICs. It uses only two wires - pins are
    expensive. The protocol is intentionally basic so you can use a fairly simple
    state machine to run it. Incidentally, it's simply not true to say that
    "everything is done in software". It's true that IIC *can* be implemented
    purely in software, but then so can RS232.

    IIC was never designed to be a general data interconnect system. The original
    application was control of smart peripherals that didn't have or need a full
    address/data bus, such as serial EEPROMs, real time clocks, teletext decoders
    and the like.

    >Since two (or more) parties can think the bus is free at the same
    >time, clashes are possible. This will hang the IIC bus. Therefore,
    >once the bus is crashed, both parties have to reinitialize their
    >controllers to

    IIC just doesn't support more than one master in any sensible way. Again this
    was something that was never intended to work - you can't have two people
    driving the clock at the same time.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:44    [W:0.020 / U:14.536 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site