I2C
Reserved and Common Addresses

Address R/W Function/Device
0000 - 000 0 General Call address 1
0000 - 000 1 Start byte 2
0000 - 001 x Reserved for the now obsolete C-Bus format 3
0000 - 010 x  Reserved for a different bus format 4
0000 - 011 x Reserved for future purposes 5
0000 - 1xx x Reserved for future purposes
1111 - 1xx x Reserved for future purposes
1111 - 0xx x 10-bit slave addressing mode 6
1x
0001 - 011

LTC3445 programable buck converter (A7/6 selectable)

0001 - aaa

TES1328 Smart nixie base address (0x0-0x7)
(Dip switch set to 0aaa is base address)
(Dip switch set to 11xx is digital clock master)

aaaa - aaa
0001 - 000
to
1110 - 111

TES1328 Smart nixie analog address:  111 devices max when the DIP switch is set to 10aa, where aa is the analog address on open DIP positions 1 and 0.  Each analog input is divided into 11 bins of Vdd/12 volts.

2x
0010 - 0aa LTC26xx DAC
0010 - 1aa LTC2481,3,5 ADC
3x
0011 - xxx

 

4x
0100 - 0aa LTC26xx DAC
0100 - 1aa LTC2481,3,5 ADC
0100 - aaa AD799x  ADC (Addr=0-7)
LTC1699 DAC
5x
0101 - aaa

AD799x  ADC (Addr=8-15)

0101 - 011

LTC3445 programable buck converter (A7/6 selectable)
X9118 digital pot

0101 - 1aa

AD528x digital pot

6x
0110 - 0aa LTC26xx DAC
0110 - ccc Seiko S3590A RTC: ccc = commands embedded in the address
7x
0111 - 0aa SAA1064 4 digit LED driver
0111 - aaa JCL1562 I/O expander
8x
1000 - 0aa

LTC26xx DAC

9x
1001 - 000 MCP9800/02A0 Temp sensor
1001 - 00a ADS1000 ADC
1001 - 011 LTC3445 programable buck converter (A7/6 selectable)
1001 - 101 MCP9800/02A5 Temp sensor
TC74 Temp sensor standard address
1001 - 110 PCA8550 EEPROM dip switch
1001 - aaa DS1721 Temp sensor
LM75 Temp sensor
MCP9802/03 Temp sensor
SC16IS7x0 UART
Ax
1010 - 001 PCF8563 RTC-calendar
1010 - 0aa ADC081C027 ADC  (aa=00,01,11 only)
LTC26xx DAC
1010 - 100 ADC081C021 ADC
1010 - aaa CAT140xx supervisor
SC16IS7x0 UART
DS1845 digital pot
101a - aaa MAX7325 I/O expander (Output port addressing)
Bx
1011 - 001 X4003,5 supervisor
Cx
1100 - 0aa LTC26xx DAC
1100 - aaa PCA9532/CAT9532 LED dimmer/driver
PCA9551 LED blinker
110a - aaa MAX7235 I/O expander (Input port addressing)
Dx
1101 - 000 DS1338,40 RTC
MAX6909-10,17 RTC
1101 - 00a DS1372 counter
1101 - 011 LTC3445 programable buck converter (A7/6 selectable)
1101 - 111 ISL1208 RTC
Ex
1110 - 0aa

LTC26xx DAC

1.     The general call address
This address is being used to access all devices on the bus which are capable of handling the general call and need this data. Devices which are capable of handling this general call but do not need it will not answer.

All bytes transferred after this address may or may not be taken in by the slaves that are responding to it. If no slave is acknowledging a transmitted byte, the operation is stopped by issuing a STOP on the bus.

The meaning of the general call address is specified in the 1st byte transmitted after this "general call". This first byte can contain the following information:

If the LSB is set to 0:

0000-0110 Reset and write programmable part of slave address. All devices who respond to this will reset and take in the programmable part of their address. This is done by re-reading the levels on the address select pins of the device (if any). This command can be used to reset an entire I2C system.
0000-0100 The same as above but without the reset . This can be useful if the state of the address select pins of a device are configurable. This way the device address will change.

If the LSB is set to 1:

xxxx-xxx1 This is a Hardware Call. If a device needs urgent attention from a master device without knowing which master it needs to turn to, it can use this call. This is a call "to whom it may concern". The device then embeds its own address into the message. This call means as much as: Please contact me, I need to be serviced. All masters will listen and the master that knows how to handle the device with the address transmitted will contact its slave and act appropriately.

2.     The START address
This can be used between masters. A master which does not have an I2C interface in hardware but in software needs to monitor the bus all the time. Since this can require a lot of processing time, the START address was introduced. The masters can sample the bus at a low rate. As soon as they detect that the SDA line is low (it is held low for over 7 clock periods) it can switch to a higher sampling rate to detect the Start condition.  This address is not followed by a stop condition but rather by a repeated start condition.

3/4.   Non I2C Data
These addresses are used when data other than I2C data has to be transmitted over the bus.

5.     Future Expansion
 These addresses are for further expansion and are currently not allowed.

6.     10 Bit Addressing
See details in the section covering 10-bit addressing.

Any questions or comments?
 This page last updated on May 04, 2009