Re: [offtopic] Re: I2c was: Cobalt Micro (was Re: Build your own Mo therboards)

Richard B. Johnson (root@chaos.analogic.com)
Wed, 9 Sep 1998 17:44:31 -0400 (EDT)


On Wed, 9 Sep 1998, Philip Blundell wrote:

> >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.
>

I'm not missing the point. I simply stated facts. If you think that a
I/O chip that requires a CPU to generate its required interface states
is not as I stated; "... everything is done in software" then you are
missing my point.

> 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.

I think the IIC bus was first introduced by Philips to be used to
interface with TV-Set tuners, etc. This is what their data-sheets imply.
The problem is that I'm sure that I don't know what it was "designed for"
and I'm fairly sure that you don't really know what it was "designed for"
either. Unfortunately, since it exists, alleged engineers use it for
things that it should not be used for. Then "software people" are forced
to make it work.

Therefore, as previously stated; "This is an awful bus in all respects".

> >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.
>

See previous. I can make a hardware bus-interface device that connects to
a chip through only one pin. It will transparently serialize/de-serialize
data, run at a few mega-BYTES per second, and require no CPU intervention
at all. It can be done with a single PAL. In use, the CPU or device
writes a byte somewhere. It magically appears somewhere else.
So much for IIC.

Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.1.118 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/faq.html