Jump to content

UniPro: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 40: Line 40:


===Multiple applications===
===Multiple applications===
UniPro's strict layering enables it to be used for a wide range of applications. The first '''application protocols''' designed to run over UniPro is MIPI's "PIE". 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.
UniPro's strict layering enables it to be used for a wide range of applications. The first '''application protocols''' designed to run over UniPro is MIPI's "[[MIPI_PIE|PIE]]". 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.


===Alternative physical layers===
===Alternative physical layers===

Revision as of 13:20, 6 April 2010

UniProSM (or Unified Protocol) is a high-speed interface technology for interconnecting integrated circuits in mobile phones or comparable products. The various versions of the UniPro standard are created within the MIPISM Alliance, an open standards development organization with over 150 member companies, mainly from the mobile handset industry.

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 versions 1.0, 1.1 and 1.4 concentrate on enabling high-speed communication between pairs of chips in mobile phones, but has provisions for supporting networks consisting of up to 128 UniPro devices (integrated circuit, modules, etc) in a planned future release. 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.

Schematic representation of a UniPro network connecting UniPro devices and circuit boards
Laboratory prototype of UniPro running on the D-PHY physical layer

History and Aims

The initiative to develop the UniPro standard came forth out of a pair of research projects at respectively Nokia Research Center[1] and Philips Research[2]. Both teams independently arrived at the conclusion that the complexity of complex mobile systems could be reduced by splitting the system design into well-defined functional modules interconnected by a network. The key assumptions here 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 computing technologies (SPI, PCI, USB) exist which also support a wide range of applications, it should be noted that the inter-chip interfaces in the mobile device industry are still generally proprietary and very diverse. This situation thus differs significantly from the (in this respect more mature) computer industry.

The final draft of Version 1.1[3] of the UniPro specification was completed in July 2009. Its acknowledgements list 42 engineers from 15 companies and organizations: Arasan, Broadcom, Freescale, IEEE-ISTO[4], Infineon, Motorola, Nokia, NXP, Qualcomm, Research in Motion, ST-Ericsson, St. Petersburg University, Testronic Laboratories, Texas Instruments, and Toshiba. In February 2010, a special draft of Version 1.4[5] was completed that is intended to serve are a technology preview of primarily the M-PHY support planned for the next major release. Version 1.4 will not be formally released, and is thus not intended for implementation.

To date, several vendors[6][7][8] 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 has been setting up a conformance testing program[9] and preparing future extensions of the technology (see UniPro Versions and Roadmap).

Main features

  1. gigabit/s - serial technology with a number of bandwidth scaling options
  2. generic - can be used for a wide range of applications and data traffic types
  3. scalable - from individual links to a network with up to 128 UniPro devices
  4. low-power - optimized for small battery-powered systems
  5. reliability - data errors detected and correctable via retransmission
  6. hardware friendly - can be implemented entirely in hardware where needed
  7. software friendly - similar concepts to familiar network technologies
  8. bandwidth utilization - provides features to manage congestion and control arbitration
  9. shareable - different traffic types and UniPro devices can share pins and wires
  10. testable - since version 1.1, UniPro mandates features to facilitate automated conformance testing

Layered architecture

UniPro 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 sublayer of OSI's layer L1.

Multiple applications

UniPro's strict layering enables it to be used for a wide range of applications. The first application protocols designed to run over UniPro is MIPI's "PIE". 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.

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 specifications[10] (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 (current technology) and UniPort-M (currently available only in draft status).

Phased roadmap

The UniPro 1.0 specification[11] was approved by the MIPI Board of Directors on January 14 2008. UniPro 1.1[3] , that was completed in July 2009, aims to improve readability, provides reference code (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. It is anticipated that later versions of UniPro require bridging logic to interoperate with UniPro 1.0/1.1 components.

Planned roadmap steps beyond 1.1 aim to respectively provide the full spec for UniPro devices (network-capable without any additional bridging) and to define the details of network switches.

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:

Application Gbit/s Description
PC file transfer 5 USB 3.0 dual simplex
processor trace (for debugging) 4.0 two 400 MHz processors, 4 bit/cycle/processor, some overhead
raw camera imaging 1.5 8 MPixel, 12 bit/pixel, 15 frame/s
inter-processor messaging 1.0 40 byte messages @ 100 μs round-trip latency
PC file transfer 0.5 USB 2.0 high-speed interface
raw display data 0.4 24-bit VGA display at 50 Hz
inter-processor memory space sharing 0.3 updating 3D mesh at 2 Mtriangle/s, 12 bit, 32-bit address space
WLAN 0.1 802.11n
cellular modem 0.1 LTE technology
compressed video 0.04 HD 1080p H.264 30 frame/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. PIE 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

Version Text freeze Formal release Description Pages[12]
UniPro 0.80.00 6 September 2006 26 February 2007 Technology preview of UniPro 1.0 192
UniPro 1.00.00 25 August 2007 14 January 2008 Limited changes compared to UniPro 1.0. All the basics for a chip-to-chip link via the D-PHY 202
UniPro 1.10.00 29 July 2009 22 January 2010 "Hardened": formal reference models for 2 protocol layers; readability and testability improvements 251+117[13]
UniPro 1.40.00 17 February 2010 Not planned "M-PHY": support for a new physical layer technology (partial preview of next release) 301+498[13]
future release t.b.d. t.b.d. "Endpoint": fully networkable endpoint support (including inband configuration protocol) ?
future release t.b.d. t.b.d. "Switches": network switches ?

Protocol stack architecture

The UniPro protocol stack follows the classical OSI reference architecture (ref). For practical reasons, OSI's Physical Layer is split into two sublayers: Layer 1 (the actual physical layer) and Layer 1.5 (the PHY Adapter layer) which abstracts from differences between alternative Layer 1 technologies.

UniPro protocol stack (this color coding is a long-standing UniPro tradition)
Layer # Layer name Functionality Data unit name
LA Application Payload and transaction semantics Message
4 Transport Ports, multiplexing, flow control Segment
3 Network Addressing, routing Packet
2 Data link Single-hop reliability and priority-based arbitration Frame
1.5 PHY adapter Physical layer abstraction and multi-lane support UniPro symbol
1 Physical layer (PHY) Signaling, clocking, line encoding, power modes PHY symbol

The UniPro specification itself covers Layers 1.5, 2, 3, and 4. The Application Layer (LA) is out of scope because different uses of UniPro will require different LA protocols. The Physical Layer (L1) is covered in separate MIPI specifications in order to allow the PHY to be reused by other (less generic) protocols if needed.

Note that OSI Layers 5 (Session) and 6 (Presentation) are, where applicable, counted as part of the Application Layer.

The various layers and their features are described in more detail on a dedicated Wikipedia page.

Discussion of value proposition

UniPro and system integration

UniPro is specifically targeted by MIPI to simplify the creation of increasingly complex products. This implies a relatively long-term vision about future handset architectures composed of modular subsystems interconnected via stable, standardized, but flexible network interfaces. It also implies a relatively long-term vision about the expected or desired structure of the mobile handset industry, whereby components can readily interoperate and components from competing suppliers are to some degree plug-compatible.

Similar architectures have emerged in other domains (e.g. automotive networks, largely standardized PC architectures, IT industry around the Internet protocols) for similar reasons of interoperability and economy of scale. It is nevertheless too early to predict how rapidly UniPro will be adopted by the mobile phone industry.

High bandwidth and costs

High speed interconnects like UniPro, USB or PCI Express typically cost more than low speed interconnects (e.g. I2C, SPI or simple CMOS interfaces). This is for example because of the silicon area occupied by the required mixed-signal circuitry (Layer 1), as well as due to the complexity and buffer space required to automatically correct bit errors. UniPro's cost and complexity may thus be an issue for certain low bandwidth UniPro devices.

Note that Unipro 1.1[3] provides a new option to reduce buffering costs in basic devices which do not require dual priority levels for user data. Similarly the M-PHY specification plans to provide another cost-down option by allowing medium-speed UniPro devices to implement only a medium-speed subset of the M-PHY.

Adoption rate

As Metcalfe[14] postulated, the value of a network technology scales with the square of the number of devices which use that technology. This makes any new cross-vendor interconnect technology only as valuable as the commitment of its proponents and the resulting likelihood that the technology will become self-sustaining. Although UniPro is backed by a number of major companies (including market leader Nokia[15]), it will take a few more years before it is clear whether or not the technology becomes successful. Although the UniPro incubation time is more or less in line with comparable technologies (USB, Internet Protocol, Bluetooth, in-vehicle networks), adoption rate is presumed to be main concern about the technology - especially because the mobile industry has virtually no track record on hardware standards which pertain to the internals of the product.

Availability of application protocols

Interoperability requires more than just alignment between the peer UniPro devices on protocol layer L1-L4: it also means aligning on more application-specific data formats, commands and their meaning, and other protocol elements. This is a known intrinsically unsolvable problem in all design methodologies: you can agree on standard and reusable "plumbing" (lower hardware/software/network layers), but that doesn't automatically get you alignment on the detailed semantics of even a trivial command like ChangeVolume(value) or the format of a media stream.

Practical approaches thus call for a mix of several approaches:

  • If the previous generation interconnect worked, there was some kind of solution. Consider reusing/tunneling/porting it with minimal changes.
  • There are many reusable application-specific industry standards (like commands to control a radio, audio formats, MPEG).
  • Tunnel major technologies over UniPro. If you interact with the IP world, it is sensible to provide IP-over-UniPro.
  • Use application-specific software drivers. This only works for limited data rates and pushes the interoperability problem into an internal software interoperability problem, but is a well understood approach.
  • Turn existing software interfaces into protocols. In some cases the transformation can be simple or even automated[16] if the original APIs have the right architecture.

Licensing

The Membership Agreement[17] of the MIPI Alliance[18] specifies the licensing conditions for MIPI specifications for member companies. Royalty-free licensing conditions apply within the main target domain of the MIPI Alliance, mobile phones and their peripherals, whereas RAND licensing conditions apply in all other domains.

See also

References and footnotes

  1. ^ Nokia's Discobus research project, lead by Michel Gillet
  2. ^ The MICA (Mobile Interconnect-Centric Architectures) project, lead by Peter van den Hamer, started within Philips but later became, via NXP, part of ST-Ericsson.
  3. ^ a b c UniPro 1.10 spec, requires an account at the MIPI website
  4. ^ IEEE-ISTO provides program management and infrastructural support for the MIPI Alliance.
  5. ^ UniPro 1.40 Draft spec, requires an account at the MIPI website
  6. ^ Arasan Chip Systems, UniPro IP vendor
  7. ^ DICE, UniPro IP vendor
  8. ^ Inomize, UniPro IP vendor
  9. ^ [1], UniPro conformance testing program
  10. ^ MIPI D-PHY 0.90 specification,requires an account at the MIPI website
  11. ^ UniPro 1.00 spec, requires an account at the MIPI website
  12. ^ The underlying Physical Layer technology is not included in the page count.
  13. ^ a b page count of the normative document on SDL State Machines
  14. ^ Metcalfe's law, postulates that the value of a network is proportional to the square of the number of users
  15. ^ Wikipedia page on Nokia containing market share info, updated regularly
  16. ^ NoTA, messaging protocol and library
  17. ^ MIPI Membership Agreement, November 1, 2006
  18. ^ MIPI Alliance web site