Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!ll-xn!ames!amdahl!pyramid!prls!philabs!fnh@briar.philips.com From: fnh@briar.philips.com (Fletcher Holmquist;6483;4.85;$0351) Newsgroups: sci.electronics Subject: Re: I2C Bus Message-ID: <40105@philabs.Philips.Com> Date: 7 Dec 88 18:42:46 GMT References: <1404@thumper.bellcore.com> Sender: news@philabs.Philips.Com Reply-To: fnh@briar.philips.com (Fletcher Holmquist;6483;4.85;$0351) Organization: Replace me with your organization Lines: 44 In-reply-to: rtm1@thumper.bellcore.com (Ravi Masand) In article <1404@thumper.bellcore.com>, rtm1@thumper (Ravi Masand) writes: >Anyone know what a I2C (I squared C) bus is ?? >I've just received a "I2C bus compatible ICs" data book from Signetics/Philips >which has a lot of interesting devices (mostly audio/video and telephony) >but which does not answer the above question. >Ravi Masand >Bellcore >thumper!rtm1 I2C stands for Inter-IC-Communications, and is Philips/Signetics scheme for connecting ICs with a serial bus. It uses two wires (SDA-data, SDL-clock), up to a 100KHz clock, terminated with pull-up resisters to +5v. It uses a master/slave relation for transfers, with arbitration between competing masters. One always wins and the transfer it not corrupted, the loser(s) must retransmit. Addresses are software selectable with most masters, most slave ICs have a few lo-bits that are selected via pins, with the hi-bits fixed (e.g. the PCF8583 clock calender + 256 RAM is addrress as 101000x, where x = 0 or 1). The new Signetics books have the full specs, partial specs are part of the specs for I2C devices themselves. [See the Microprocessor Data Book '88]. If you can't find these, send me mail (the 88 I2C book from Philips is strangely lacking the specs). The idea seems to be to interface DACs, ADCs, I/O expansion ports, time-of-day clocks, small memories (RAM, EEPROM), and specialized radio/tv ICs with a microcontroller. It is also being used with the 68070 processor (a 68000 with I2C, UART, MMU, Timers, ...) to implement cheap (low part count) extensions. The two wire scheme makes it much easier to add components, the 8-wire plus interrupt pain is gone. If you want to play with it, I do have some simple 68000 code examples for driving it. I do not have any 8051 examples, however, and most of the 8-bitters having I2C are of that family. The slave ICs, of course, handle the protocol by themselves. It is possible to emulate I2C using any microcontroller's serial port, but it is not as easy as the dedicated port. -- fletch holmquist robotics and flexible automation fnh@philabs.philips.com philips laboratories (914) 945-6483 345 scarborough road, ny, 10510 -- fletch holmquist robotics and flexible automation fnh@philabs.philips.com philips laboratories (914) 945-6483 345 scarborough road, ny, 10510