UniPro (or Unified Protocol) is a high-speed interface technology for interconnecting integrated circuits in mobile and mobile-influenced electronics. The various versions of the UniPro protocol are created within the MIPI Alliance (Mobile Industry Processor Interface Alliance), an organization that defines specifications targeting mobile and mobile-influenced applications.
The UniPro technology and associated physical layers aim to provide high-speed data communication (gigabits/second), low-power operation (low swing signaling, standby modes), low pin count (serial signaling, multiplexing), small silicon area (small packet sizes), data reliability (differential signaling, error recovery) and robustness (proven networking concepts, including congestion management).
UniPro version 1.6 concentrates on enabling high-speed point to point communication between chips in mobile electronics. UniPro has provisions for supporting networks consisting of up to 128 UniPro devices (integrated circuit, modules, etc.). Network features are planned in future UniPro releases. In such a networked environment, pairs of UniPro devices are interconnected via so-called links while data packets are routed toward their destination by UniPro switches. These switches are analogous to the routers used in wired LAN based on gigabit Ethernet. But unlike a LAN, the UniPro technology was designed to connect chips within a mobile terminal, rather than to connect computers within a building.
History and aims The initiative to develop the UniPro protocol came forth out of a pair of research projects at respectively Nokia Research CenterNokia's Discobus research project, led by Michel Gillet and Philips Research.The MICA (Mobile Interconnect-Centric Architectures) project, led by Peter van den Hamer, started within Philips but later became, via NXP, part of ST-Ericsson. Both teams independently arrived at the conclusion that the complexity of mobile systems could be reduced by splitting the system design into well-defined functional modules interconnected by a network. The key assumptions were thus that the networking paradigm gave modules well-structured, layered interfaces and that it was time to improve the system architecture of mobile systems to make their hardware- and software design more modular. In other words, the goals were to counteract the rising development costs, development risks and time-to-market impact of increasingly complex system integration.
In 2004, both companies jointly founded what is now MIPI's UniPro Working Group. Such multi-company collaboration was considered essential to achieve interoperability between components from different component vendors and to achieve the necessary scale to drive the new technology.
The name of both the working group and the standard, UniPro, reflects the need to support a wide range of modules and wide range of data traffic using a single protocol stack. Although other connectivity technologies (SPI, PCIe, USB) exist which also support a wide range of applications, the inter-chip interfaces used in mobile electronics are still diverse which differs significantly from the (in this respect more mature) computer industry.
In January 2011, UniPro Version 1.40UniPro 1.40.00 Specification, requires an account at the MIPI website was completed. Its main purpose is full support for a new Physical Layer: M-PHY including support for power modes change and peer device configuration. In July 2012 UniPro v1.40 has been upgraded to UniPro v1.41UniPro 1.41.00 Specification , requires an account at the MIPI website to support the newer higher speed M-PHY v2.0.M-PHY v2.0 Specification, requires an account at the MIPI website The UniPro v1.4x specifications have been released together with a formal specification model (SDL).
The final draft of Version 1.6UniPro 1.60.00 Specification, requires an account at the MIPI website of the UniPro specification was completed in August 2013. Its acknowledgements list 19 engineers from 12 companies and organizations: Agilent, Cadence, IEEE-ISTO, Intel, nVidia, Nokia, Qualcomm, Samsung, STMicroelectronics, Synopsys, Texas Instruments and Toshiba. The UniPro v1.6 Specification is an update to the UniPro v1.41.00 Specification, and consists solely of the UniPro specification document, SDL is no longer supported. The UniPro v1.6 Specification references the following documents: Specification for M-PHY, Version 3.0M-PHY v3.0 Specification , requires an account at the MIPI website Specification for Device Descriptor Block (DDB), Version 1.0
To date, several vendors have announced the availability of UniPro IP blocks and various chip suppliers have created implementations that are at various phases of development. In the meantime, the MIPI UniPro Working Group is setting up a conformance test suiteMIPI Alliance Specification for UniPro v1.4 Testing, requires an account at the MIPI website and is preparing future extensions of the technology (see UniPro Versions and Roadmap).
On January 30, 2018, JEDEC published the UFS 3.0 standard which uses MIPI M-PHY v4.1 (with HS-Gear4) and MIPI UniPro v1.8 for mobile memory with data rates up to 2900 MB/s (11,6 Gbit/s per lane, 2 lanes, 23,2 Gbit/s total).
Main features gigabit/s - serial technology with a number of bandwidth scaling options generic - can be used for a wide range of applications and data traffic types scalable - from individual links to a network with up to 128 UniPro devices low-power - optimized for small battery-powered systems reliability - data errors detected and correctable via retransmission hardware friendly - can be implemented entirely in hardware where needed software friendly - similar concepts to familiar network technologies bandwidth utilization - provides features to manage congestion and control arbitration shareable - different traffic types and UniPro devices can share pins and wires testable - since version 1.1, UniPro mandates features to facilitate automated conformance testing
Layered architecture
UniPro associated with its underlying PHY layer is a layered protocol stack that covers layers L1 to L4 of the OSI Reference Model for networking. UniPro introduces an extra layer L1.5 between L1 and L2 which can be regarded as a sub-layer of OSI's layer L1.
Multiple applications UniPro's strict layering enables it to be used for a wide range of applications: UFS:JEDEC UFS Universal Flash Storage Universal Flash Storage. Next generation mass storage devices specified by JEDEC with a support for data throughput of up to 300 MB/sec, in the first generation, and support command queuing features to raise the random read/write speed. CSI-3: 3rd generation MIPI Camera Serial Interface features a scalable high bandwidth interface, a guaranteed data transmission and a command set for basic component initialization and configuration. GBT: MIPI Gigabit Trace. A network independent protocol for transporting trace data over high-speed interfaces such as UniPort-M or USB3.0. DSI-2: 2nd generation MIPI Display Serial Interface. PIE:MIPI Alliance Specification for Processor Interface Emulation (PIE) v0.90.00, requires an account at the MIPI website Processor Emulation Interface. This application protocol conveys traditional memory-based read/write transactions as found on processor busses. Data streaming applications (e.g. multimedia traffic), command/response-type protocols (e.g. for control), and tunneling of popular protocols from other domains (e.g. TCP/IP) are also supported and specifically encouraged because they tend to increase system-level modularity and interoperability due to their higher abstraction level. UniPort-M (UniPro with M-PHY): Enables general purpose extension interface to connect peripheral devices such as graphic accelerators, modules such as Google's ARA Project UniPort-D (UniPro with D-PHY) : Enables general purpose extension with D-PHY, note that D-PHY is not a supported physical layer for UniPro beyond UniPro specification v1.41
Alternative physical layers UniPro's layered architecture also allows it to support multiple physical layer (L1, PHY) technologies even within a single network. This is analogous to TCP/IP which can run on a wide range of lower-layer technologies. In the case of UniPro, two PHY technologies are supported for off-chip use.
UniPorts These PHY technologies are covered in separate MIPI specificationsMIPI D-PHY 1.00 specification , requires an account at the MIPI websiteMIPI Specification for M-PHY version 1.00.00 , requires an account at the MIPI website (which are referenced by the UniPro specification. Note that the term UniPort is used to represent the actual port on a chip which conforms to the UniPro specification for its upper layers (L1.5 to 4) and a MIPI PHY specification for L1. As there are two PHY technologies, these are respectively known as UniPort-D (UniPro with D-PHY) and UniPort-M (UniPro with M-PHY).
Phased roadmap
The UniPro 1.0 specificationMIPI Alliance Standard for Unified Protocol v1.00.00 (UniProSM) , requires an account at the MIPI website was approved by the MIPI Board of Directors on January 14, 2008. UniPro 1.1,UniPro 1.10 spec, requires an account at the MIPI website that was completed in July 2009, aims to improve readability, provides a reference model (in SDL) for two of the four UniPro protocol layers, and provides features to facilitate automated conformance testing.
The architects designing UniPro intended from the start to release the technology as a step-wise roadmap with backward compatibility. UniPro 1.1 is designed to be fully backwards compatible with UniPro 1.0. The main purpose of UniPro 1.40 and UniPro v1.41 (UniPro v1.4x) is to support an additional physical layer, the M-PHY. Furthermore, UniPort-M features local and remote control of a peer UniPro device that can be used for example to control various supported power modes of the link. Planned roadmap steps beyond UniPro v1.4x aim to provide specifications for network-capable endpoint and network switch devices.
The UniPro v1.6 Specification was designed to ensure interoperability with UniPro v1.41.00 when using the M-PHY physical layer. As D-PHY is no longer supported on v1.60, backwards compatibility for D-PHY operation cannot be maintained.
Scope and applicability UniPro and its underlying physical layer were designed to support low power operation needed for battery-operated systems. These features range from power-efficient high-speed operation to added low-power modes during idle or low bandwidth periods on the network. Actual power behavior is, however, highly dependent on system design choices and interface implementation.
The UniPro protocol can support a wide range of applications and associated traffic types. Example chip-to-chip interfaces encountered in mobile systems: Mass storage file transfer : 6 Gbit/s 24M pixel camera @30fps : 9 Gbit/s Chip-to-chip connectivity: 1 Gbit to 24 Gbit/s
Note that such applications require an application protocol layer on top of UniPro to define the structure and semantics of the byte streams transported by UniPro. These can be done by simply porting existing data formats (e.g. tracing, pixel streams, IP packets), introducing new proprietary formats (e.g. chip-specific software drivers) or defining new industry standards (e.g. UFS for memory-like transactions).
Applications which are currently believed to be less suitable for UniPro are: low-bandwidth control - unless multiplexed with other traffic (concern: UniPro complexity is much higher than e.g. I2C) high-quality audio samples (concerns: UniPro does not distribute a shared clock to all devices; UniPro complexity compared to e.g. SLIMbus or I2S) interfaces to dynamic memory (concern: latency for processor instruction/data fetch)
Versions and roadmap