Monthly Archives: March 2013
Automotive infotainment systems: Open source drives innovation
The speed of innovation in automotive IVI is making a lot of heads turn. No question, Linux OS and Android are the engines for change.
The open source software movement has forever transformed the mobile device landscape. Consumers are able to do things today that 10 years ago were unimaginable. Just when smartphone and tablet users are comfortable using their devices in their daily lives, another industry is about to be transformed. The technology enabled by open source in this industry might be even more impressive than what we’ve just experienced in the smartphone industry.
The industry is automotive, and already open source software has made significant inroads in how both driver and passenger interact within the automobile. Open source stalwarts Linuxand Google are making significant contributions not only in the user/driver experience, but also in safety-critical operations, vehicle-to-vehicle communications, and automobile-to-cloudinteractions.
Initially, automotive OEMs turned to open source to keep costs down and open up the supply chain. In the past, Tier 1 suppliers and developers of In-Vehicle Infotainment (IVI) systems would treat an infotainment center as a “black box,” comprised mostly of proprietary software components and dedicated hardware. The OEM was not allowed to probe inside, and had no ability to “mix and match” the component parts. The results were sometimes subquality systems in which the automotive OEM had no say, and no ability to maintain. With the advent of open source, developers are now not only empowered to cut software development costs, but they also have control of the IVI system they want to design for a specified niche. Open source software, primarily Linux and to some extent Android, comprises open and “free” software operating platforms or systems. What makes Linux so special are the many communities of dedicated developers around the world constantly updating the Linux kernel. While there are many Linux versions, owned by a range of open source communities and commercial organizations, Android is owned and managed exclusively by Google.
To understand the automotive IVI space, it’s best to look at the technology enabled by Linux and what Android’s done to further advance automotive multimedia technology.
Linux OS – untapped potential at every turn
There are many standards bodies and groups involved in establishing Linux in the automobile – not just in IVI, but in navigation, telematics, safety-critical functions, and more. The Linux Foundation, a nonprofit organization dedicated to the growth of Linux, recently announced the Automotive Grade Linux (AGL) workgroup. The AGL workgroup facilitates widespread industry collaboration that advances automotive device development by providing a community reference platform that companies can use for creating products. Jaguar Land Rover, Nissan, and Toyota are among the first carmakers to participate in the AGL workgroup.
Another Linux initiative, the GENIVI Alliance, was established to promote the widespread adoption of open source in IVI. The goal behind GENIVI is to allow collaboration among automakers and their suppliers across a single unified ecosystem, to streamline development, and keep costs down. The organization has flourished since its formation in 2009, and today it has more than 165 members. The GENIVI base platform (Mentor Embedded is compliant with version 3.0) accommodates a wide range of open source building blocks demanded by today’s developers.
Linux has further opened up the possibilities with safety-critical operations and multimedia communications. Hardware companies have followed suit with more IVI functions built onto a single piece of silicon, improving security and performance.
The available power of multicoreSoC hardware hosting a Linux operating system is fueling rapid expansion in vehicle software in the area of telematics. In Europe, for example, by 2015, all new cars must be equipped with the eCall system, to automatically alert emergency services in the event of a collision. Services such as insurance tracking, stolen vehicle notification, real-time cloud data (traffic, weather, road conditions ahead), car-to-car communication, driverless car, diagnostics, and servicing are also made available via in-car Internet services. To operate in this space, IVI hardware needs to have multicore processor support, GPU/high-performance graphics with multiple video outputs, Internet connectivity, and compatibility with existing in-car networks such as CAN, MOST, and AVB. Several components are already on the market, and the future potential is exciting.
Consolidating multiple functions into a single Linux-based Electronic Control Unit (ECU) allows for a reduction in component count, thereby reducing overall vehicle costs. Maintenance becomes easier. And the wire harness costs are reduced as the total ECU count drops. As Linux becomes more widespread in vehicles, additional technologies will consolidate – for example, instrument clusters and AUTOSAR-based ECUs may coexist with infotainment stacks. It’s also important to realize that the complexity of software and the amount of software code used will only increase as these new technologies become standard. Already more than 100 million lines of code are used in the infotainment system of the S-Class Mercedes-Benz and according to Linuxinsider.com, and that number is projected to triple by 2015 (Figure 1).
Android apps hit the road
The Android operating system, on the other hand, was designed from the start to support mobile devices and has proved that it can serve more than mobile phones. Using the Android OS for in-vehicle entertainment provides all the entertainment features offered by a top-of-the-range, in-dash infotainment system with the addition of informative, driver-assisting content including hands-free calling, multimedia center, and a navigation system/Google maps. For an open source expandable system (whereby the framework can be extended and applications can be developed for it), the Android OS can be enhanced to support multiple audio and video feeds. For example, IVI audio requirements include music, phone calls, sensor warnings, and navigation announcements, which must be managed and prioritized. Managing multiple displays, with an information-focus for the driver and entertainment-focus for passengers, is also a requirement. The UI for the driver should be arranged to minimize distraction, while passengers will want as much content as possible from their UIs. But many automotive OEMs and developers ask, “Why not just use the Android smartphone and tie it into a vehicle’s dash?” Not only would this be more cost effective for the developer, but the user would have instant familiarity with the system.
One organization promoting the use of the smartphone as an IVI in-dash system is the Car Connectivity Consortium (CCC). The CCC provides standards and recipe books for tethering a smartphone to the infotainment head unit. The CCC members implement MirrorLink (Figure 2), a technology standard for controlling a nearby smartphone from the in-car infotainment system screen or via dashboard buttons and controls. This allows familiar smartphone-hosted applications and functions to be easily accessed. CCC members include more than 80 percent of the world’s automakers, and more than 70 percent of global smartphone manufacturers. The MirrorLink technology is compatible with Mentor Embedded’s GENIVI 3.0 specification Linux base platform solution.
A recent example of smartphone tethering can be found in certain subcompact models from U.S. auto manufacturer General Motors. Select Chevrolet models carry the “MyLink” in-dash infotainment system.
Linux and Android driving together?
Despite the strengths of and differences between these two popular platforms, recent embedded architecture developments now allow the Linux and Android operating systems to happily coexist. And this might be a very good thing. For example, Android can be hosted on top of Linux using Linux Container Architecture (LXC) (Figure 3). The resources, access control, and security of the Android client are managed by the host Linux operating system. For system designers concerned about the security of Android, this represents a good way to offer Android app access, and keep other system functions on a standard Linux platform. Multicore System-on-Chip (SoC) platforms make this architecture even more attractive, as there are sufficient resources for both Linux and Android domains to perform well simultaneously. The CPU resources can be shared, along with memory, graphics processing resources, and other peripherals. The output of the two domains can be recombined into a common Human Machine Interface (HMI) allowing the user to select functions from both domains.
Exciting times ahead
Both Linux and Android are extremely versatile and powerful operating systems worthy of consideration in IVI systems. We are still in the infancy stages in what these two open source platforms can do for IVI. Now is the perfect time to starting developing or to join a consortium so that you too can reap the fruits of what IVI promises down the road.
About Real-time and general-purpose operating..
Virtualization for embedded systems has many implementations in which two or more operating systems coexist to gain the benefits of each. One approach puts Microsoft Windows and a Real-Time Operating System (RTOS) together.
Much is being said about virtualization these days in the softwareworld. Simply stated, virtualization is about getting multiple OSs to run on the same computing platform at the same time. Virtualization has been cited as a key technology for getting the most performance out of the newest multicore processors. But just as not all computing applications are the same, not all virtualization approaches are appropriate for all applications.
Embedded Systems have a key requirement that doesn’t normally apply to office and server computers: the need for deterministic response to real-time events. To support the requirement for determinism, embedded applications typically use RTOSs. Embedded applications also employ general-purpose OSs to handle operator interfaces, databases, and general-purpose computing tasks.
In the past, because OSs couldn’t successfully co-reside on computing platforms, system developers employed multiple processing platforms using one or more to support real-time functions and others to handle general-purpose processing. System designers that can combine both types of processing on the same platform can save costs by eliminating redundant computing hardware. The advent of multicore processors supports this premise because it is possible to dedicate processor cores to different computing environments; however, the software issues posed by consolidating such environments require special consideration. Combining real-time and general-purpose operating environments on the same platform (Figure 1) places some stringent requirements on how virtualization is implemented.
3.Hardware-aided embedded virtualization
4.Leveraging Intel Architecture
5.Embedded virtualization saves costs
Missing layer of security in connected embedded devices
IDC is predicting that 15 billion intelligent devices will be connected to the Internet by 2015. This explosion in connected embedded devices has spawned a new generation of hackers targeting mobile devices, automobiles, medical equipment, and other systems. Alan discusses what these latest security threats to embedded devices look like and what steps companies should take to protect their devices from attacks launched via the Internet.