TStik
I²C Bus
TINI400 in the familiar
SIMM72 module
package

TStik is powered by Dallas Semiconductor TINI


I²C is an acronym for Inter-Integrated Circuit (I²C instead of IIC). It's often written I2C when a superscript is not available.

I²C Description

I²C was developed by Philips many years ago as an inexpensive, low-bandwidth, short-range, bit-serial bus for communication between integrated circuits on a board. I²C requires only two lines - clock and data. It is assumed that each chip on the board already has power and ground. The clock and data lines are connected to all chips on the bus, in a wired-or, party-line fashion. Bus loading is an issue, but repeaters are available. In fact, TILT400.Pro uses a buffer to support longer cables and more loading on its I²C bus.

I²C bit rate is 100 kbits, with a high speed 400 kbit option. I²C busses are usually assumed to be master/slave but the specification supports peer to peer topologies too.

I²C uses a non-destructive bitwise arbitration scheme vaguely similar to CAN.

As there is no chip select, all devices on a bus share the same two signal wires. Individual devices are addressed by a device code, and an optional address within a device code. This enables multiple, identical devices to coexist. Typically, three address lines are available for a maximum of eight identical devices on the same I2C bus.

The System Management Bus (SMBus) interface for Advanced Configuration and Power Interface (ACPI) is based on 100 KHz I²C.


I²C References and Specifications
I2C Specification from the creator: Philips Download the I2C specification (PDF) at the Philips website.
SMBus specification You can download the specification at the SMBus.org website.
I2CChip website http://www.i2cchip.com/i2c_connector.html has information on special connectors and cables for I2C systems
Educypedia I2C site http://www.educypedia.be/electronics/I2C.htm has a wealth of information on I2C including the specification in Dutch
Mixing I2C and SPI signals? This page: http://www.i2cchip.com/mix_spi_i2c.html claims it can be done. It's an interesting idea and might be useful in special cases where pins are limited.

I²C Signals in Systronix Products
TStik I²C signals

See the TStik Coniguration Register API page for more details. On TStik2, the shared CAN/I2C pins SIMM72.10 and SIMM72.11 may be used for CAN full time, with I²C on pins SIMM72.21 and SIMM72.22. For compatability with older TStiks, and TINI390, CAN and I²C can still be shared on pins 10 and 11 as they also are on TINI390 and SNAP. It is recommended that new TStik2 socket boards use pins SIMM72 10 and 11 for CAN only, and 21 and 22 for I²C. In this way you can have fulltime access to both CAN and I²C.

TILT400.Pro On TILT400.Pro, I²C is available on the JSimm expansion connector and also on the Embedlet 5x2 header. TILT400.Pro has a buffer to support longer cables and more loading on its I²C bus.
JSimm I²C signals See the JSimm connector page for more details. JSimm/SimmStick has no CAN signals, but does have I²C. TStik2 makes it simple to support these dedicated JSimm/SimmStick I²C pins. I²C should be mapped to JSimm.10 (SCL) and JSimm.11 (SDA). The current TILT400 boards don't yet have this support. A new version in 2006 will support the fulltime I2C pins of TStik2.
JStamp, SaJe, and JStik modules JStamp, SaJe and JStik support I²C - see their specific Quick References for pinout details.
JStamp Development Station Signals are available on the pin headers and the JSimm bus
JStik and JSimm backplane Signals are available on the JSimm bus

I²C Devices and Firmware Support
Current TStik API download

Includes I²C support in the optional API classes.

aJile I²C class aJile has simple I2C support included in its runtime, but the access is very slow. aJile has generously provided the source code to Systronix for improvement.
Systronix I²C package Based on the aJile class, but much faster. Systronix is currently working on a thread-safe I²C package with more features.
Devices at Philips Philips started the I2C spec, so they naturally have a lot of devices. Philips seems to have the most parallel I/O devices. We use several in our own products and in custom designs.
Devices at DigiKey Generally good stock on mainstream I2C parts.
Devices at Texas Instruments Lots of ADC, DAC and other devices such as the TPA0172 2W stereo amplifier
   

 

.

 
Systronix® 939 Edison Street, Salt Lake City, Utah, USA 84111
contact us
 

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Systronix is independent of Sun Microsystems, Inc.
TStik, JStik, JCX, JStamp, JSimm, JDroid, and JRealTime are trademarks of Systronix, Inc.
1-Wire, iButton and TINI are trademarks of Dallas Semiconductor
Simmstick is a trademark of Dontronics