MIPI Released an Update to I3C Standard to Provide Support for Sensors in IoTFebruary 17, 2020 by Robin Mitchell
MIPI Alliance, Inc. has released an update to its I3C standard to provide better support for sensors in IoT applications.
With the rise of sensors into IoT technologies and the need to integrate multiple peripherals, technologies such as I2C and SPI are beginning to lack. To add to this trend, a company named MIPI Alliance, Inc. has released an update to its I3C standard to provide better support for sensors in IoT applications.
I2C and SPI
While there are many bus technologies and serial protocols available to engineers, two common ones used for sensor technologies are I2C and SPI.
I2C is a bus technology that focuses on signal count reduction only requiring two wires; one for clock and one for data. Devices on an I2C bus are split into a master or slave whereby master devices control the bus, sending and requesting data, while slaves respond to commands from the master device.
Since the I2C bus is common to all connected devices with no device select lines, special commands are sent from the master which selects a specific device and these extra command bytes slow down data rates.
SPI is a bus technology that focuses on speed over simplicity. It requires individual device control signal wires and a separate line for data to go in and out, which means each device has four data signals.
While the clock and data lines can be shared amongst multiple SPI slave devices, the device select line cannot. This means that a microcontroller that needs to connect to four different devices would need an additional four GPIO (general-purpose input/output) for selecting the devices.
The demands on IoT devices are increasing which is puts pressure on designers to improve their products. This has resulted in the integration of cameras, microphones, and a wide range of other peripherals for both monitoring their environment as well as controlling it.
The Mobile Industry Processor Interface Alliance, or MIPI, has created a new bus protocol, called I3C, which is a mix between SPI and I2C. The idea behind I3C was to improve and build upon I2C while still keeping backward compatibility to allow designers to use the same bus with older sensors and peripherals.
The main objectives of I3C include
- Reduced pin count of SPI by using the two-wire I2C method
- Very low power
- CMOS I/O physical layer
- Low EMI to help with EMC regulations
- Higher data rates with multiple data rate options
The biggest change between I2C and I3C is the speed increase which saw the standard speed rate set to 12/5Mbps. I3C also allows for multiple speed settings (which are signaled by the master) which can take advantage of either double data rate (where data is transferred on both edges of the clock) or a ternary symbol whereby both the clock and data lines are used to transmit data bits.
Diagram of MIPIs control and data specifications for the I3C. View the full image here. Image used courtesy of MIPI.
I3C to Include Efficient Sensory Communication and Additional Data Channels
Other changes that I3C incorporate include dynamic address assignment, error detection and recovery, multiple master operation, command queue, and in-band interrupts using the serial bus as opposed to using separate INT pins.
MIPI has released a new version of I3C, called I3C V1.1, which changes the specification to improve sensory communication. The first change that MIPIS announced made was that the new revision has a lower pin count but this is not clearly explained as I3C and I2C already use two pins as their lowest requirement.
The new revision allows for extra bus lanes which can provide additional data channels. Another change made to the I3C protocol is the large increase in speed from 10-20Mbps to 100Mbps.
Such a change in speed can be highly beneficial to applications such as drones which may incorporate multiple cameras for 360° vision. The new revision allows for a wide range of new potential applications including server management, always-on imaging, sensor device command, touchscreens, and power management.
The new I3C bus technology will change the peripheral field by providing designers and engineers with an I2C bus, that also offers speeds similar to SPI.
The ability for simple devices to stream imagery data from cameras in real-time while reading sensors will greatly increase their capabilities without having to increase their CPU specs which can help to make devices cheaper and easier to manufacture.
This is still a young technology that is yet to be implemented in many common microcontrollers. Do you think this will be the next-generation bus technology?