Skip to main content
Renesas Electronics Europe - Knowledgebase

What should I consider when using I2C?

Last Updated:12/26/2017


What are the other specifications and caution points beyond the specifications?


(1) Addresses
A 7-bit address field is used to specify the slave device's address, but not all of these bits can be used without restrictions.
For the first four bits of these address bits, the values "0000" and "1111" have restricted uses.
Any address that starts with "0000" is used as a general call address (0000 000).
Any address that starts with "1111" can specify a 10-bit slave address when the address includes one byte after the two-bit value "xx" in "1111 0xx".
However, it is unlikely that ordinary microcontrollers can use 10-bit addresses.

(2) Bus's initial status
When attempting to access the I2C bus as a master device, it is impossible to determine fully whether or not the I2C bus is being used unless it is in its initial status.
Normally, it can be assumed that the bus has been released when either SCL or SDA is being held at high level, but since there is no upper limit on SCL's high-level period, it is impossible to judge how long a wait is necessary to release the bus.
Accordingly, this must be determined by a host program rather than by a controller.

(3) Reset during operation
When a reset is issued during a communications session, ideally all bus-connected devices should be able to recognize the reset, but some devices such as EEPROMs lack this type of reset signal.

In such cases, if an EEPROM outputs a low-level signal to the SDA terminal, it is not possible to issue either a start condition or a stop condition, so the bus cannot be used. This problem cannot be resolved by a controller. Consequently, SCL should be driven by an output port, which outputs an SCL pulse.
This enables the EEPROM to continue outputting the remaining data for 1-byte. When the EEPROM outputs a high-level signal or when its output is completed without returning an ACK signal, the next output is stopped and SDA goes to high level. At this point, a start condition or a stop condition can be issued, so the bus can be used.
Suitable Products
RL78 Family
78K Family