IIC Standard
Last Modified: 2008-03-04
find:

basket

Acroname Robotics PDF webpage version IIC Standard PDF

Related
Products

Product image for BrainStem Moto 1.0 Module
BrainStem Moto 1.0 Module
Product image for Brainstem GP 1.0 Module
Brainstem GP 1.0 Module
Product image for Devantech SRF08 Range Finder
Devantech SRF08 Range Finder
Product image for Devantech SRF02 Sensor
Devantech SRF02 Sensor
Product image for BrainStem IIC Cable
BrainStem IIC Cable
Product image for Brainstem IIC 6 Inch Cable
Brainstem IIC 6 Inch Cable
Product image for BrainStem-BrainStem Cable Kit
BrainStem-BrainStem Cable Kit
Product image for Devantech HBridge Motor Driver
Devantech HBridge Motor Driver

Contents

Overview

The Acroname Inter-Integrated Circuit Standard (often known by the acronym IIC or I2C) is not something that was invented at Acroname but rather the industry standard Acroname has chosen for robotics as the most common standard for devices to communicate with each other.  Acroname's BrainStem® modules as well as the OOPic, and some versions of the Parallax line of controllers have adopted this standard as well with others likely to follow.

With the most common controllers all using the same standard for passing information back and forth, everybody benefits as they automatically interface with each other and a growing number of devices including LCD displays, compasses, CCD cameras, H-Bridges, EEPROMs, real-time clocks, A/D and D/A converters, sonar rangers and dedicated motion control units. 

Interconnects

Acroname has standardized on the following interconnect scheme for chaining together multiple devices on the IIC bus.  This standard offers some minimal power distribution and a reset line to collectively reset all devices on the bus with one logic line. 

Acroname standardized pinout for I2C devices.
I2C Interconnect Pinout

All BrainStem modules use this standard with two headers on each module.  This allows easy daisy chaining of devices with a simple interconnect .  The header Acroname uses is a Samtec part (#TSW-106-08-G-D-RA) that has a 0.1" spacing between pins.  These are right angle headers to allow tight board stacking of modules but they need not be right angle. 

The header Acroname uses on the BrainStem modules.
The header Acroname uses on the BrainStem modules.

Description

The standard involves two-wires that perform peer-to-peer serial communication.  Not all devices are sophisticated enough to both act as a master and slave in this environment but the potential exists within the standard for every device to send and receive information from other devices. 

This 2-wire bus can communicate at substantial communication rates with the industry standard being 400kbs and some of the more capable devices handling much faster rates of 1Mbit or better.  Devices all have a unique address with the simplest implementation being able to support up to 126 individual devices on a single 2-wire bus. 

The original standard, IIC, was created by Philips in the mid 80's as an efficient and lightweight means of communication between various components in a TV set (tuner, video circuitry, audio subsystem, etc.).  For various legal and competitive reasons, Intel created its own standard in 1995 called SMBUS that encompasses IIC functionality. 

Wars may have been fought over the names and ownership but the industry has accepted this standard with Microchip and others burying the hardware functionality for IIC communications into the hardware layers of their popular line of micro-controllers. 

Acroname has spent several years championing and supporting this standard with the result being that most of the more advanced robotics components both developed and distributed by Acroname can readily communicate with one another via a common bus.  This allows a procedural approach to hardware design where you can re-use existing components, benefit from the work of others, and potentially gain wide acceptance of your design through inter-interoperability and extensibility. 

The actual specification and implementation details can be somewhat daunting for the uninitiated.  The concepts are actually quite simple and when using the more advanced controllers, the details can be largely disregarded.  Every device has an unique address and can either act as the master (initiator of a transfer) or a slave (recipient of the transfer request).  A transfer can either be a read or written with an arbitrary number of bytes.  Through special sequences, the master can designate an address on the slave to either read or write the bytes to.  Devices take turns on the bus as only one transfer can occur at a time. 

Our partner Gerry at Devantech has an excellent article which discusses the nitty-gritty of IIC data transfer.  You can also download a PDF with technical documentation of IIC standards below. 

file iconI2C-Specifications.pdf
303.01K Bytes
The I2C Bus Specification
 

Related Examples:

Shows a simple program using the C Development Download

voice: 720-564-0373, email: sales@acroname.com, address: 4822 Sterling Dr., Boulder CO, 80301-2350, privacy
© Copyright 1994-2008 Acroname, Inc., Boulder, Colorado. All rights reserved.