How is inter circuit communication addressed in I2C communication

Doing a little reading on this - it appears that it was initially a 7 bit address scope. Wikipedia currently has it listed as such.

However, BOA has informed me that it is now 13 bit. What IS the REAL address scope? If I have a IC widget and I want to talk to another one, how do I speak to it. Knowing the correct address, I suspect, would be a good beginning.

The next question I have would be - what othe IC widgets are there to talk to? To know what can recieve and do something cool with an I2C message would be helpful.

For example many device speak USB - webcam, mice, keyboards, yatta, yatta - a computer can (with the help of a driver) make these devices do nifty things, like print characters, or display video. And for my understanding USB is just an addressable serial protocol on steroids.

BOA will set the records straight (at his convienence).

Hi Grog,If you’re up for a

Hi Grog,

If you’re up for a bit of reading, http://www.nxp.com/acrobat_download/usermanuals/UM10204_3.pdf will tell you all you need to know about I2C :-). Addressing was 7-bit in the beginning but has now been expanded to 10-bit.

Also address with all 0’s is the general call address (which sounds kind of like a broadcast ip).

Addresses and Widgets

Correct. I did say 13 bit but that was finger trouble. Devices use either 7 bit or 10 bit addresses. Microchip PIC can be programmed to work with either. If you select a PIC with built-in I2C, the hardware can handle either (without the need for manually bit-banging).

On widgets there are many. For example, the SRF04 ultrasonic rangefinder. You can add an I2C interface to anything. This morning, I’m adding one to my electric toaster. Seriously, though, keep your eyes on Big Chaser. I’m about to document the medium-sized motor controller I’ve been working on over the last few weeks. It’s an I2C device. In parallel with this, I’m making an I2C “bus master” which will be the brains and comms interface. (An I2C bus typically has a “master” which is the only device all other devices are allowed to “talk”. There are “multi-master” busses, but then you need collision detection and all that hard work.) It will perform as n RS-232 interface as well.

idaniel hints at a global robot project where I have suggested that we might make (or re-invent) a bunch of I2C devices which can be cheaply manufactured. This would be an open source project (hardware and software) and would include sensors, motors controllers, comms interfaces, etc. This is precisely the line I’m taking with Big Chaser.

LMR is such an addictive distraction, though!! I promised myself last night I wasn’t even going to load it… Maybe tonight…

Oi, I can see I phrased that
Oi, I can see I phrased that a little badly. Like BOA says in his comment addresses can be EITHER 7 or 10 bits wide - it’s not required to be 10 bits wide as you might it read from my post. I have only ever used 7-bit addressable devices myself.