Channels ▼
RSS

Design

An Architecture for In-Vehicle Infotainment Systems


System on a Chip Architecture

The first generation Intel-based IVI platform is based on the Intel Atom processor with extended functions. The processor and its companion I/O chip were repackaged to meet the extended temperature and low defects per million (DPM) requirements for automotive and embedded customers.

The Intel-based IVI platform addresses the challenges of getting to market quickly and easily differentiating car OEM products by allowing reuse from the ecosystem.

  • Includes all the legacy support that is required to run an OS like: connectivity to flash for boot firmware, the 8259 interrupt controller, I/O APIC, SMBus, GPIO, power management, real-time clock, and timers.
  • Includes all Intel-proprietary hardware blocks like: graphics/video, Intel High Definition Audio module, and so on.
  • Includes a scalable industry-standard PCI Express (PCIe) interconnect
  • Allows third-party vendors to focus on building many different flavors of I/O hubs using standard "jelly-beans" (the standard input/output functions) from external companies.
  • The Intel-based IVI platform is architected in such a way that the functionality in the SoC partition will be a common denominator across all OEMs, including the associated platform firmware, also known as the BIOS or boot loader.
  • All automotive-specific I/O functionality follows the PCIe add-on card model without requiring any platform changes but a set of device drivers for the target OS. Alternatively, the same software transparency can be achieved through the USB and SDIO interfaces plug-in device model as well.

We see more opportunities than challenges in this context. The SoC being designed for the Intel-based IVI platform is flexible enough that a car OEM can enable multiple variations of products to cater to different end-user needs and cost structures and not require major reworking of software.

Figure 4: Intel-based IVI platform hardware architecture and directions

Platform Boot Solution

Users expect an instant power-on experience, similar to that of most consumer appliances like TV. To meet the same expectation, one of the key requirements of the Intel-based IVI platform is sub-second cold boot times to help facilitate this user experience when the ignition is turned on. The typical boot latencies are as illustrated in Figure 5.

Figure 5: Intel-based IVI platform boot latencies

For an Intel-based IVI platform, multiple types of OS boot loaders shall be supported for various operating systems as follows:

  • ACPI-compliant UEFI BIOS with an EFI OS boot loader (such as eLilo). This is typically used with after-market products that may run embedded versions of a shrink-wrap OS such as Standard Embedded Linux or Windows XPe that requires PC compatibility and is readily available from the by BIOS vendors or original device manufacturers (ODMs). This solution provides the most flexibility for seamless addition of I/O, but at the expense of higher boot latencies. Many of the initialization sequences in the boot path are optimized to reduce the latencies significantly in the order of 5-10 seconds.
  • Embedded OS boot loader. This is the highly optimized solution for an Intel-based IVI platform for low boot the functions on the SoC. This solution is meant to work with an OS that does not rely on the PC BIOS compatibility, such as an embedded OS and some variants of Linux. The boot latencies are achieved at the expense of giving up flexibility of seamless support for new I/O hardware outside the fixed function SoC, during the OS pre-launch environment. However, any such I/O will still be enabled in the OS through appropriate device driver software.

Traditional platforms typically have boot latencies of about 10-40 seconds before the HMI is activated. Getting this HMI active latency down to 5-6 seconds with an active splash screen in <500 ms was a big challenge. To reduce time to market and product development cost, it was highly desired to make the same boot firmware and OS solution scale across different car OEM platforms with varying topology, but based on the same SoC core. Many optimizations were done, to both the BIOS and boot loader solutions from the norm, to fit into an Intel-based IVI platform, the key being the reordering and early initialization of user-visible I/O like display activation, initial program load (IPL) boot menus, enabling processor cache usage at boot as high speed RAM, and so on.

The need for a boot solution that is low cost, has a smaller footprint, offers low boot latencies, and is platform-agnostic is an exciting opportunity for ISVs and OSVs. This also creates opportunities for car OEMs to provide creative solutions with their own IP, to make their products competitive and unique. In addition, there is an opportunity for the device vendors to provide hardware IP that are self-initializing, thereby relieving the boot software from doing the same and giving back some time to improve latencies, such as initializing and activating the CAN interface. The challenge that remains to be addressed is a single solution that can boot both shrink-wrap OS requiring PC compatibility and embedded OS, but with the flexibility of allowing platform differentiation and low boot latencies. There are opportunities for the OS vendors to come up with innovative optimizations within the OS boot flows, such as replacing graphics hardware initialization in firmware with early OS initialization for the same.

Figure 6: Firmware architecture model

Graphics

The most compelling advantage to using an Intel architecture platform as the basis for IVI is the ability to repurpose familiar desktop/mobile applications without substantial development. An Intel-based IVI platform includes an Intel Graphics Media Accelerator 500 series graphics controller with supported drivers for Linux, Windows XP and Windows CE operating systems, with frequencies of 200-400 MHz, fill rates of 400-800 Mpixels/sec and 3DMark'05 of 130 and up. High-level industry standard APIs such as OpenGL, OpenGL ES, and D3D are available to support a wide range of application development opportunities. By using a graphics device with full support for desktop operating systems and industry standard APIs, an Intel-based IVI platform makes it easy to develop custom human machine interfaces and to integrate applications familiar to the Intel architecture system user. Two significant challenges are faced when using shrink-wrap operating systems on the an Intel-based IVI platform. First, the user expects to be presented with an appealing graphics display as early as possible after turning the key and second, the user expects the familiar applications to perform with reasonable speed while the hardware is optimized for low power consumption.

Boot time display has been addressed on the Intel-based IVI platform using three technologies to ensure an immediate and stable graphics display.

  • Splash Screen: The platform boot firmware is enabled with a tuned graphics driver with the ability to present a static splash screen or video from a backup camera within 400 ms from power on.
  • Seamless Display: A technology whereby the splash screen image and display mode are retained by the graphics driver during initialization.
  • Operating System Suppression: Shrink-wrap operating systems such as Linux should not be allowed to display during the boot process. Any intermediate mode changes or partially rendered graphics are avoided. The Intel-based IVI platform OS drivers instead maintain the splash screen until the full human machine interface is rendered and immediately does a flip from the splash screen to the final intended interface.

These three technologies combined provide an immediate and appealing graphics display that remains viewable without glitches from mode setting until the full HMI is available. Never is the user presented with a partial or unstable display as is commonplace in desktop or mobile boot processes.

The second challenge is that the Intel-based IVI platform hardware is optimized for low power consumption. The graphics capabilities must be chosen such that the performance level is an appropriate match for the applications used. This problem is exacerbated when using desktop applications that may be poorly tuned for low power systems. This challenge is overcome by taking special care to choose applications that are well suited for the hardware platform. Combining applications from software stacks such as Moblin, Windows CE, or Neutrino will help to minimize the investment cost for the OEM, as those applications have been optimized for low power platforms by design.

The human machine interface options that are made available by using a common set of graphics APIs is greatly increased thereby giving each OEM significant room for differentiation. The application stack can be developed and debugged in a full desktop environment with full access to familiar debuggers and tool chains and then needs only to be tuned for the Intel-based IVI platform. This development methodology reduces time to market for the OEM. Additionally, by using industry standard APIs, the application software can be reused and extended to future platforms with minimal rework.

Display

The Intel-based IVI platform hardware comes equipped with a flexible display controller capable of supporting a wide range of display devices. The display controller supports two fully independent display pipelines. One display pipeline connects to LVDS displays ranging from VGA-sized 640x480 to full high-definition video at 1080p. The second display pipeline uses the sDVO protocol to connect to an independent display encoder; sDVO display encoders are available supporting LVDS, VGA, DVI, HDMI, or analog TV. The capabilities of the Intel-based IVI platform hardware platform are a good match for the in-car use models using both front- and rear-seat entertainment.

Video

Intel-based IVI platform graphics drivers will have support for hardware acceleration of video decode for the following standards: MPEG2, MPEG4, H.264, VC1, through a set of OS-specific APIs. This feature will allow the platform to decode high-quality video content such as Blu-Ray for rear-seat entertainment without exhausting the CPU resources on the platform. In this manner the platform will enable rear-seat entertainment without sacrificing the usability of the in-dash HMI or navigation applications.

Audio

The Intel High Definition Audio Specification describes a new audio hardware architecture that has been developed as the successor to the Intel AC '97 codec and controller specification. The audio system will also support a distributed digital audio infrastructure such as Media Oriented Systems Transport (MOST).

The Intel-based IVI platform HD Audio architecture provides a uniform programming interface for digital audio controllers, enabled through a standard-based register set that is uniform across all implementations. The HD audio is one of the technologies that is a simple adoption from other Intel architecture-based platforms and will take advantage of the huge ecosystem built around it, such as software and codecs.

The HD audio supports up to eight simultaneous audio channels with each channel in turn supporting a variety of audio codecs, such as Dolby Digital 5.1. This architecture fits very naturally because of the automotive usage model of having multiple audio sources and synchronizes well with various combinations of audio mixing and separation options such as streaming audio over to the front and rear passenger with one supporting a hands-free phone/headset, while the rear entertainment system is playing back a Blu-Ray audio track coupled with the dual independent displays.

Having the capability to support 8 audio channels on the Intel-based IVI platform creates an opportunity for the OEM to harness the richness of this environment and innovate with new products. We can only imagine the possibilities of different usage models with multiple audio stream sources, mixing, and destinations throughout the automobile.

Generic I/O

Generic I/O typically refers to the I/O fabric and devices that are required for running a general purpose OS. This includes a set of devices and I/O fabric falling into the following categories: memory controller, video decoder, graphics engine, HD audio bus interface; display; I/O fabric, and the compatibility I/O block as shown in Table 1. In the Intel-based IVI platform architecture, these are integrated as part of the SoC silicon. Various implementations of the Intel-based IVI platform may move some of this functionality in and out of the SoC for ease of design and to allow more flexibility. However, the software model will be agnostic to this physical partitioning and is the key benefit of the Intel-based IVI platform architecture.

Automotive I/O

This is the key variable component of the Intel-based IVI platform architecture, which is specific to each car OEM. The Intel-based IVI platform allows this extended functionality through an add-on PCIe device model, which may be attached to a daughter card type module. The same OEM may have different versions of this add-on module, for their low-end to value-line products. As outlined in this article, enabling of any of the I/O functionality does not require SoC hardware or firmware changes, but an incremental inclusion of device drivers for the extended PCIe device functions on the target OS. This hardware and software model lends itself to a highly scalable platform. The current generation Intel-based IVI platform includes a standard set of core automotive I/O like MOST, CAN, SPI, Bluetooth, SDIO, Ethernet, radio tuner, video capture for cameras, GPS/GRYO, digital TV, and the Apple iPod interface.

One of the key technology areas that is evolving is that of the connected vehicle with many compelling applications through WiFi, Wi-Max/3G/4G connectivity. Some of the interesting applications that might be developed and enabled are: social networking, services like local search (POI), real-time traffic, imagery collections, Web search, widgets, and so on.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video