Understanding of Mipi I3c White Paper v0.95
Understanding of Mipi I3c White Paper v0.95
List of figures:
Figure 1: I3C Bus with I3C and I2C devices...................................................................................... 4
Figure 2: I3C capabilities ............................................................................................................. 6
Figure 3: I3C Bus Communication Format ...................................................................................... 7
Figure 4: Speed and data rate for I3C vs. I2C .................................................................................. 8
Figure 5: Dynamic address assignment process .............................................................................. 9
Figure 5: Broadcast CCC format...................................................................................................10
Figure 6: Direct CCC format ........................................................................................................10
Figure 7: I3C interface with command queue.................................................................................11
Figure 8: I3C related applications ................................................................................................12
2
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
Contents
Introduction....................................................................................................................... 4
I3C Capabilities: .................................................................................................................. 5
Basic operations: ................................................................................................................ 6
Advantages of I3C over I2C:.................................................................................................. 7
I3C Applications: ................................................................................................................12
Summary: .........................................................................................................................13
References: .......................................................................................................................13
3
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
Introduction
As the usage of sensors in mobile devices increases day by day, it’s
becoming complicated for designers to use existing methods (I2C and SPI).So the
members of MIPI alliance introduced an Improved Inter Integrated Circuits. I3C is
an evolution of I2C, low-speed peripherals and sensors in computer systems. I3C
adds a significant number of system interface features while retaining backward
compatibility with existing I2C slave devices while native I3C devices support
higher data rates, similar to Serial peripheral interface (SPI). Both I2C and I3C are
having SCL and SDA lines but, I2C supports only four speed modes (100KHz,
400KHz, 1MHz, 3MHz) I3C supports speed up to 12.5MHz in single data rate
mode. I3C has high throughput bit rate up to12.5Mbps. The main purpose of MIPI
I3C is,
To standardize sensor communication,
To reduce the number of physical pins used in sensor system integration,
To support low power, high speed and other critical features which are
currently not covered by I2C and SPI.
I3C SDA
MASTER SCL
4
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
I3C Capabilities:
MIPI I3C has following capabilities which are not supported by I2C protocol,
Hot-join feature:
Hot join sensors can be connected on the same bus can be powered
off until they are needed. I3C slaves can join after the bus configuration.
I2C slave:
Legacy I2C devices present in an I3C bus; I3C master devices can
conditionally communicate to such legacy devices; constraints on speed
and capabilities are applicable.
Secondary master:
Takes temporary control from main master and passes control back to
the main master once control tasks are completed.
In band interrupt:
I3C provides in-band interrupts within the 2-wire interface, which
drastically reduces device pin count and signal paths, and enables
integration of additional sensors in a device.
5
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
Dynamic
addressing
In band
Hot join interrupt
Capabilities
Broadcast
and direct
CCC
Basic operations:
I3C is a two wire bidirectional serial bus, which is having SCL clock line and
SDA data line. Speed grades with data transfer rate up to 12.5Mbps with 12.5
MHz clock frequency in SDR mode. I3C bus starts transaction with START
condition (SCL should be held high and SDA should go from high to low), following
that address of the slave device or broadcasted address with W/R bit should be
sent. After initial start address arbitration may happen in I3C bus the device which
has lowest value address would win. For broadcasted address, all the slave
devices on I3C bus should send acknowledgment (except I2C slaves). For slave
address, only particular slave sends acknowledgment. After ACK I3C bus continues
with write, read or CCC command data. I3C master can choose to STOP (SCL
should be held high and SDA should go from low to high) or can give repeated
start after a transaction (by using host controller command).
6
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
1) Speed:
I²C supports a limited range of speeds. Hosts supporting the multi-
megabit speeds are rare. Support for the Fm+ 1 Mbps speed is more widespread,
since its electronics are simple variants of what is used at lower speeds. Many
devices do not support the 400 kbps speed. I²C nodes implemented in software
(instead of dedicated hardware) may not even support the 100 kbps speed. So,
the whole range defined in the specification is rarely usable. I3C speed is 12.5MHz
which is much faster compared to I2C speed modes. I3C provides raw bit rate of
12.5Mbps in the baseline SDR default mode. Since I3C is using strong pull up with
push pull mode for transaction gives high speed rate with power efficiency.
7
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
EEPROM 64K read operation time Raw Bitrate Mbps for I3C data
taken for I3C vs. I2C modes(@12.5MHz)vs(@400KHz)
1.6 45
40
Time taken(seconds)
frequency Modes
2) Dynamic addressing:
Static address is an issue in I2C devices. A given address may be
used by a number of different protocol-incompatible devices in various
systems, and hardly any device types can be detected at runtime. For example,
0x51 may be used by a 24LC02 or 24C32 EEPROM, with incompatible
addressing; or by a PCF8563 RTC, which cannot reliably be distinguished from
either (without changing device state, which might not be allowed). The only
8
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
3) Standard commands:
I2C does not have any standardized command. The commands used
for I2C are decided by different vendors. For example, Pressure sensor and
temperature sensors are having different command formats. But I3C has
standard CCC commands which are used to,
Enable and disable events on I3C bus.
To set/get maximum write and read lengths for data.
To assign the dynamic address or to reset/reassign the dynamic
address.
To enable activity states
To enable test modes
10
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
The process of activating such slaves into the bus is known as hot-
join. The hot-join feature enables the master to assign a dynamic address to
the slave when the request is made by the slaves. In I2C all these special
features needs separate GPIO pins which increase the power and area
requirement.
11
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
I3C Applications:
MIPI I3C is accepted in various industries because of its speed, power and
area efficiency. I2C is typically used to support multiple sensors but having
drawback in sensor interconnections. It increases the area requirement which
affects power and cost as well. I3C is an absolute solution for integrating sensors
with minimum number of connections, power and cost efficiency. I3C is used in
smart phones, virtual reality, robot drones, medical instruments, autonomous
vehicles, industrial equipments, all in one computers and TV remotes,
accelerometers, touch screens, time of flight cameras, sonic/ultrasonic sensors,
environmental sensors, near field communication, infrared or ultra violet sensing.
Automotive application
Biometric/Health
Mechanical/motion
sensor
Mobile systems
I3C IR,NFC,RGB
Applicatio
n
IOT
Computing
Embedded systems
12
Understanding of MIPI I3C protocol and usage for sensor, other
communication interface application
Summary:
MIPI I3C Basic is a subset of MIPI I3C that bundles the most commonly
needed I3C features for developers and other standards organizations. The
mobile ecosystem and broader system integrator community can efficiently use
these capabilities as an alternative to I 2C. MIPI I3C interface has been developed
to ease sensor system design architectures in mobile wireless products by
providing fast, low cost, low power digital interface for sensors. Implementing I3C
increases the flexibility mobile terminal system designers have to support an ever
expanding sensor subsystem as efficiently and at as low cost as possible. MIPI I3C
satisfies broad range of applications that extends beyond smart phones. Over
time MIPI I3C could conceivably become much more than a standardized sensor
interface and develop into a de facto bus communication standard for touch
sensing, always-on and low resolution cameras, acoustics, environmental sensors
and transducers that currently use I²C, SPI, UART and others.
References:
MIPI I3C Basic v1.0 Specification
Introduction to the MIPI I3C Standardized Sensor Interface (white paper series)
MIPI Webinar I3C Developer Guide 180207 PDF_0
A Developer’s Guide to MIPI I3C Implementation
MIPI Alliance Releases I3C Basic Interface Specification for Widespread Implementation
in Mobile and Beyond
Specification for I3C Host controller interface
13